The evolution of cloud technology has shifted focus away from resource optimization. In an article on ITPro Today, Christopher Tozzi highlights that thanks to the cloud, it no longer a top priority to optimize the way software consumes due to unlimited and cheap resources.
Unlimited resources
The risk of your app shutting down as a result of resource overload is drastically lower because additional CPU, memory, and storage allocation is easy and immediate. In addition, this reallocation is seamless and does not affect other workloads or the user experience.
Cheap resources
The temporary additional cost for more CPU, memory, and storage is often less than the cost of employing someone to optimize your app straight away. This means that there is often no consequence to your bottom line if you postpone your infrastructure optimization.
Nonetheless, Tozzi stresses that he is not “encouraging you to write bloated applications, or implying that you can consume infinite resources in the cloud at no cost,” but the implication is clear that optimization of resource consumption in the cloud is less critical.
As a result, it has become more common practice for companies to invest their worker hours into developing new features or fixing minor bugs if the benefits outweigh the additional resource costs. However, while migration to the cloud does decrease the importance of resource efficiency, there are still some key components of your infrastructure where resource optimization is essential.
For example, you must keep your databases ‘ resource consumption optimized or else they will become a bottleneck for your application.
In particular, unoptimized database queries and lack of database tuning will result in slow execution regardless of how much CPU or memory you allocate. This could lead to poor customer experience or worse, an essentially non-functioning application.
AWS has tons of documentation on optimizing your databases:
Do you need help identifying components of your app that are bottlenecking your app? Show us your app.