Manually provisioning infrastructure

The challenge of provisioning infrastructure is that it used to be a very manual process. For example, administrators would follow the steps described in a manual by clicking items on a user interface, running a set of commands, or logging into the servers and editing configuration files. This became more and more challenging with the growth of cloud computing and web frameworks that started to scale out. This could just be done with a monolithic architecture and their shared web servers or application servers. However, with the microservices architecture, there are different web servers and databases developed using different languages, and thousands of services running that need to be tested, built, and deployed independently.

There are a lot of efforts in deploying services manually in terms of cost, and also in terms of the ability to maintain such configurations at scale. The deployment of services has become slower to scale up and also to recover from any errors, as you would have the administrator, for example, remotely connecting via SSH onto your box, rebooting the machine, or trying to understand what the issues were and actually changing the configuration many times for many machines. It's also very difficult to test and make any process repeatable. Any configuration changes, done either by using a user interface or editing configuration files on one server, were not very repeatable and also prone to human error or misconfiguration. For example, we were using the AWS Management Console in the previous chapters. Had you made some errors in any of the configuration, you would have to go back, diagnose the issue, and fix it, which is very time-consuming.

In the next section, we will talk about infrastructure as code and how it helps to resolve the issues we have with manually provisioning infrastructure or deploying services.

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

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