Sitecore with Docker & Kubernetes

Ghanendra Singh
------This is a draft version and in development------- This blog is intended for those developers who are seasoned in Sitecore development but beginners in Docker & Kubernetes. Like me, you will have lots of questions about this kind of development. We will try to answer these questions.
Why Sitecore development with Docker & Kubernetes?
This question will haunt many developers during their containerized Sitecore setup phase. If you have someone on team who has already done this in a project, you are lucky. A project may choose Docker & Kubernetes due to following reasons -
1. Many clients have go-cloud strategy and they are strict about containerized development as other projects are follwing the same strategy.
2. Containerized environments can help client save cost on resources.
3. It is easy to recreate new environments or set up new development machines using containers (remember Infrastructure as code)
And so on.. you will find more reasons why containers are being used but the bottomline is, the decision has been made and you have to work on it.
What is the difference between Docker and Kubernetes?
Docker helps you to run container applications. You can read more about it, but the bottomline is Docker is what you need to work with containers.
Then what is Kuberenetes? Lets visualize that you have created your containerized application with the help of Docker. Next, you need to take it a QA server and finally to PROD server. How will you do that? You will definitely need a tool that helps you deploy your containerized applications to higher environments. This facility is orchestrated by Kubernetes.
Dont we deploy containerized application on our local Sitecore instance? Yes, we do. But we dont use Kubernetes for it. We use Docker Compose which is also a container orchestration framework like kubernetes.
Bottomline - Docker and Kuberenetes are different. You have to get well versed with both if you have to setup a containerized Sitecore application end to end.