Content Domain 4: Billing, Pricing, and Support
Task Statement 4.1: Compare AWS pricing models
Let's get started with the first task statement for domain 4, comparing AWS pricing models. In an earlier lesson, we talked about the AWS Well-Architected Framework and the six pillars, and we mentioned that we would dive deeper into the cost optimization pillar in domain 4. So again, fundamentals. What is cost optimization? Cost optimization is the ability to run systems that deliver business value at the lowest price point. AWS offers multiple ways to run a cost-optimized environment with AWS services such as AWS Budgets, AWS Cost and Usage Reports, AWS Cost Explorer, Reserved Instances, Reserved Instance Reporting, and more. AWS also provides cost effective resources like Spot Instances, Reserved Instances, and cost-effective storage like Amazon S3, and S3 Glacier and Glacier Deep Archive. AWS also allows us to match supply with demand with AWS Lambda, Amazon EC2 Auto Scaling, and AWS Auto Scaling. And you can optimize over time using AWS Trusted Advisor, Cost and Usage Reports and more. The cost optimization pillar has design principles and best practices that will help with this domain but especially in the real world. As always, fundamentals matter. So, let's quickly talk about the cost optimization pillar. In order to achieve cost optimization, you must ensure you are rightsizing your infrastructure. Rightsizing is picking the correct instances for your current resources, but also for resources you plan to use. So maybe you are using a larger EC2 instance size when all you need to cover your demand is a small instance size. Rightsizing and choosing the correct instance type but also the cheapest instance type that meets performance requirements can save you money. You must also ensure you are increasing elasticity and only using resources when those resources are needed, which gives you a pay-for-what-you-use model. Again, using smaller instances versus fewer larger instances for your workload can reduce your costs, but also using auto scaling to scale up your instances when the demand scales and then scale back down when the demand lessens reduces cost even further. Another cost optimization necessity is choosing the right pricing model, which is the focus for this task statement, and choosing the right pricing model comes into play after you have right-sized your instances and set up auto scaling. AWS offers several different pricing models such as Reserved Instances, On-Demand Instances, Spot Instances, Saving Plans, Dedicated Hosts, Dedicated Instances, and Capacity Reservations. On-Demand Instances are just as they sound, you can choose to use these when they're needed. They're great if you have a flexible start and end time and are great for applications with uncertain requirements, and also great for short-term workloads. It is also great for applications that cannot tolerate a disruption and that is a key phrase for the exam. But you can save money by choosing Reserved Instances, but Reserved Instances come with a 1- or 3-year commitment. However, with that commitment you receive a lower price. And then there are Spot Instances, which are the cheapest pricing model with up to 90% off the On-Demand pricing. AWS uses their spare EC2 capacity and sales at capacity in Spot Instances, and the price is based on how much extra capacity there is. So your spot price changes as the capacity changes. Spot Instances are great with flexible applications, applications that can withstand a disruption or tolerate a failure. And for applications that need a really low price. Spot Instances are the cheapest pricing model but applications have to be flexible with interruptions. Reserved Instance pricing can save you up to 72% on the On-Demand price but you have that 1- to 3-year commitment. The 3-year term is more cost effective than the 1-year, and you can pay your Reserved Instances all upfront, no upfront, or partial upfront. And it is important to know that you pay this reservation whether you have instances running or not. Reserved Instances can be used across your Regions or across your Availability Zones using Capacity Reservations. Regional Reserved Instances apply the discount to any Availability Zone in the Region, along with Convertible Reserved Instances that are a type of Reserved Instances that add additional flexibility to change instance families, operating systems, or tendencies over the Reserved Instance term. You can also schedule your reservations where your rate is reduced during a time window, so you pay for the commitment within that schedule. Schedule Reserved Instances help to match your capacity reservation to a predictable reoccurring schedule. For the exam, know that Standard Reserved Instances provide the most significant discount compared to On-Demand Instances. For billing purposes, the consolidated billing feature of the AWS Organization treats all the accounts in the organization as one. This means that all accounts in the organization can receive the hourly cost benefit of Reserved Instances that are purchased by any other account. Reserved Instances are great for applications with steady state usage, applications with long-term needs and are much cheaper than On-Demand Instances, and you can actually use all of these pricing models at the same time. So, Reserved Instances can cover your production environment. Spot Instances can be used when you have an increase in your demand, and you can use On-Demand Instances as needed. This is a great way to optimize your environment by knowing and understanding the pricing model, and choosing the right pricing model for your environment. Let's look at some other pricing models too. Dedicated Hosts, which we've mentioned already a few times, is considered a pricing model but it is more of a technical difference. Remember, Dedicated Hosts are reserved for you alone and you pay for that Dedicated Host to be dedicated to you, and it is not shared with other AWS customers. And with Dedicated Hosts, you pay for the host, not the individual instances running on that host. Dedicated Instances are instances that you pay per hour for the instance running on a single tenant. Scheduled Instances are great for applications that need to be available on a regular schedule. Saving Plans are great for your compute usage and you can use the Saving Plans for Lambda and Amazon ECS2. AWS also offers a service called AWS Trusted Advisor, which monitors your infrastructure and can make recommendations on how to make your infrastructure more optimized. And then, of course, you can use AWS Cost Explorer to monitor your cost. Let's jump back to the cost optimization pillar. Along with right-sizing you must match your storage to your usage. Reducing your storage can save money and you can match your storage usage to a particular storage class. Again, AWS offers multiple storage classes so ensure you pick the correct one such as Amazon S3, Amazon EBS, AWS Storage Gateway, Amazon EFS, CloudFront and multiple data transfer options too. And then, of course, we must calculate our data transfer in and out of the AWS Regions. AWS offers tiered pricing for data transfer from AWS to the internet to help reduce data transfer costs. Data traffic that is destined to your on-premises data center is considered data transfer out and it results in a charge to your monthly bill. You can architect parts of your infrastructure to use AWS services like CloudFront and Direct Connect. For example, you can eliminate these data transfer out charges by using Direct Connect because cost associated with data traffic through the private connection are included in the service. Likewise, if you use Amazon S3 for content delivery, using CloudFront will reduce the latency between your end users and your S3 bucket. And the key point is that by continuously assessing your AWS architecture and understanding where your data transfer costs are incurred, you can adapt your deployment to reduce overall running costs while improving the end user experience. Lastly, ensure you measure and monitor your infrastructure because it will most likely be changing, so you need measures in place to monitor and measure your usage and your costs. You can monitor your utilization of CPU, RAM, storage and more, to identify instances that could be downsized or may need to be increased. AWS provides CloudWatch to track your metrics and to set alarms to immediately take actions. You also have Trusted Advisor that we mentioned just a minute ago. The AWS Well-Architected Framework Tool and Cost Explorer. It is crucial to define your metrics, set target goals, define and enforce your tagging strategy, use cost allocation tags and make sure you are reviewing regularly for any infrastructure changes. For this task statement, dive deeper into the cost optimization design principle that we have covered a few times already. Let's also cover cost optimization best practices. First, define and enforce cost allocation tagging throughout your whole environment so you can see what resources are costing more. AWS also recommends using an effective account structure, so this means you need to know what are your end goals and make sure you're designing to meet those goals and define and use metrics to track the progress of meeting those goals. Another huge best practice is to enable your teams to design their architecture based on cost. So, let your teams know what the cost is and give them access so they can see what they're building and what costs are associated with that build. Once you give a team, or person, ownership of cost you will find that most are much more cost conscious. And lastly, AWS recommends you create a CCOE, a Cloud Center of Excellence, and this is a team who stays up to date on AWS best practices, new releases and more, to ensure you're using AWS in the most efficient and cost-effective ways. When you open up your expenditure you make your teams more accountable and more aware to choose more cost-effective resources that still match your supply to your demand, but also make sure you are optimizing your AWS account and infrastructure over time. Let's get started with the second task statement and talk about resources for billing, budget, and cost management.