Cloud Computing is the term that describes providing the access to physical devices such as servers, databases and other through the internet with a pay-as-you-go pattern. In this way we can stop thinking at infrastructure as hardware, but use it as a software, in order to not have to buy servers and other stuff to deploy an application, but us to deploy it on the cloud and pay only for what we use.

Based on how much control and flexibility you have on the hardware, there are three different types of cloud service models:

  • IaaS - Infrastructure as a Service, that provides with infrastructure like servers, storage and networking;
  • PaaS - Platform as a Service, that also provides automatic management of the infrastructure resources, in order for you to focus on the deployment;
  • SaaS - Software as a Service, that provides a complete product to use. You don’t have to know how the product is maintained and what is the infrastructure below it, but you only car about using that particular software.

The main advantages of the cloud are:

  • We pass from capital expenses, which are expenses that have to be planned. In this case you have to buy whatever you need in the datacenter, even if don’t use it. With cloud solution, you just pay for what you use.
  • With economies of scale, the more the traffic, the more the discount on the price.
  • Estimating capacity it’s not needed anymore, since the system can scale automatically depending on the demand of the customers.
  • More agility, since without cloud you need to wait weeks before having new resources, while on the cloud you just need to wait a few minutes.
  • You can deploy globally the application in a matter of minutes, because of the servers distributed geogrpahically, the users will have lower latency.

cloud