Making Kubernetes simple for developers
Kubernetes is very powerful, flexible and production grade container orchestration system. It’s flexibility also brings with it lot of verbose constructs.
It’s hard for developer to define the configurations of Kubernetes. Also Kubernetes configurations are not just application definition they also contain config of how to deploy application. So it’s unfair to expect that a developer will write an application, learn Kubernetes and define how to deploy that application on Kubernetes.
Developers need something simple that can easily define their micro-services. Right now docker-compose gets closest to solve this problem. But ideally you would like to move to production system that would be running Kubernetes. How do we get developers using docker-compose to use Kubernetes? And how well does docker-compose map to Kubernetes? Kompose comes to rescue, but it might not be the full fledged solution since it is limited by docker-compose.
So we need a solution that is native to Kubernetes and is simple to use for developers. And that is what me and my team envisioned and are building, we call it OpenCompose. How does OpenCompose make developers’ life easier with Kubernetes?
I would like to show working demo and examples that will showcase the problem space and the solutions we are building with Kubernetes community.
The developer will learn the new way of defining applications for Kubernetes which is native to Kubernetes.
Easy ways to ramp up with Kubernetes.
Moving from docker-compose running on your laptop to Kubernetes running on production machine.
Developers who want to build applications that are going to be containerized and will be deployed to production grade container orchestration system like Kubernetes.
Developers who use Kubernetes locally when doing development.
Folks who are familiar to docker-compose and are afraid of the learning curve of Kubernetes.
Folks who know basics of Kubernetes.
This talk will showcase the transition of the developer who wants to deploy her application in this new world of containers.
The journey of containerizing application to having multiple containers to moving all those containers to orchestrations systems in production.
In doing all this how tools like docker-compose, kompose, OpenCompose help her in various stage of her journey will be demoed.
Also limitations and advantages of various tools in different environment(dev/prod) will be focused on.
Suraj Deshmukh contributes to project Kompose and OpenCompose in upstream. He has presented in FOSDEM, DevOpsDays India, GopherCon India and local meetups.
He is involved in these projects from the time of their inception, so knows these projects pretty well. He is active in the local container related meetups like Docker Bangalore, Kubernetes Bangalore meetup, CNCF meetup group. He ocassionally contributes to OpenShift(which is Kubernetes distribution), cri-o, libcompose, etc.
He works as Software Engineer at Red Hat, in Developer tools team where he builds tools that help developers build and deploy containerized applications.
- Kompose project: http://kompose.io/
- Kompose demo: https://youtu.be/30DW39z1EXw?t=28 (till 8m5s, includes my lightning talk at DevOpsDays India)
- OpenCompose project: https://github.com/redhat-developer/opencompose/
- OpenCompose demo: https://youtu.be/YVpIuy1HgnQ?t=296 (till 22m52s, demo by my team-mate at Kubernetes sig-apps meeting)