Increasingly now, companies of all sizes are demanding microservice architectures that must be resilient and scalable. In this context, cloud computing is offering a solution to these needs that brings a number of advantages in this regard.
First of all, cloud computing is a concept that has been around since the 1960s but has only become popular in the last two decades.
It refers to providing computing resources, such as servers, storage, databases, as well as software, "on-demand" through the Web, rather having them on a local server.
Cloud computing is growing rapidly, and now major technology players offer distributed cloud platforms (Google, Amazon, Microsoft..) that have the characteristic of being flexible according to resource needs and budget.
Basing your own microservices architectures on the cloud has several advantages.
Cost optimization: Maintaining infrastructure in-house comes at a significant cost, not so much for the cost of the hardware, but for of all the necessary outline, such as setup, IT personnel to maintain it, energy...
Cloudizing, the cost of the infrastructure and its maintenance as well as any technology upgrades is borne by the service provider.
In many cases, operational cost savings can be as high as 35% compared to an in-house solution.
Resilience: In terms of resilience and eventual disaster recovery, cloudization also offers a significant advantage, as service providers already have considerable experience in this regard and take charge, often deploying backup infrastructures to locations around the world.
Scalability: This is definitely one of the strengths of this solution, as, in case it is necessary to increase physical resources (CPU, RAM..), it is enough to vary the plan chosen with the service provider, who has ample availability of resources.
Security: Is a central issue especially regarding privacy and GDPR, which are high-sensitivity topics, but companies often fail to take on the tasks necessary to maintain a high security stantard. Again, the cloud host takes charge of implementing the necessary measures and monitoring any data breaches.
Clearly there are also points of attention, and they need to be taken into account carefully consider the critical steps of the cloudized model.
Cost optimization: No, it is not a mistake, they are also present in the potential disadvantages. In fact, it is not always convenient to cloudize your infrastructure with your eyes closed, an accurate analysis must be carried out and it must be assessed whether and which parts to migrate to the cloud and which to keep in-house.
A very important aspect of management is monitoring the consumption of the resources used. In fact, it is not enough to request a quantity of resources from the provider that is initially considered sufficient and then stop worrying about it: it is essential to periodically carry out an analysis of the resources actually used by the microservices.
First of all this allows us to identify any anomalous uses of resources, which can be fixed by intervening on the software side. It also allows to evaluate whether it is possible to reduce the resources required to lower the costs of the plan agreed with the provider.