The Era of Physical Machines

Once upon a time, most applications ran on physical servers. To avoid conflicts, as few applications as possible were run on a single server, sometimes even just one application. In that era, a common scenario would unfold: when business expansion required adding a new application, the IT department needed to purchase a new server. Even if the old servers had idle resources, no one wanted to touch them because no one knew what pitfalls might arise when deploying applications.

As business expanded, the number of servers gradually increased, and the problem faced was low resource utilization. Application environment deployment was very time-consuming. I once saw an operations engineer at a telecom data center take two full days to deploy a brand new server before it could go online.

The Era of Virtualization

To solve the above problems, VMware gave the world a gift—virtual machines (VM). Then almost overnight, the world became a better place! Enterprises finally had a technology that allowed multiple applications to run simultaneously on one server in a stable and secure manner.

This greatly improved server utilization, and for enterprise IT personnel, the management approach became simpler. It also implemented features such as virtual machine clusters and fault migration. At that time, so-called desktop virtualization was even popular, which connected clients to virtual desktop systems on the server, with all computing tasks performed by the server. This approach significantly improved the efficiency of IT operations personnel in managing enterprise systems!

With the rapid development of the internet and the explosive growth of users, we faced issues such as performance and high availability. Although virtualization improved the efficiency of system and application deployment, it was impossible for virtual machines to deploy and launch an application within seconds.

The Era of Containerization

In the virtual machine era, resource utilization was improved, but at the same time, virtual machines also caused waste of CPU, memory, disk, and other resources.

Linux Container

In recent years, technologies that have had a significant impact on container development include Kernel Namespace, Control Group, Union File System, and of course, Docker.

The Battle in Container Orchestration

With the development of Docker and more and more enterprises running their businesses on containers, a new problem arose: container orchestration. So Docker’s founding team developed Docker Swarm. Subsequently, Google open-sourced Kubernetes, which quickly became the leader in the container orchestration field after its release.

Conclusion

From physical machines to virtual machines, and then to containers, earth-shattering changes have occurred for operations management personnel. DevOps has become popular in the industry, and some say this trend will weaken the operations profession. We don’t know what the future will be like, whether the next hot topic is Cloud Native or Serverless, let’s wait and see.

I hope this is helpful, Happy hacking…