The traditional infrastructure

In the past, when the applications used large monoliths to perform a number of business processes, the developers and the organizations used to resort to an infrastructure that was composed of large mainframes or virtual machines running over beefy servers to provide the adequate amount of resources required to run the applications.

These bare metal machines or virtual machines were provisioned with all the requirements that are essential for running the application, and then the application was deployed on these machines and made available to users for general use.

This kind of infrastructure choice worked well and even allowed multiple applications to exist on the same beefy bare metal server, isolated through the use of virtual machines, abstracting away the hardware of the server.

However,  this approach was plagued by a number of issues, such as the following:

  • High cost of infrastructure: For deployments that utilized bare metal systems or virtual machines, the cost of infrastructure was high. The organizations either needed to purchase those beefy servers that were capable of running these applications, or had to resort to dedicated hosting providers, which used to cost a lot.
  • Increased overhead: For any application that was running inside a virtual machine, the overhead incurred by running a full-fledged virtualized operating system that supported the application was very high, greatly reducing the number of applications that could coexist on the same hardware.
  • High start up times: As the load increased, new instances of the application needed to be spawned up to handle the increased number of incoming requests. However, starting the complete virtual machines with the application instances running inside them was a slow procedure due to the whole process that needed to be carried out for a virtual machine to boot up.
  • Difficulty in scaling: In the traditional infrastructure, the amount of horizontal scaling that could be done was very limited, and usually the only choice left for scaling the applications up was through the use of vertical scaling, where the resources dedicated to the application were increased based on the needs.

These drawbacks made the developers think about the alternatives to the traditional way of deploying applications.

Another major reason that fueled this move away from using the traditional infrastructure was the move toward the containerized approach to application packaging. Let's take a look at what this is.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.118.226.66