How kubernetes can help you quickly and automatically test and deploy new services
While Kubernetes is primarily associated with managing cloud-native applications and microservices, it can also play a role in IoT deployments. Here are a few reasons why Kubernetes is relevant in the context of IoT:
1 Scalability: IoT systems often involve a large number of devices generating massive amounts of data. Kubernetes provides automatic scaling capabilities, allowing IoT applications to scale horizontally by adding or removing instances based on demand. This helps manage the increasing workload efficiently.
2 Resilience and High Availability: IoT applications require high availability to ensure uninterrupted operations. Kubernetes offers features like load balancing, fault tolerance, and self-healing capabilities. It can automatically restart failed containers or replace them with healthy instances, ensuring that IoT services remain available and resilient.
3 Resource Optimization: IoT deployments typically involve a mix of hardware devices with varying capabilities. Kubernetes can optimize resource utilization by efficiently distributing workloads across devices. It allows you to define resource constraints and priorities, ensuring that devices with higher capabilities handle more demanding tasks.
4 Service Discovery and Load Balancing: In an IoT ecosystem, devices and services need to discover and communicate with each other. Kubernetes provides built-in service discovery mechanisms, such as DNS-based service discovery and load balancing, allowing devices to locate and interact with services dynamically.
5 Security and Updates: Security is a crucial aspect of IoT systems, and Kubernetes helps in managing security at scale. It provides features like role-based access control (RBAC), network policies, and secret management to enforce security measures across IoT deployments. Additionally, Kubernetes facilitates rolling updates, allowing for seamless updates and patches without downtime.
6 Flexibility and Portability: Kubernetes abstracts the underlying infrastructure, enabling IoT applications to be deployed consistently across different environments, whether it’s on-premises, in the cloud, or at the edge. This flexibility allows organizations to migrate or distribute their IoT workloads as needed, making it easier to adopt hybrid or multi-cloud strategies
2. What do I mean for IoT
Requirements:
4GB RAM
20GB ROM
2 core
Runs LINUX
3. What do I mean for IoT
Requirements:
4GB RAM
20GB ROM
2 core
Runs LINUX
4. What do I mean for IoT
Requirements:
4GB RAM
20GB ROM
2 core
Runs LINUX
And many more...
5. Why computing at the Edge?
The only reason to consider
new technologies should be that
it drives value and/or simplifies
the work
6. Why computing at the Edge?
The only reason to consider
new technologies should be that
it drives value and/or simplifies
the work
McKinsey has identified over
100 different use cases and
potentially $200 billion in
hardware value being created
over the next 5-7 years for edge
computing
Vehicles Smart Home Industry
Renewables Appliances Robotics
8. Scalability
• Is a system’s capacity to manage an increasing quantity of work efficiently by
leveraging additional resources
• microk8s kubectl scale … --replicas=6
• Autoscaling vertical and horizontal
9. Scalability
• Is a system’s capacity to manage an increasing quantity of work efficiently by
leveraging additional resources
• microk8s kubectl scale … --replicas=6
• Autoscaling vertical and horizontal
10. Scalability
• Is a system’s capacity to manage an increasing quantity of work efficiently by
leveraging additional resources
• microk8s kubectl scale … --replicas=6
• Autoscaling vertical and horizontal
11. Load balancing
• A Kubernetes load balancer service directs client requests to the nodes that can process
them fast and effectively. The load balancer redistributes its duty across the remaining
nodes when one host fails. On the other side, the service begins automatically forwarding
requests to PODs associated to new nodes when they join a cluster
• Kube-proxy:
• Round Robin
• Ring Hash
12. Load balancing
• A Kubernetes load balancer service directs client requests to the nodes that can process
them fast and effectively. The load balancer redistributes its duty across the remaining
nodes when one host fails. On the other side, the service begins automatically forwarding
requests to PODs associated to new nodes when they join a cluster
• Kube-proxy:
• Round Robin
• Ring Hash
13. High
availability
• Is the ability of a system to remain
operational and accessible for a significant
period, minimizing downtime even in the
face of hardware failures, software issues,
or other disruptions
• The ability to keep devices updated after
deployment and connect them to external
data sources is one of the primary factors
behind the successful evolution of edge
computing.
• But keeping a device always running
exposes it to manyattacks
14. High
availability
• Is the ability of a system to remain
operational and accessible for a significant
period, minimizing downtime even in the
face of hardware failures, software issues,
or other disruptions
• The ability to keep devices updated after
deployment and connect them to external
data sources is one of the primary factors
behind the successful evolution of edge
computing.
• But keeping a device always running
exposes it to manyattacks
15. High
availability
• Is the ability of a system to remain
operational and accessible for a significant
period, minimizing downtime even in the
face of hardware failures, software issues,
or other disruptions
• The ability to keep devices updated after
deployment and connect them to external
data sources is one of the primary factors
behind the successful evolution of edge
computing.
• But keeping a device always running
exposes it to manyattacks
16. Security • Uses the whole containerization
technology
• Authorization and authentication already
implemented in various way:
• Signed certificates
• Tokens
• ...
• microk8s enable rbac
17. Updates
• In the past, there were far fewer devices deployed in the field, and they typically remained
in a fixed state throughout their entire lifecycle
• Supports :
• OTA updates
• Rolling updates: strategy for updating applications or services without incurring downtime. It
involves gradually updating instances of an application or service while ensuring that the overall
system remains operational and accessible to users
• Roll back on failure
18. Updates
• In the past, there were far fewer devices deployed in the field, and they typically remained
in a fixed state throughout their entire lifecycle
• Supports :
• OTA updates
• Rolling updates: strategy for updating applications or services without incurring downtime. It
involves gradually updating instances of an application or service while ensuring that the overall
system remains operational and accessible to users
• Roll back on failure