How Bosch  increases vehicle safety using map-matching algorithms and Azure Kubernetes Service.

How Bosch increases vehicle safety using map-matching algorithms and Azure Kubernetes Service.


What is Kubernetes?

Kubernetes is open-source orchestration software for deploying, managing and scaling containers.



What is Azure Kubernetes Service?

Microsoft Azure is a world-renown cloud platform for SMBs to large scale business, while Kubernetes is a modern-day approach that is rapidly becoming the regular methodology to manage cloud-native applications in a production environment. Azure Kubernetes Service (AKS) has brought both solutions together that allow customers to create fully-managed Kubernetes clusters quickly and easily.

AKS is an open-source fully managed container orchestration service that became available in June 2018 and is available on the Microsoft Azure public cloud that can be used to deploy, scale and manage Docker containers and container-based applications in a cluster environment.

Azure Kubernetes Service offers provisioning, scaling, and upgrades of resources as per requirement or demand without any downtime in the Kubernetes cluster and the best thing about AKS is that you don’t require deep knowledge and expertise in container orchestration to manage AKS.

AKS is certainly an ideal platform for developers to develop their modern applications using Kubernetes on the Azure architecture where Azure Container Instances are the pretty right choice to deploy containers on the public cloud. The Azure Container Instances help in reducing the stress on developers to deploy and run their applications on Kubernetes architecture.


No alt text provided for this image


Azure Kubernetes Service Benefits

  • Efficient resource utilization: The fully managed AKS 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: Developers spent most of the time on bug-fixing. AKS reduces the debugging time while handling patching, auto-upgrades, and self-healing and simplifies the container orchestration. It definitely saves a lot of time and developers will focus on developing their apps while remaining more productive.
  • Security and compliance: Cybersecurity is one of the most important aspects of modern applications and businesses. AKS integrates with Azure Active Directory (AD) and offers on-demand access to the users to greatly reduce threats and risks. 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: Azure Kubernetes Service (AKS) supports auto-upgrades, monitoring, and scaling and helps in minimizing the infrastructure maintenance that leads to comparatively faster development and integration. It also supports provisioning additional compute resources in Serverless Kubernetes within seconds without worrying about managing the Kubernetes infrastructure.


 DevOps workflow with Kubernetes


Use Case of Azure Kubernetes service.

BOSCH


No alt text provided for this image


When Robert Bosch GmbH set out to solve the problem of drivers going the wrong way on highways, the goal was to save lives. Other services like this existed in Germany, but precision and speed cannot be compromised. Could Bosch get precise enough location data—in real time—to do this? The company knew it had to try.

The result is the wrong-way driver warning (WDW) service and software development kit (SDK). Designed for 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.

Bosch invests heavily in research and development (R&D), staffing more than 70,000 employees in R&D alone. These R&D staffers, along with 27,000 software and IT experts and 1,000 AI specialists, help maintain its position as Europe’s top provider of automotive solutions.

With headquarters in Stuttgart, Germany, Bosch has partnered closely with the world’s automakers for decades. The company continues to develop networked safety and assistance systems that support drivers today and pave the way for fully automated driving.

When the product team brainstormed the idea to solve the problem of wrong-way driving, they did not know whether it was technically possible. For such a service to work commercially, it had to locate vehicles in real time with pinpoint precision.

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. For example, GPS-enabled smartphones are typically accurate within a 4.9-meter (16-foot) radius under open sky.

The Bosch team had to solve two major 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 a real-time data ingestion and processing pipeline capable of returning notifications to drivers within seconds. Bosch Technical Lead Hai Dang Le developed a proof of concept using only a small technology stack, adding, “We really went for it!”

The problem was speed. 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 10 seconds—the time estimated to make the solution viable.

The team decided to offload the work of scaling and cluster maintenance to a managed service in a public cloud with a global reach. Thanks to the trusted partnership Bosch had with Microsoft, Azure Kubernetes Service was the obvious choice. A team of Microsoft cloud solution architects worked closely with Bosch engineers, who provided valuable feedback to Azure product teams. Microsoft continues to work with Bosch teams around the world. Working together, they devised a solution that produced the speed Bosch needed.

The key was orchestration. 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: increased speed and reliability of deployments.

How the solution works

