Föreläsning 2 - The common architecture types of IoT-based systems Flashcards
(30 cards)
What are the layers of IoT architecture in a 6-layer model? -
- The 3-layer architecture (perception layer, processing and storage layer, and application layer).
- The 4-layer architecture (adds the business layer to the 3-layer architecture).
- The 5-layer architecture (adds the network layer to the 3-layer architecture).
- The 6-layer architecture (adds the adaptation layer to the 3-layer architecture).
Explain the 3-layer IoT architecture -
- The perception layer consists of the physical objects and the sensor device.
- The processing and storage layer oversees analysis and stores the data gathered by sensors (Cloud computing, machine learning, and database software are being used to best handle the collected information.).
- The application layer provides the service requested by customers.
Explain the 4-layer IoT architecture -
The business layer fosters innovation by leveraging IoT data to identify new business opportunities, develop new products or services, and improve existing offerings.
Explain the 5-layer IoT architecture -
The network layer transfers information from the perception to the processing layer. The transmission medium can be wired or wireless, and technology can be 3G, UMTS, Wi-Fi, Bluetooth, infrared, ZigBee, etc,. Depending upon the sensor devices.
Explain the 6-layer IoT architecture -
The adaptation layer is an adapter that facilitates the interoperability of IoT heterogeneous devices.
Cloud-based IoT architecture -
Has unlimited processing and storage capabilities. Cloud models include: IaaS, PaaS, SaaS.
Service-Oriented IoT architectures -
They put the service at the centre of the IoT systems design.
Microservice-based architectures -
Microservices are small, independent applications that handle one specific task. They can be deployed, tested, and scaled separately from other parts of the system. Microservice architecture builds systems using many of these small services, based on Service-oriented Architecture (SOA) and virtualisation. This helps improve scalability and overall system quality.
Monolithic vs microservices -
- Monolithic is when the whole application is built as one single unit. All parts are connected, so it’s easier to develop at first but harder to scale and update.
- Microservices break the app into small, independent services. Each service does one job and can be updated, tested, and scaled separately, which makes it more flexible for larger systems.
Microservice advantages -
- Organizational alignment (teams can focus on smaller, independent services, speeding up development).
- Composability (easily compose a microservice to get new functionalities).
- Ease of deployment (allowing changes to be made to one service without affecting the whole system. Rollbacks are simpler, reducing downtime risk).
How to design a microservice -
- Bounded contexts (identify different areas within your domain, each microservice should handle a distinct function. Only share necessary data between them, keeping other data within their context.).
- Loose coupling (minimize dependencies between microservices, ensure changes to one service dont impact others, and each service should know as little as possible about others.).
Hidden models -
represent the internal data structure and logic within each microservice that are not directly exposed to other services. These models are hidden from the outside world and encapsulated within each microservice. E.g a user model that stores authentication data, used only by the authentication service and not shared with other services.
Shared models -
Shared models represent data structures or schemas that are shared and used by multiple microservices. These models serve as a common language or contract between services, facilitating communication and integration. E.g. a booking and inventory service shares a common model with the number of available cars, so both services know how many available cars.
Why should you avoid shared DB integration? -
- Schema changes affect everyone → One service changes the database = others may break.
- Blocks system evolution → Hard to switch from SQL to NoSQL if all services rely on the same DB.
- Limits tech choices → You’re stuck with DBs/languages that work well together (e.g., MySQL + Java).
Client-side service discovery -
Each microservice registers itself with the service registry(as when they are available). Service registry responds with the instance of the requested service to the client. Fewer network calls (just query service registry). Coupling between client and service registry.
Service-side service discovery -
Client sends a request to API gateway or load balancer. The load balancer or API gateway uses the Service registry to discover services. Separation of logic from client. Load balancer needs to be managed and replicated. Additional network hop.
Publish/subscribe IoT architecture -
MQTT client (publisher) → Topic → MQTT broker → Subscriber.
Architectural distribution patterns, name three -
With distribution, we refer to the deployment of a software system to hardware.
* Centralized architecture (all parts of the system run on a central server),
* Distributed architecture (system is split across multiple machines that work together)
* Decentrilized architecture (No central control, all nodes is independent, but can connect to others).
Advantages and challenges on a cloud-centric approach -
- → scalability (can handle massive IoT networks). Advances AI and Big data capabilities.
- Challenges → High network dependency (not ideal for remote aread). Privacy and security risks (data stored in third-party clouds).
What is an edge-centric approach? -
processing happens closer to the data source (edge device, gateways, local servers) instead of cloud. Reduces latency and bandwidth costs by analyzing data locally before transmitting only essential information. E.g. Autonomous vehicles are making real-time driving decisions using onboard AI.
Edge-centric approach advantages and challenges -
- Advantages → faster real-time processing, lower cloud storage and bandwidth costs.
- Challenges → required powerful edge devices, increasing hardware costs, complexity in managing distributed edge nodes.
What is an hybris (cloud-edge) approach? -
Combines cloud and edge computing for optimized performance, security, and scalability. Frequently used in industrial, smart city, and healthcare applications where real-time response is critical, but long-term data analysis is needed. E.g. Industrial automation with edge-based safety monitoring and cloud-based AI-driven process improvements.
Hybrid approach advantages and challenges -
- Advantages → balance real-time performance and long-term analytics, more control over security than pure cloud solutions.
- Challenges → complexity in implementation and management, required seamless synchronisation between edge and cloud.
Over the top (OTT) deployment -
Over-the-Top (OTT) IoT deployment delivers IoT services independently of the network, running on existing internet infrastructure, similar to how Netflix and YouTube operate without traditional cable or satellite.