COST 5: How do you evaluate cost when you select services?
Amazon EC2, Amazon EBS, and Amazon S3 are building-block AWS services. Managed services, such as Amazon RDS and Amazon DynamoDB, are higher level, or application level, AWS services. By selecting the appropriate
building blocks and managed services, you can optimize this workload for cost. For example, using managed services, you can reduce or remove much of your administrative
and operational overhead, freeing you to work on applications and business-related
Amazon S3 storage classes
AWS Total Cost of Ownership (TCO) Calculator
Identify organization requirements for cost: Work with team members to define the balance between cost optimization and other pillars, such as performance and reliability, for this workload.
Analyze all components of this workload: Ensure every workload component is analyzed, regardless of current size or current costs. Review effort should reflect potential benefit, such as current and
Perform a thorough analysis of each component: Look at overall cost to the organization of each component. Look at total cost of ownership by factoring in cost of operations and management, especially when using managed services. Review effort
should reflect potential benefit: for example, time spent analyzing
is proportional to component cost.
Select software with cost effective licensing: Open source software will eliminate software licensing costs, which can contribute significant costs to workloads. Where licensed software is required, avoid licenses bound to arbitrary
attributes such as CPUs, look for licenses that are bound to output or
outcomes. The cost of these licenses scales more closely to the benefit they provide.
Select components of this workload to optimize cost in line with organization priorities: Factor in cost when selecting all components. This includes using application level and managed services, such as
Amazon RDS, Amazon DynamoDB, Amazon SNS, and Amazon SES to reduce overall organization cost. Use serverless and containers for compute, such as AWS Lambda, Amazon S3 for static websites, and Amazon ECS. Minimize license costs by using open source software, or software that does not have license
fees: for example, Amazon Linux for compute workloads or migrate databases to Amazon Aurora.
Perform cost analysis for different usage over time: Workloads can change over time. Some services or features are more cost effective at different usage levels. By performing the analysis on each
component over time and at projected usage, you ensure the workload remains cost effective over its lifetime..
Identify organization requirements for cost Identify organization requirements for cost : Meet with team members from your organization, they include product management, application
owners, development and operational teams, management, and finance.
Prioritize the Well-Architected pillars for this workload and its components, the output is be a list of the pillars in order. You can also
add a weighting to each, this can help indicate how much additional
focus a pillar has, or how similar the focus is between two pillars.
Analyze all components of this workload List the workload components : Build the list of all the workload components, this is used as verification to check that each component was analyzed. The effort spent should reflect the criticality
to the workload as defined by organization priorities. Grouping together resources
functionally improves efficiency, i.e. production database storage, if there are multiple
Prioritize component list : Take the component list and prioritize it in order of effort. This is typically in order of the cost of the component from most expensive to least expensive, or the criticality as defined by organization
Perform the analysis : For each component on the list, review the options and services available and chose the option that
aligns best with your organizational priorities.
Perform a thorough analysis of each component Perform a thorough analysis : Using the component list, work through each component from the highest priority to lowest priority. For the higher
priority and more costly components, perform additional analysis and assess all available options and their long term
impact. For lower priority components, assess if changes in usage would change the priority of the component, and then perform an analysis of appropriate effort.
Select software with cost effective licensing Analyze license options : Review the licensing terms of available software. Look for open source versions that
have the required functionality, and whether the benefits of
licensed software outweigh the cost. Favorable terms will align the cost of the software to the benefit it provides.
Analyze the software provider : Review any historical pricing or licensing changes from the vendor. Look for any
changes that do not align to outcomes, such as punitive terms
for running on specific vendors hardware or platforms. Also look for how they execute
audits and penalties that could be imposed.
Select components of this workload to optimize cost in line with organization priorities Select each service to optimize cost : Using your prioritized list and analysis, select each option that provides the best
match with your organizational priorities.
Perform cost analysis for different usage over time Define predicted usage patterns : Working with your organization such as marketing and product owners, document what
the expected and predicted usage patterns will be for the workload.
Perform cost analysis at predicted usage : Using the usage patterns defined, perform the analysis at each of these points. The
analysis effort should reflect the potential outcome, for example,
if the change in usage is large, a thorough analysis should be performed to verify
any costs and changes.