The wrong-way driver warning solution runs as a service on Azure and provides an SDK. Service providers, such as smartphone app developers and OEM partners, can install the WDW SDK to make use of the service within their products. 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. These data points are packaged as observations and sent in the frequency of 1 Hertz (Hz)—one event per second—via HTTP to the WDW service on Azure, either directly or to the service provider’s back end, and then to Azure. The SDK supports both routes so that service providers stay in charge of the data that is sent to the WDW system.

An architectural overview of the Bosch wrong-way warning driver service on Azure


An architecture for wrong-way driving

The point of ingress for the WDW service is Azure API Management, which works in combination with Azure App Gateway, a managed global load-balancing service that can perform Layer-7 routing and SSL termination. The gateway decouples clients from services and acts as a reverse proxy, routing requests from clients to services. 

Bosch uses API Management to send observations to an ingress engine (sendObservationAPI) and to send push notifications to client devices (sendPushAPI). “We use API Management like the entry door,” says Le. “It handles quota management, authentication of customers, and also terminates HTTPS for us.” To connect the microservices inside the cluster with API Management, the WDW service uses Traefik, an open-source reverse proxy that acts as ingress controller to ensure load balancing and dynamic discovery of the internal services by the Kubernetes API.

For years, Bosch developers had been using the Docker platform to containerize their code. For the first time, however, the WDW team hosted the Docker images in Azure Container Registry. “It was easy, safe, and secured to the outside,” notes Le. Azure Container Registry is compatible with the open-source Docker Registry v2, so the developers could use the same Docker CLI tools they already knew.

Within the first AKS cluster, the following apps process the streaming data:

  • The ingest app receives the data from the gateway and stores it in MongoDB.
  • The detector app does the heavy lifting by matching the location data on a map and then making the initial decision about whether the trip is suspicious.
  • The alert validator app is a post-validation component used to verify the differing road characteristics of various countries.
  • The data pump is solely tasked to persist data in an asynchronous way.
  • The push registry app handles egress—the broadcast of the push notifications to the service providers. The WDW service supports Android, Google, and Apple push notifications and offers an option that service providers can use to configure custom alert


Overview of Traefik connecting the microservices inside the cluster with API Management

The entire service is deployed using a CI/CD pipeline essentially lifted from on-premises and moved to Azure. Currently self-hosted in GitLab, the CI/CD pipeline is triggered when the code changes, at which point it automatically builds Docker images for every microservice. Each service is tested before being deployed into the AKS clusters.

AKS is deployed within a custom virtual network that keeps the applications isolated. “This allowed us to implement our security guidelines in a more elegant way,” explains Rode. “On the back end, our cluster is fully closed for external communication except through API Management. From a development perspective, it is very favorable for us to be able to deploy our apps in a very private virtual network environment.”


Bosch map-matching algorithm in action



Additional Azure services

One goal of the project was to take advantage of Azure platform as a service (PaaS) tools whenever they would save time or costs. For example, Azure Cache for Redis provides fast, in-memory storage, while Azure Database for PostgreSQL delivers a highly available relational database that requires almost no administration. In addition, the team plans to migrate to Azure Data Explorer, a fast, fully managed data analytics service for real-time analysis on large volumes of streaming data.

The team also used the following services:

  • Azure API Management provides the gateway to the back end. It pushes observations from client devices, currently serving about 6 million requests per day.
  • Azure App Service was used to build and host multiple internal front ends used by the team for debugging and monitoring. For example, a real-time dashboard shows all the drivers currently passing a hotspot. App Service supports both Windows and Linux and works with the team’s automated deployment pipeline.
  • Azure Content Delivery Network (CDN) uses the closest point of presence (POP) server to cache static objects locally, thus reducing load times, saving bandwidth, and speeding responsiveness of the WDW service.
  • Azure Databricks is an Apache Spark–based analytics platform designed to support team collaboration. It enables Bosch data scientists, data engineers, and business analysts to make the most of the WDW service’s big data pipeline.


Hope You Like It.

For any suggestion please DM me.

Thank you !!!??????


Archishman Ghosh

Cyber Security Professional @ TCS Digital | 2x AWS Certified Security Specialist | 3x Azure Certified | RedHat Certified | Kubernetes | Python | Cloud Security | Web Application Security | Network Security

4 年

Nice

回复

要查看或添加评论,请登录

Ritesh Chaudhari的更多文章

社区洞察

其他会员也浏览了