Today, we hear a lot of popular words around us, such as Docker, Containerization, Kubernetes or microservices. What do all these terms mean?
A Container is a running application along with everything it needs to run. It contains the application code along with the runtime environment and system libraries so that it can run anywhere.
Docker is a containerizational environment. It allows us to create, run, manage and transfer containers.
Kubernetes is an orchestration tool. It allows us to connect multiple servers with Docker to make them behave like "one big Docker" and adds a lot of interesting features to them.
Microservices is a kind of application architecture where sub-functionalities of an application are split into independent applications, often running in containers.