[DevOps Series] Part 1: Some concepts and terminologies
Anyone who starts learning DevOps may think, βWhat the f*ck is all this stuff for? I just want to deploy my app.β Yes, starting with a simple Node.js backend is easy, but then you need to deal with Virtual Machines, Containers, Kubernetes, CI/CD, Nginx, IP addresses, domains, DNS, etc. Iβve been there too, so in this series, Iβll provide an overview of all these terminologies and concepts that weβll discuss in later chapters.
DevOps is a set of practices and tools that help organizations deliver software faster and more efficiently. It combines development (Dev) and operations (Ops) to create a seamless workflow that allows for continuous delivery and deployment.
Cloud services are provided by third-party providers like AWS, GCP, Azure, etc. You pay for what you use, and you donβt need to worry about the underlying infrastructure. For self-hosted solutions, you need to manage the infrastructure yourself, install the OS on your server, install the software, configure the network, etc.
Just like a real machine but running inside another machine. Some VM software like VirtualBox, VMware, etc. can help you create a virtual machine. Virtual machines run on your computer but with separate OS, network, etc. Cloud service providers like AWS, GCP, Azure, etc. also provide virtual machines.
You can just create a VM, install the environment, and run your app in it. But itβs not efficient because you need to install the same environment for each VM. So we need a way to package the environment and the app into a container.
When a single container is not enough to handle all requests, we scale it up, but when scaling multiple containers, itβs hard to manage all of them. Then we use Kubernetes, which is a container orchestration platform that allows you to manage containers across multiple nodes (a node is just a computer for easier understanding).
As you see in the world of DevOps, people create a tool to solve a problem, but the funny thing is that the tool creates another problem. So they will create another tool to solve the problem created by the first tool. :))) In this series, you will see this endless loop :v In this blog, I just show an overview of some terms that we talk about a lot in this series.
You donβt need to understand all of these now. Letβs just go to the next step of our journey: Chapter 2: A noob guy deploy his web app π»
| β Previous Chapter
π Introduction and Stories | DevOps Series
Chapter 1 of 16 | Next Chapter β
π A noob guy deploy his web app |