Search for Well Architected Advice
-
Operational Excellence
-
- Resources have identified owners
- Processes and procedures have identified owners
- Operations activities have identified owners responsible for their performance
- Team members know what they are responsible for
- Mechanisms exist to identify responsibility and ownership
- Mechanisms exist to request additions, changes, and exceptions
- Responsibilities between teams are predefined or negotiated
-
- Executive Sponsorship
- Team members are empowered to take action when outcomes are at risk
- Escalation is encouraged
- Communications are timely, clear, and actionable
- Experimentation is encouraged
- Team members are encouraged to maintain and grow their skill sets
- Resource teams appropriately
- Diverse opinions are encouraged and sought within and across teams
-
- Use version control
- Test and validate changes
- Use configuration management systems
- Use build and deployment management systems
- Perform patch management
- Implement practices to improve code quality
- Share design standards
- Use multiple environments
- Make frequent, small, reversible changes
- Fully automate integration and deployment
-
- Have a process for continuous improvement
- Perform post-incident analysis
- Implement feedback loops
- Perform knowledge management
- Define drivers for improvement
- Validate insights
- Perform operations metrics reviews
- Document and share lessons learned
- Allocate time to make improvements
- Perform post-incident analysis
-
Security
-
- Separate workloads using accounts
- Secure account root user and properties
- Identify and validate control objectives
- Keep up-to-date with security recommendations
- Keep up-to-date with security threats
- Identify and prioritize risks using a threat model
- Automate testing and validation of security controls in pipelines
- Evaluate and implement new security services and features regularly
-
- Define access requirements
- Grant least privilege access
- Define permission guardrails for your organization
- Manage access based on life cycle
- Establish emergency access process
- Share resources securely within your organization
- Reduce permissions continuously
- Share resources securely with a third party
- Analyze public and cross-account access
-
- Perform regular penetration testing
- Deploy software programmatically
- Regularly assess security properties of the pipelines
- Train for Application Security
- Automate testing throughout the development and release lifecycle
- Manual Code Reviews
- Centralize services for packages and dependencies
- Build a program that embeds security ownership in workload teams
-
-
Reliability
-
- Be aware of service quotas and constraints in Cloud Services
- Manage service quotas across accounts and Regions
- Accommodate fixed service quotas and constraints through architecture
- Monitor and manage quotas
- Automate quota management
- Ensure sufficient gap between quotas and usage to accommodate failover
-
- Use highly available network connectivity for your workload public endpoints
- Provision Redundant Connectivity Between Private Networks in the Cloud and On-Premises Environments
- Ensure IP subnet allocation accounts for expansion and availability
- Prefer hub-and-spoke topologies over many-to-many mesh
- Enforce non-overlapping private IP address ranges in all private address spaces where they are connected
-
- Monitor end-to-end tracing of requests through your system
- Conduct reviews regularly
- Analytics
- Automate responses (Real-time processing and alarming)
- Send notifications (Real-time processing and alarming)
- Define and calculate metrics (Aggregation)
- Monitor End-to-End Tracing of Requests Through Your System
- Define and calculate metrics
- Send notifications
- Automate responses
-
- Monitor all components of the workload to detect failures
- Fail over to healthy resources
- Automate healing on all layers
- Rely on the data plane and not the control plane during recovery
- Use static stability to prevent bimodal behavior
- Send notifications when events impact availability
- Architect your product to meet availability targets and uptime service level agreements (SLAs)
-
-
Cost Optimization
-
- Establish ownership of cost optimization
- Establish a partnership between finance and technology
- Establish cloud budgets and forecasts
- Implement cost awareness in your organizational processes
- Monitor cost proactively
- Keep up-to-date with new service releases
- Quantify business value from cost optimization
- Report and notify on cost optimization
- Create a cost-aware culture
-
- Perform cost analysis for different usage over time
- Analyze all components of this workload
- Perform a thorough analysis of each component
- Select components of this workload to optimize cost in line with organization priorities
- Perform cost analysis for different usage over time
- Select software with cost effective licensing
-
-
Performance
-
- Learn about and understand available cloud services and features
- Evaluate how trade-offs impact customers and architecture efficiency
- Use guidance from your cloud provider or an appropriate partner to learn about architecture patterns and best practices
- Factor cost into architectural decisions
- Use policies and reference architectures
- Use benchmarking to drive architectural decisions
- Use a data-driven approach for architectural choices
-
- Use purpose-built data store that best support your data access and storage requirements
- Collect and record data store performance metrics
- Evaluate available configuration options for data store
- Implement Strategies to Improve Query Performance in Data Store
- Implement data access patterns that utilize caching
-
- Understand how networking impacts performance
- Evaluate available networking features
- Choose appropriate dedicated connectivity or VPN for your workload
- Use load balancing to distribute traffic across multiple resources
- Choose network protocols to improve performance
- Choose your workload's location based on network requirements
- Optimize network configuration based on metrics
-
- Establish key performance indicators (KPIs) to measure workload health and performance
- Use monitoring solutions to understand the areas where performance is most critical
- Define a process to improve workload performance
- Review metrics at regular intervals
- Load test your workload
- Use automation to proactively remediate performance-related issues
- Keep your workload and services up-to-date
-
-
Sustainability
-
- Scale workload infrastructure dynamically
- Align SLAs with sustainability goals
- Optimize geographic placement of workloads based on their networking requirements
- Stop the creation and maintenance of unused assets
- Optimize team member resources for activities performed
- Implement buffering or throttling to flatten the demand curve
-
- Optimize software and architecture for asynchronous and scheduled jobs
- Remove or refactor workload components with low or no use
- Optimize areas of code that consume the most time or resources
- Optimize impact on devices and equipment
- Use software patterns and architectures that best support data access and storage patterns
- Remove unneeded or redundant data
- Use technologies that support data access and storage patterns
- Use policies to manage the lifecycle of your datasets
- Use shared file systems or storage to access common data
- Back up data only when difficult to recreate
- Use elasticity and automation to expand block storage or file system
- Minimize data movement across networks
- Implement a data classification policy
- Remove unneeded or redundant data
-
- Articles coming soon
< All Topics
Print
Choose Regions based on cost
Posted
Updated
ByKevin McCaffrey
Identifying regional cost differences is essential in optimizing expenses in AWS deployments. By strategically selecting lower-cost regions, organizations can leverage pricing variances, ensuring they operate at the most economical level while still meeting performance and compliance requirements.
Best Practices
Optimize Resource Deployment by Choosing Cost-Effective Regions
- Conduct a pricing analysis of AWS services across different regions to identify cost variances.
- Deploy workloads in lower-cost regions when latency, data residency, and data sovereignty requirements allow it.
- Regularly review and reassess regional pricing as AWS occasionally alters pricing structures, which may present new opportunities for savings.
- Utilize AWS Pricing Calculator to estimate costs based on different regional deployments under varying usage patterns.
- Implement tagging for resources by region to effectively track costs and usage trends across different deployments.
Questions to ask your team
- Have you evaluated the cost differences between regions for your current workloads?
- Are you aware of any latency, data residency, or data sovereignty issues that might affect regional deployments?
- Have you implemented monitoring to compare costs across different regions?
- Are you continually reassessing your region choices as pricing changes or new AWS services become available?
- Can you demonstrate how deploying in a lower-cost region has positively impacted your overall expenditure?
Who should be doing this?
Cloud Architect
- Evaluate and recommend suitable AWS regions based on cost-efficiency for workloads.
- Analyze regional pricing differences and establish criteria for selecting regions.
- Ensure deployment decisions take into account latency, data residency, and data sovereignty requirements.
- Collaborate with finance and operations teams to align cost optimization strategies with overall business objectives.
FinOps Analyst
- Monitor and report on cloud spending across different regions.
- Identify opportunities for cost savings based on regional pricing variations.
- Provide insights and data to cloud architects to inform region selection.
- Assist in developing policies and guidelines for deploying resources in cost-effective regions.
DevOps Engineer
- Implement infrastructure deployment based on the selected regions to optimize costs.
- Automate region selection in CI/CD pipelines where applicable.
- Ensure compliance with latency and data requirements during deployments.
- Monitor performance to validate that cost optimizations do not compromise system efficiency.
What evidence shows this is happening in your organization?
- Cost Optimization Strategy Template: A template for organizations to outline and implement strategies for choosing lower-cost AWS Regions based on pricing models.
- Regional Cost Comparison Report: A detailed report analyzing costs across different AWS Regions to identify the lowest-cost options for deployments.
- Cost-Aware Deployment Checklist: A checklist to ensure that teams consider regional cost factors when planning and deploying AWS workloads.
- Cloud Cost Dashboard: An interactive dashboard that visualizes spending patterns across AWS Regions, allowing for easy identification of cost-effective regions.
- Pricing Model Guidelines Guide: A guide detailing best practices for selecting pricing models and regions to optimize costs while meeting workload requirements.
Cloud Services
AWS
- AWS Pricing Calculator: Helps estimate the cost of your AWS services based on your specific configurations and usage patterns.
- AWS Cost Explorer: Allows you to analyze your historical spending, forecast future costs, and identify areas where you can optimize your AWS usage and spending.
- AWS Budgets: Enables you to set custom cost and usage budgets that alert you when you exceed your thresholds.
Azure
- Azure Pricing Calculator: Provides a way to estimate costs for Azure services based on projected usage.
- Azure Cost Management + Billing: Tracks resource usage and expenditures, enabling you to gain insights and optimize costs in Azure.
Google Cloud Platform
- Google Cloud Pricing Calculator: Helps you create customized estimates for Google Cloud services based on your configurations.
- Google Cloud Billing Reports: Provides insights into your Google Cloud usage and financial performance, helping in cost optimization.
Question: How do you use pricing models to reduce cost?
Pillar: Cost Optimization (Code: COST)
Table of Contents