Azure Kubernetes & It’s Industry use case
Kubernetes is an open-source system that is an extensible, portable platform used for automating deployment, scaling, managing containerized workloads and services(deploying, managing, and scaling), that facilitates both declarative configuration and automation.
What is Azure Kubernetes?
Azure Kubernetes Service (AKS) is a managed service provided by Microsoft Azure that offers serverless Kubernetes, an integrated continuous integration and continuous delivery (CI/CD) experience, and enterprise-grade security and governance with easy deploy and manages the facility. It provides the facility to unite the development and operations teams on a single platform to rapidly build, deliver and scale applications with confidence.
How Kubernetes work?
With the increase in containers of the application that is deployed on multiple servers, operating them becomes more complex and a tedious task. To overcome this Kubernetes provides an open-source API that controls how and where those containers will run.
Kubernetes is an orchestration management tool whose responsibility is to orchestrates clusters of virtual machines and schedule the containers to run on those virtual machines based on their available compute resources and the resource requirements of each container. Containers are grouped into pods (basic fundamental operational unit for Kubernetes) and those pods scale to our desired state. Kubernetes is also responsible for managing service discovery, incorporates load balancing, tracks resource allocation, and scales based on computing utilization. And, it checks the health of individual resources and enables apps to self-heal by automatically restarting or replicating containers.
Benefits of Azure Kubernetes
- Efficient resource utilization: It offers easy deployment and management of containerized applications with efficient resource utilization that elastically provisions additional resources without the headache of managing the Kubernetes infrastructure.
- Faster application development: It reduces the debugging time while handling auto-upgrades, self-healing, etc, and simplifies the container orchestration. It saves a lot of time and developers will focus on developing their apps while remaining more productive thus application deployment becomes faster.
- Security and compliance: It integrates with Azure Active Directory (AD) offers on-demand access to the users to greatly reduce threats and risks. AZ also provides comprehensive authentication and authorization capabilities. AKS is also completely compliant with the standards and regulatory requirements such as System and Organization Controls (SOC), HIPAA, ISO, and PCI DSS.
- Quicker development and integration: It supports auto-upgrades, monitoring, and scaling and helps in minimizing the infrastructure maintenance that leads to comparatively faster development and integration.
Features of Azure Kubernetes
- An open-source environment with enterprise commitment — Microsoft has tried to make Kubernetes easier for the businesses and developers to use and participate in open-source projects and became the third giant contributor to make Kubernetes more business-oriented, cloud-native, and accessible by bringing the best practices and advanced learning with diverse customers and users to the Kubernetes community.
- Nodes and clusters — All the apps and supporting services are running on Kubernetes nodes and the AKS cluster is a combination of one or more than one node. And, these AKS nodes are run on Azure Virtual Machines. Nodes that are configured with the same configuration are grouped called node pool. Nodes in the Kubernetes cluster are scaled-up and scaled-down according to the resources are required in the cluster.
- Role-based access control (RBAC) — It integrates with Azure Active Directory (AD) to provide role-based access, security, and monitoring of Kubernetes architecture based on identity and group membership.
- Integration of development tools — It supports development tools such as Helm and Draft, and they are seamlessly integrated with AKS where Azure Dev Spaces to provide a quicker and iterative Kubernetes development experience to the developers. Even AKS also offers support for Docker image format and can also integrate with Azure Container Registry (ACR) to provide private storage for Docker images.
- Running any workload in Azure Kubernetes Service — Orchestrating any type of workload running in the AKS environment is quite easy. One can move .NET apps to Windows Server containers, modernize Java apps in Linux containers, or run microservices in Azure Kubernetes Service. AKS will run any type of workload in the cluster environment.
- Removes complexities — It removes your implementation, installation, maintenance, and security complexities in Azure cloud architecture.
Azure Kubernetes Service Use Cases
- Migration of existing applications: One can easily migrate existing apps to containers and run them with Azure Kubernetes Service.
- Simplifying the configuration and management of microservices-based Apps: It also simplifies the development and management of microservices-based apps as well as streamline load balancing, horizontal scaling, self-healing, and secret management with AKS.
- Bringing DevOps and Kubernetes together: It is also a reliable resource to bring Kubernetes and DevOps together. Using both together improves the security and speed of the development process with Continuous Integration and Continuous Delivery (CI/CD) with dynamic policy controls.
- Ease of scaling: It can be integrated with Azure Container Instances (ACI) and AKS to provide ease of scaling. Using ACI we can provision AKS virtual node to provision pods inside Azure Container Instance (ACI) that start within a few seconds and enables AKS to run with required resources. If your AKS cluster is run out of resources, it will scale out additional pods automatically without any additional servers to manage in the Kubernetes environment.
- Data streaming: AKS can be used to ingest and process real-time data streams with data points via sensors and perform quick analysis.
- Machine Learning model training with AKS: Training of models using large datasets is a complex and resource-intensive task. Use familiar tools such as TensorFlow and Kubeflow to simplify the training of Machine Learning models.
Industry Use case
Bosch is a leading supplier of technology and services in the areas of Mobility Solutions, Industrial Technology, Consumer Goods, and Energy and Building Technology. Their connected mobility provides the facility of car and other vehicles with connected mobility with the Internet of things. A car that parks itself and that can be unlocked and started simply by using a smartphone, and a system that warns drivers about the tail end of a traffic jam around the next bend. E-scooters that can be rented by an app on the spur of the moment. Around the world, they were working on smart mobility concepts like these — and many more — to make driving even safer and more relaxed.
It was noticed that the drivers were going the wrong way on highways, the goal was to save lives. There were other services as well but the precision and speed weren’t good. It can’t be compromised. The challenge for Bosch is to get precise location data in real-time.
It was resolved by the wrong-way driver warning (WDW) service and software development kit (SDK) which was designed to use by app developers and original equipment manufacturers (OEMs), the architecture pivots on an innovative map-matching algorithm and the scalability of Microsoft Azure Kubernetes Service (AKS) in tandem with Azure HDInsight tools that integrate with the Apache Kafka streaming platform. They tried to solve the problem with the fact Smartphones or an onboard connectivity unit can anonymously record GPS coordinates and can send that location data to the cloud if the device is in a hotspot area, but GPS satellites broadcast their signals in space with only limited accuracy. What is received depends on many factors, including satellite geometry, signal blockage, atmospheric conditions, and the design and quality of the receiver. They were facing two main issues first, to get the last piece of information out of the noisy sensor data; and second, to develop a highly scalable and ultra-flexible service to process the data in near real-time. The question was how to build real-time data ingestion and processing pipeline capable of returning notifications to drivers within seconds. The team assumed that devices emitting location information, such as smartphone apps and automotive head units, could eventually send thousands of data points to the solution per second, from all over Europe and eventually other countries. Bosch needed lightning-fast compute capable of filtering events and pushing a notification back to an end device within seconds. The team considered offloading the work of scaling and cluster maintenance to a managed service in a public cloud with a global reach. By orchestrating the deployment of containers using AKS, Bosch would get repeatable, manageable clusters of containers. Bosch already had a continuous integration (CI) and continuous deployment (CD) process to use in producing the container images and orchestration. The result is the increased speed and reliability of deployments. The company used few other services of Microsoft Cloud such as Azure API management, Azure Content Delivery Network, Azure App Service, and Azure data bricks.
The wrong-way driver warning solution runs as a service on Azure and provides an SDK and it can be downloaded on the system. The SDK maintains a list of hotspots within which GPS data is collected anonymously. These hotspots include specific locations, such as segments of divided highways and on-ramps. Every time a driver enters a hotspot, the client generates a new ID, so the service remains anonymous. When a driver using a WDW-configured app or in-car system enters a hotspot, the WDW SDK begins to collect GPS signals and sensor events, such as acceleration and rotational data and heading information. If the WDW service determines that the driver is going the wrong way within a hotspot, it sends a notification to the originating device and to other drivers in the vicinity who are also running an app with the WDW SDK.