I joined Srijan Technologies at the start of 2019. Also referred to as the Silicon Valley of India, I decided to opt for the Bangalore office. Traffic has been an issue in the city but since I lived close to the office it wasn’t for me until one day, when I had to attend the Kubernetes day.
The event was hosted in another city. And during my travel, I realized how bad the traffic is in Bangalore. Especially in the silk board junction. Once, back from the event, I tried to solve the problem hypothetically using Kubernetes at the core. I drew inspiration from the Boring Company tunnel which was used to solve the traffic in LA.
Kubernetes is a software system that allows you to easily deploy and manage containerized applications on top of it.
Solving the Problem
Similar to the LA concept we would need underground tunnels in Bangalore’s highly crowded places. The tunnel will carry the people to their destination using the pods/ autonomous bus. A Kubernetes pod is a group of containers that are deployed together on the same host. In our case, Kubernetes pod will have a single container for a pod. A pod is nothing but an autonomous bus which can carry passengers from one place to another.
These pods will be elevated up from the tunnel to the road for the passengers to board. Once the passengers are onboard the pod will be levelled down to the tunnels.
AutoScaling: As the number of requests exceeds the load a pod can handle. Kubernetes will auto scale the number to handle the incoming requests. In our case, we can consider the number of passengers in an autonomous bus has a number of requests the pod is experiencing.
As the number of passenger increase, the pod can replicate by getting nearby pod where the traffic is low. Or it can take the extra pods from the nearest Hub. A place of recharge, Hub also act as storage for the excess pods.
Stateful Sets: The recharge hub can be managed by Kubernetes' Stateful sets which are useful for applications which need predefined stable unique network identifiers, stable persistent storage, and graceful deployment. In our case, we can define stateful sets as any pods which are predefined to move from a particular source to destination.
Multiple Hub stations can be located in the city. So the pod requests can be managed from the nearest hub station. These are also the control station to monitor all the pods.
How will a pod move from its source to destination?
Pods can split and merge at a certain point in the route like the trains. But in our case, it is done autonomously. Hence there will be no wait time. The image shared below shows one of the scenarios where pod A and B travel together from point A to C. They split at point C and merge at point G.
This solution is not limited to the tunnels. We can use the same solution on the roads too since the pods can travel both on roads and tunnel.
In Bangalore or India, it is difficult to solve the traffic problem by using autonomous technology. If we use tunnels, it will take a lot of money and new technology to build it. And to run autonomous pods on roads it will take strict road rules to be implemented by the government and change mentality of Indian people to not to break rules.
I don't know if we can build the solution. But it's always good to dream.
The blog was originally published on Linkedin as Bangalore Traffic Solved using Kubernetes