The world of computing has seen tremendous evolution over the past few decades. From the early days of enormous mainframe machines occupying entire rooms to today's invisible serverless functions running in the cloud, each stage of this journey has brought unique advantages and capabilities. We saw them in detail in our first lesson. Let’s revise that in brief.
Bare Metal Servers
In the early stages of computing, businesses that needed to host web applications had to purchase or lease physical servers, often referred to as "bare metal" servers. These are the actual hardware machines that we can see and touch. Imagine a tall rack filled with these servers humming away in a cooled room. The businesses were responsible for everything related to these servers - from operating system installation and updates, hardware maintenance, data backup, to load balancing for managing traffic spikes.
As technology evolved, virtual machines (VMs) were introduced. We can think of a virtual machine as a "computer within a computer." Instead of having one server running one application, a single physical server could now be divided into multiple, separate virtual servers, each running its own application. This was revolutionary, as it allowed businesses to better utilize their resources and save on hardware costs. However, even with VMs, there was still a considerable amount of manual management required.