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
Implement cost controls
Posted
Updated
ByKevin McCaffrey
Establishing effective cost controls is vital for maintaining budget discipline while still fostering innovation. By setting well-defined organizational policies centred around cost governance, you ensure that resource usage aligns with corporate objectives, thus avoiding unnecessary expenses.
Best Practices
Implement Granular Cost Controls
- Define clear policies based on organizational objectives to govern usage effectively. This ensures that spending aligns with the overall strategy.
- Utilize AWS IAM (Identity and Access Management) to set permissions that restrict access to specific resources or regions based on user roles or projects, thereby preventing unnecessary spending.
- Set up AWS Budgets to monitor and alert on spending thresholds for different teams or departments, ensuring users are aware of their costs and can adjust usage accordingly.
- Implement tagging policies for resources to categorize spending by team, project, or department, enabling more granular visibility into costs.
- Review and refine access controls regularly to adapt to changing business needs and resource usage patterns, ensuring ongoing alignment with cost optimization goals.
Questions to ask your team
- What policies are in place to govern cost management within your organization?
- How do you monitor adherence to cost control policies?
- What roles and permissions are defined to restrict access to potentially costly resources?
- How frequently do you review and update your cost control measures?
- What tools do you use to enforce cost governance and track expenses?
- How do you educate your teams about cost-effective resource usage and oversight?
Who should be doing this?
Cloud Financial Manager
- Develop and implement cost control policies and guidelines.
- Monitor cloud spending and identify areas for optimization.
- Ensure alignment of costs with organizational objectives.
- Review and approve budget requests for cloud resources.
Cloud Architect
- Design and implement resource allocation strategies to meet organizational requirements.
- Evaluate and recommend cost-effective solutions based on best practices.
- Collaborate with teams to enforce governance policies on resource usage.
DevOps Engineer
- Deploy and maintain tools for tracking and managing cloud costs.
- Implement automation to control usage based on policy guidelines.
- Support the integration of cost controls in CI/CD pipelines.
Compliance Officer
- Ensure adherence to financial governance policies.
- Conduct audits and reviews of cloud usage against established policies.
- Provide training and awareness to staff about cost governance.
IT Operations Manager
- Oversee daily operations of cloud resources to optimize costs.
- Coordinate with different teams to manage access and usage of resources.
- Report on cost usage trends and insights to stakeholders.
What evidence shows this is happening in your organization?
- Cost Control Policy Template: A template for documenting organizational policies surrounding cost controls. This includes guidelines on access restrictions to specific regions and resource types based on defined roles and groups.
- Cost Monitoring Dashboard: An interactive dashboard that visualizes cost usage across various services and regions. This tool enables teams to monitor their spend in real-time, ensuring adherence to established cost control policies.
- Cost Governance Checklist: A checklist that outlines the steps necessary to implement and enforce cost control measures. It includes points on policy definition, role assignment, and resource tagging for better cost management.
- Cost Control Implementation Plan: A strategic plan outlining the steps necessary to implement cost controls within the organization. It details timelines, responsibilities, and specific actions related to access management and resource allocation.
Cloud Services
AWS
- AWS Cost Explorer: Provides insights into spending patterns and helps identify cost trends, enabling better budget management.
- AWS Budgets: Allows you to set custom cost and usage budgets that alert you when you exceed thresholds.
- AWS IAM (Identity and Access Management): Enables you to manage access to AWS services and resources securely, allowing for cost control by restricting region or resource type access.
- AWS Organizations: Supports policy-based management of multiple AWS accounts, allowing centralized cost management and governance.
Azure
- Azure Cost Management and Billing: Helps you monitor and manage Azure spending and optimize your costs.
- Azure Policy: Enables you to create, assign, and manage policies to enforce organizational compliance and govern resource costs.
- Azure Management Groups: Allows you to manage access, policy, and compliance across multiple Azure subscriptions, aiding cost governance.
Google Cloud Platform
- Google Cloud Billing: Provides various tools and reports to track and manage spending on the Google Cloud platform.
- Google Cloud IAM: Enables you to control access to Google Cloud resources at a granular level, thus managing costs effectively.
- Google Cloud Resource Manager: Provides the tools to manage your Google Cloud resources and their hierarchy, facilitating better cost governance.
Question: How do you govern usage?
Pillar: Cost Optimization (Code: COST)
Table of Contents