Search for Well Architected Advice
< All Topics
Print

Select resource type, size, and number automatically based on metrics

Choosing the right resource type, size, and number is crucial for meeting your cost targets. By leveraging metrics from your workload, you can minimize waste and optimize spending, ensuring you provision resources appropriately for the demands of your application.

Best Practices

Implement Auto-Scaling Mechanisms

  • Utilize AWS Auto Scaling to adjust the number of instances automatically based on demand. This helps in maintaining cost efficiency by ensuring that you only pay for what you need during peak and off-peak times.
  • Monitor the utilization metrics of your resources regularly to fine-tune the scaling policies. Setting appropriate thresholds is crucial for effective scaling and cost optimization.

Leverage CloudWatch and Custom Metrics

  • Use Amazon CloudWatch to collect and monitor resource and application metrics in real time. By analyzing these metrics, you can identify underutilized resources and adjust sizes accordingly.
  • Integrate custom metrics specific to your workload that may not be captured by default metrics, ensuring all relevant data points are considered for optimal resource selection.

Conduct Regular Resource Audits

  • Schedule periodic reviews of your resource utilization to identify idle or underutilized resources. Use AWS Cost Explorer and Trusted Advisor reports to guide your analysis.
  • Consider rightsizing recommendations from AWS tools and adjust your resource types and sizes based on historical performance and usage patterns.

Implement Provisioning Policies

  • Set policies for provisioning resources that align with your workload characteristics, such as burstable performance instances for unpredictable workloads or reserved instances for steady-state usage to save on costs.
  • Automate resource tagging to keep track of the purpose and performance of resources, making it easier to manage and optimize costs.

Questions to ask your team

  • What metrics are you currently monitoring to determine resource needs?
  • How frequently do you adjust resource types, sizes, and quantities based on your workload metrics?
  • Are you using auto-scaling or similar automation tools to adjust resource allocation?
  • Have you implemented feedback loops to ensure continuous optimization of resource utilization?
  • Can you provide examples of cost savings achieved through automating resource selection?
  • What strategies do you have in place for forecasting resource needs based on historical data?

Who should be doing this?

Cloud Architect

  • Design and implement cost-effective resource allocation strategies.
  • Evaluate workload metrics to determine optimal resource types and sizes.
  • Integrate auto-scaling solutions to dynamically manage resource allocation.
  • Collaborate with stakeholders to define performance and cost goals.

DevOps Engineer

  • Automate deployment and scaling of resources based on metrics.
  • Implement monitoring solutions to track performance and utilization of resources.
  • Develop feedback loops for continuous optimization of resource types and sizes.
  • Collaborate with the Cloud Architect to ensure alignment on cost optimization initiatives.

FinOps Specialist

  • Analyze cloud spending and identify cost-saving opportunities.
  • Monitor resource usage and optimize costs based on usage patterns.
  • Provide insights and recommendations for resource type, size, and number based on financial data.
  • Work with technical teams to align financial goals with resource provisioning strategies.

What evidence shows this is happening in your organization?

  • Auto-Scaling Implementation Guide: A comprehensive guide that explains how to implement auto-scaling for AWS resources. It includes best practices for defining scaling policies based on metrics such as CPU usage and network traffic, ensuring resources are allocated efficiently to meet demand while minimizing costs.
  • Cost Optimization Dashboard: A custom AWS CloudWatch dashboard that visualizes key metrics such as resource utilization, cost trends, and performance metrics. This dashboard aids in monitoring resource efficiency and supports automatic adjustments to resource types and sizes based on real-time data.
  • Resource Selection Automation Plan: A strategic plan detailing the automation of resource type and size selection based on workload metrics. It outlines the processes for monitoring, evaluation, and adjustment using AWS Lambda functions and CloudWatch metrics to ensure optimal resource allocation.
  • Cost Efficiency Policy Document: An organizational policy outlining the mandatory practices for selecting resource types, sizes, and quantities based on empirical data and automation. It emphasizes the importance of utilizing AWS tools for cost management and waste reduction.
  • Metrics-Based Resource Selection Checklist: A practical checklist for teams to follow when evaluating resource types and sizes. It includes steps for analyzing workload metrics and leveraging AWS services to ensure that resources are provisioned efficiently and cost-effectively.

Cloud Services

AWS

  • Amazon EC2 Auto Scaling: Automatically adjusts the number of EC2 instances based on usage patterns to optimize costs.
  • AWS Lambda: Automatically scales computing capacity in response to demand, allowing you to only pay for what you use.
  • Amazon CloudWatch: Monitors resources and applications in real-time and provides data to help inform resizing and cost optimization decisions.
  • AWS Trusted Advisor: Provides real-time guidance to help provision your resources following AWS best practices, including cost optimization.

Azure

  • Azure Autoscale: Adjusts the number of VM instances automatically based on load to optimize performance and costs.
  • Azure Monitor: Collects and analyzes metrics to inform decisions on resource sizing and optimization.
  • Azure Advisor: Provides recommendations on optimizing resources for cost savings and performance improvement.

Google Cloud Platform

Question: How do you meet cost targets when you select resource type, size and number?
Pillar: Cost Optimization (Code: COST)

Table of Contents