Deploying a Python web app onto a Kubernetes Cluster
Tarun Pothulapati (~Pothulapati) |
Kubernetes is considered as the new Kernel of the Cloud. It's a distributed computing platform letting users not have to care about infra and helping them concentrate mainly on business logic. By having your web app deployed on a kubernetes cluster you can make sure your app is highly available, and can fail-over when there's a problem.
One of the main goals of the Kubernetes project is to democratize distributed computing. With Kubernetes being open source, Companies do not have to redo the mundane task of writing a distributed computing platform to achieve high availability, automated deployment, scaling and management of your applications. Kuberentes will take care of that for you. Kubernetes is also considered as a container orchestrator, as it manages containers to achieve the above said goals.
In this talk:
We will first write a basic python web app.
Next, We will go through what a container is
Containers are becoming the de-facto way of deploying applications as they remove the complexities of dependency management,etc.
Running apps on Individual Containers provide the isolation almost to that of a Virtual Machine without having the overhead of having individual Kernels as they all share the host kernel. Isolation is provided by using kernel level features like cgroups and namespaces.
We will containerize the application using docker and push it to a Container Registry.
Once we have the image deployed to a registry, this image will be used to create instances i.e containers of the web app.
We will next create a kubernetes cluster on Azure, all along going through what a Kubernetes cluster is, and its components.
We will then deploy our python web app onto the cluster. Now As we have our python web app up and running, We can then do some experiments on how Kubernetes self-heals the application when a node goes down,etc.
After that I will run down some points on where Kubernetes is being used, its impact.
To Finally answer the question, Is Containers and Kubernetes worth all the Hype?
This talk will be demo focused, But before going to a demo we will have some slides explaining the overview of the components and how they work.
By the end of the talk, Audience will have a brief overview of what containers and kubernetes are, and how to deploy a web app on Kubernetes. From this overview, Audience can start digging deeper online and know more.
Understanding of Python.
Basic Understanding of Deployment of a web app.
It's good if you already have some basic understanding on what containers and kubernetes are.
Tarun Pothulapati is currently pursuing his B.Tech in Computer Science and Engineering in Hyderabad. He is a Tech Enthusiast and codes mostly in Python and C#.
He is very much interested in distributed computing platforms like Kubernetes and Microsoft's Service Fabric which are trying to democratize the technology which was before only a privilege of the Big-Tech firms. He spends most of the time learning about it and trying to contribute to their repositories.
He is also very enthusiastic about sharing the knowledge about these cutting edge technologies. Tarun has also worked on many projects on chatbots, Web apps etc and have won some hackathons held by IEEE, IBM & Amazon and he was one of India's 40 finalists of AICTE's Startup Contest 2017.