An application needs an infrastructure over which it can run. Depending on the type of application that is there, the infrastructure that's required may be changed. The choice of which infrastructure to choose for the deployment of the application is greatly influenced by the type of the application that is being deployed, the complexity of the application, and the kind of use cases the application is going to support.
Another important factor while choosing the infrastructure for the deployment of the application is the concern for the scalability of the application, which includes the complexity with which we can scale the application up and the type of scaling we can employ.
First let's take a look at the traditional ways of deploying the applications and understand the issues that happened that provided a push for the move toward...