Pillar #4 Of The AWS Well-Architected Framework: Performance Efficiency
The fourth pillar of your cloud infrastructure should ensure that it works at peak performance.
Join the DZone community and get the full member experience.Join For Free
If you missed out on Pillars 1-3 of the AWS Well-Architected Framework blog series, catch up here first:
A well-architected cloud environment and the system it is hosting doesn’t just have business (or operational) objectives to realize. It also needs to be tuned to achieve those objectives in the most efficient manner possible. Since it was introduced, Amazon Web Services (AWS) and its elements already have immense efficiency as the leading selling point. Rather than forcing users to pay for resources they don’t need, the entire AWS ecosystem is built on a pay-as-you-go model that promotes efficient use of resources and scalability at the same time.
Performance efficiency is the fourth Pillar in the Five Pillars of the AWS Well-Architected Framework. It is the pillar that brings efficient use of computing resources to the fore of best practice. This includes the best way to maintain maximum efficiency for users, even as requirements and demands change.
Basic Design Principles
For this pillar, we are going to dive straight in and discuss the basic design principles. To help your AWS cloud environment achieve one of its objectives of being an efficient environment for the system, it needs to be configured with five basic design principles in mind. Those design principles are:
Democratize Advanced Technologies
As complex as it may sound, the basic idea behind this design principle is simple. With technologies advancing at an incredible rate, it is not always possible for a business to maintain a capable in-house IT department while staying up to date. Cloud computing is a perfect example. Sure, it is entirely feasible to set up your own cloud computing ecosystem from scratch without experience, but that would take a considerable amount of resources; it is definitely not the most efficient way to go. An efficient business-minded way to go is to employ AWS as a service, which allows organizations to benefit from the advanced technologies integrated into AWS without learning, researching, or creating teams specifically for those technologies.
Go Global in Minutes
This, too, is a design principle best seen in AWS. By eliminating the need for a physical server in different regions, AWS grants businesses access to a wide network of servers in its cloud ecosystem. As a result, systems running in the cloud using AWS can reach users around the world with maximum performance and efficiency.
Use Serverless Architecture
Without an actual physical server, the system is running without a single point of failure. This leads to a more robust yet more reliable system and cloud environment as a whole. At the same time, a serverless architecture allows for better management of tasks without the usual limitations of traditional servers. Your AWS instance can host websites as easily as it can perform computational tasks.
Experiment More Often
The fluid nature of cloud computing allows for resources to be allocated temporarily, all without jeopardizing operational reliability and overall efficiency. This means tests and research can be conducted in a real cloud environment without the usual high costs and challenges. The result is clear: businesses running in the cloud have more opportunities to innovate.
Similar to the first design principle, this too is a principle based on a simple idea. When you take efficiency more seriously as an objective, you are eliminating the traditional limits of optimization, too. When choosing the right database framework to use, for example, you already have the flexibility and resources of AWS cloud environment to consider, and you will end up with an approach that works best for your specific needs.
The Four Areas Of Performance Efficiency
There is a reason why we discussed the design principles first, and that is the fact that these principles can be implemented across all four areas of performance efficiency. The first of those areas is selection. This is the area in which the best solutions are compared, the best approaches are reviewed, and the most suitable one selected with business goals in mind.
There is a vast array of factors to consider when selecting a solution to use, starting from the kind of workload you normally deal with. AWS’s scalable nature certainly helps and the ability to assign on-demand server resources enables greater efficiency without sacrificing performance.
The second area is review. Even with a good solution selected—and an AWS environment established—it is still necessary to perform regular reviews of your options. This is because the environment and the technologies supporting it are constantly advancing. What was the best solution in the past may not be the most efficient way now.
Monitoring involves gathering key metrics and measuring efficiency levels. The main purpose of this area is identifying deviations from the expected performance level nice and early. Naturally, this whole exercise is so that you can maintain a high-level of efficiency. AWS-specific tools and automation features, including AWS CloudFormation and Amazon EBS Volume Performance, are very helpful in this area.
Last, but certainly not least, there are times when you need to make trade-offs for the sake of boosting performance and efficiency. Compression, the use of RAID in exchange for data protection, and the modification of caching policies are the kind of compromises that are worth making for the boost in performance they offer.
This post was originally published here.
Published at DZone with permission of Vikram Nallamala. See the original article here.
Opinions expressed by DZone contributors are their own.