Xebia @ 6th Annual NASSCOM Technology Conference 2019
A team from Xebia lead by Shekhar Gulati recently delivered a workshop on Kubernetes at NATC 2019. The byline for the conference was “INDUSTRIALIZATION OF DISRUPTIVE TECHNOLOGIES” and our team conducted a 4 hour deep dive session “Become Kubernetes Expert — From Zero to Hero in 4 hours”.
The intent was to deliver a hands-on session to educate participants on the Kubernetes concepts required to run and manage applications at scale.This meant going all the way from introducing microservices to managing microservice orchestration through service meshes — a lot to cover in 4 hours.
While it was a hands-on, people would not follow along with us owing to infrastructure and time constraints. So we had to conduct a live demo and provide resources that interested audience members could then use later as a primer.
We initially debated whether to include extensive infrastructure related content in the session but then decided against it. Our team has recent experience deploying vanilla on-premise Kubernetes in production and it could have been interesting to cover best practices of Kubernetes installation on VMs and detail how the components interact.
Also we were aware that Google would be conducting their Deep Dive session in the morning, showcasing Anthos (GKE on-prem) at NASSCOM, and we wanted to avoid an overlap with Google.
Being developers ourselves we were interested in focusing on the Kubernetes design principles and the abstractions it provides for packaging and running applications.
We picked minikube for the hands-on. For a participant to follow along independently, Minikube made things very simple, and we wanted the demo to be easily executable on a simple laptop.
After some discussion we decided on the following broad agenda for the session.
- Microservices and Cloud Native Architecture
- The need for Docker containers
- Building & Running Container Images
- Getting started with Kubernetes on minikube
- Kubernetes primitives
- Environment variables and ConfigMaps
- Service to service discovery & load-balancing
- Liveness and readiness probes
- Release management with Helm
- The capabilities provided by Istio service mesh
We prepared a couple of sample walk-throughs on Github to demo the concepts which people could run through on their own later.
Stepwise instructions on running the workshop examples.
Sample code for the Istio demo.
Our session met with a lot of interest — primarily from people looking to start their containerization journey — fielded a ton of questions, more or less successfully, and had an enlightening time.
As it turned out, we did get a lot of questions on the core internals of Kubernetes — hopefully from leaders evaluating its suitability for their IT transformations. As this is a complex topic, people had a lot of deep dive questions about Kubernetes infrastructure.
Which was very gratifying for us, but also daunting as diving deep into topics like networking and storage wasn’t in our agenda.
Other questions people had:
- Cost comparisons and projections of different hosted cloud Kubernetes.
- Lots of questions around Docker and other orchestrators e.g. Nomad.
- Kubernetes for Windows containers.
People were still approaching us about our session the next day, which seemed like a good measure of success.
As a Java developer, I feel like this is what the initial adoptions of the JVM must have felt like — A re-platforming which touches every part of your tech stack. Kubernetes is in an evolving state via the CNCF and it’s an exciting time to work in the ecosystem.