Performance Efficiency

Wolfgang Unger
4 min readFeb 29, 2024

from the 5 pillars of the Well architected Framework

By Wolfgang Unger

Did you ever ask yourself what means Performance Efficiency from the 5 pillars exactly ?
Well Performance Efficiency focuses on ensuring a system delivers the best performance for a set of AWS resources utilized, which cane be functions, instances, storage, database etc

Principles

Amazon outlines five design principles for achieving performance efficiency:

  • Democratize advanced technologies
  • Go global in minutes
  • Use serverless architectures
  • Experiment more often
  • Consider Mechanical sympathy

Democratize advanced technologies

Use managed services like SQL/NoSQL databases, media transcoding, storage, and Machine Learning
They can save time and monitoring hassle and the team can focus on development, resource provisioning, and management.
Rather than asking your IT team to learn about hosting and running a new technology, consider consuming the technology as a service.

Go global in minutes

Deploy the system in multiple AWS regions around the world to achieve lower latency and a better experience for customers at a minimal cost.
With On Premise your will hardly achieve to provide Servers for your global customers at each of their locations.
Use CI/CD to deploy newest features daily instead of building monthly releases.

Use serverless architectures

Reduce overhead of running and maintaining servers and use the available AWS option to host and monitor infrastructure.
Serverless architectures remove the need for you to run and maintain physical servers for traditional compute activities
AWS got plenty of serverless architectures, like Lambda, Dynamo, Step Functions, the Serverless versions of Aurora and lot more

Experiment more often

In my early days as a programmer it took about 3–6 month to get a database from the DB Admin. Hardware resources were limited, the CFO had to admit and the DB admin got higher priority tasks to do.
How can you experiment a new feature or new software module this way? You can’t!
With virtual and automatable resources, you can quickly carry out comparative testing using different types of instances, storage, or configurations.
Launch a new DB and destroy it afterwords, use NoSQL, test ML services without bying long term licences, all of this is much easier in the cloud

Consider mechanical sympathy

Mechanical sympathy is the concept of aligning your technology approach with your goals.
Use the technology approach that aligns best with your goals. For example, consider data access patterns when you select database or storage approaches.
AWS offers a huge breadth of services to choose from, and its critical to diligently evaluate which services are best matched with your use cases and goals .

Focus

Focus on the following areas to achieve performance efficiency in the cloud:

  • Selection
  • Review
  • Monitoring
  • Trade-offs

Selection

AWS resources are available in many types and features, configurations and options, which makes it easier to find an approach that closely matches your need and handle different types of workloads.
You can also find options that are not easily achievable with on-premises infrastructure.
For example, a managed service such as Amazon DynamoDB provides a fully managed NoSQL database with single-digit millisecond latency at any scale

Review

When architecting workloads, there are finite options that you can choose from. However, over time, new technologies and approaches become available that could improve the performance of your workload.
In the cloud, it’s much easier to experiment with new features and services because your infrastructure is code.
Be aware, your applications and usage patterns will evolve, so it’s important to put in place a continuous performance review process that ensures that your resource selection remains optimal.

Monitoring

After you implement your architecture you must monitor its performance so that you can remediate any issues before they impact your customers.
Monitoring metrics should be used to raise alarms when thresholds are breached.
Amazon CloudWatch is the central hub for this monitoring, and your automation can trigger actions in other AWS services like AWS Lambda or Amazon SQS.

Trade-offs

When you architect solutions, think about trade-offs to ensure an optimal approach.
Depending on your situation, you could trade consistency, durability, and space for time or latency, to deliver higher performance.
In a perfect world, we’d be able to achieve durability, consistency, performance, and efficiency all at once,
but that’s sadly not the world that we live in, so it’s time to get acquainted with the menu of trade-offs you can make to meet your goals.

Back to Blog Overview

--

--

Wolfgang Unger

AWS Architect & Developer, 6x AWS Certified, Cloud Professional, Software Architect & Engineer