The presentation discusses the benefits and challenges of using Kubernetes for Cloud Native applications.
- Kubernetes can automate tasks and make applications more resilient
- Automatic health checking and load balancing are important features of Kubernetes
- Kubernetes is a complex abstraction layer that requires learning and debugging
- Deploying applications as Kubernetes deployments involves writing YAML files that specify desired state
- Connecting backend and frontend pods in Kubernetes requires service objects
The speaker uses the example of Taylor's company, which has started packaging their application into containers and wants to migrate to Cloud Native. They begin by deploying their application as a Kubernetes deployment with a backend and frontend container. However, they need to connect the backend pods to the frontend pods using service objects.
Before containers took over the world, a VM was the atomic unit that we used for firewalls, for load balancers and for auto-scaling. Today, some tools and cloud provider services are still centered around VMs, like load balancers that mostly support forwarding traffic to VMs, creating an additional challenge to adopt containers. So, what do you do when you need to configure the cloud load balancer to forward traffic to VMs, but you don’t know on which VMs your container will be running? Or how do you limit connectivity between two apps, if your firewalls rules limit connectivity between VMs and you don’t know on which VM your container will be scheduled? Is all your previous knowledge obsolete now? What new security measures do you need to implement when doing the switch? During this talk we will guide you through the paradigm changes you need to accept to successfully migrate to containers and let go of VMs. Based on our experience of doing this for several companies, we will go through the biggest challenges a cluster administrator faces when migrating to containers in the cloud, including load-balancing, managing firewalls, autoscaling while running them securely. By the end of this talk, you'll be ready to embrace containers as the new VM.