The most well-known benefits of cloud-based platforms are the cost you pay for use and the ability to scale to near-unlimited resources. There is no need to purchase resources in advance of demand, nor do you need to estimate how much physical hardware and software you will need.
However, corporate IT departments need to know that scalability and cost are interconnected concepts in cloud computing. The more resources you use, the more you have to pay. Therefore, the cost of the cloud depends on the architectural pattern as much as the price of the resource itself.
When it comes to building a cloud-based system, cloud architecture really produces a lot of correct answers. Of course, you don't get punished for making the wrong decision. It is only less optimized. It hides the fact that if it works somehow, it costs twice as much as an architecture that is fully optimized for scalability and cost.
Architecture is a very important factor when deciding whether to refactor or rewrite an application to optimize it for a specific cloud platform. Or, it's also important when choosing core implementation technologies such as microservices, event-oriented, containers, or container orchestration. Together, these decisions determine the number of cloud bills you receive at the end of the month.
So, what should cloud architects think about in terms of cost and scalability? Here are some general architectural patterns.
Learn to tune cloud-based applications for the optimization of all cloud services your application needs. In other words, applications must be optimized to use minimal resources to process data and perform functions.
This architectural optimization was common when dealing with equipment in the early days of computing, in the 1970s with 8KB of memory. Developers these days aren't used to optimizing with this minimalism approach when writing applications. However, if you do this, you can minimize the cost increase for your application to scale faster and infinitely.
When the service is no longer needed, the allocation is released immediately. After provisioning cloud resources such as virtual servers, there are many cases where the used resources are not immediately recovered. In severe cases, once provisioned resources are never reclaimed, the zombie process eats up resources and increases costs. If you look closely at what's running in the cloud right now, at least 20 or more processes will do nothing and just eat money.
Identify scalability tradeoffs. It is good to allocate the necessary resources. However, it makes a big difference depending on how finely you allocate resources.
For example, if you allocate 1 terabyte of storage to a problem that can be solved in a few gigabytes, it is not optimized. The concept of using resources with a little margin can be a challenge. This is because the possibility of recovering the remaining resources to the resource pool is low.
In this respect, serverless computing is convenient. This is because only the resources to process the application are allocated and the used resources are immediately recovered to the resource pool. However, not all applications can be easily ported to serverless systems.
In fact, cloud computing isn't free. Getting systems to work is easy, but optimizing workloads for scalability and cost is still a new area of talent.
0 Comments