Virtualization and automation

Running on bare metal has its benefits: you can get the maximum out of your hardware, latency of operations is minimal, and you can argue that it takes away some complexity from your system design. But managing physical machines is a challenge that requires ongoing administrative operations. In addition, in many cases, buying expensive hardware is not cost-effective because systems tend to use the hardware for a fraction of the total time the machines are running and utilize the full hardware power even less than that. For example, consider an application that provides vacation planning services: it makes sense that this application will be very busy when a holiday is approaching, but for the rest of the time, it will be pretty much idle. Still, you'll have to pay for hardware that is capable of running the maximum load of the system.

Virtualization, on the other hand, abstracts the host you're running on from the actual hardware and allows you to share the infrastructure between multiple applications and workloads. With virtualization, you can start by providing an application with a certain amount of resources and giving the rest to another application, and later on, when needed, reduce the resources from one and give it to the other. All this happens without making any changes to the running application or restarting it.

Virtualization existed many years before the term cloud was even coined, but what makes the cloud different from classic virtualization is the ability to automate the procedures that are needed to provision servers, network, and storage, and make the system self-adjusted based on the real usage that takes place in production. You see, until the cloud, when a development team needed a resource of some kind in their environment, there was a lot a bureaucracy that was needed until the resource was provisioned. With the cloud, which embraces virtualization and automation capabilities, development teams can now self-serve themselves and be more agile. These are the main strengths of running in the cloud:

  • Access to virtually infinite resources 
  • Being elastic and changing resource capacity on demand
  • Adjustable pricing model—pay for what you use

The cloud gives you the freedom to choose what's best for your application, and there are a few models you can choose from.

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

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