Designing Cost-Optimized Architectures
In this module, we will first introduce the concepts of cost optimization and how AWS compute services can be selected and applied to optimize costs. We will review the various instance types available, and how the purchasing options available can be selected and combined to provide a cost-optimized solution.
Next, we review how we can optimize storage costs by selecting the appropriate storage services or storage classes to create the most optimal and economical way to store objects and data in AWS cloud storage.
That concludes Domain Four: Determining How to Design Cost-Optimized Architectures. So let's review what we covered. First, in optimize and compute, we learned about the various purchasing options available to us. On-demand, which is pay-as-you-go to compute, where you purchase at a price set per instance type. Spot instances, where you can bid for compute capacity, which can optimize non-time-critical tasks, such as number-crunching or analysis or big data tasks, which suit applications that have flexible start and end times. And then reserved instances, where we get a discount rate per instance type by paying an up-front commitment and spreading the cost over one or three years. Reserved instances suit applications with steady or predictable usage. Then there was scheduled instances, which are like reserved instances however you can reserve the capacity in advance. Reserved instances, and how you combine the instance types together, with placement groups and instance type, can improve performance and cost.
Next, we reviewed consolidated billing, and how, by consolidating accounts together, we can reduce overall usage costs across an organization. Then we learned all about how to optimize storage. We learned to recognize and apply one storage solution over another, and how a combination of storage options, such as Amazon S3, Amazon Snowball, and Amazon CloudFront, and features such as transfer acceleration and randomizing our index keys, can help optimize storage performance.
We first learned to recognize and explain the appropriate Amazon S3 storage classes. There is standard class, infrequent access class, and reduced redundancy class, and Amazon Glacier. So we learned how to determine which storage class would best suit any given storage use case. Standard storage provides the highest level of durability and availability, and so suits most workloads. Infrequent access storage class provides lower levels of availability at a lower price, and so has a minimum file size and storage duration threshold. Reduced redundancy storage offers lower durability at a very low price, thus suiting storage of copies of older archives.
Now, Amazon Glacier is our cold store, designed for storing backups and tape archives, anything where recovery time is not a constraint. Now, keep in mind, all Amazon S3 storage classes support encryption. We then learned to recognize and explain ways we could optimize the speed of accessing data stored in Amazon S3 object stores. Transfer acceleration improves transfer of files over the public domain, and so can speed up regular transfer of objects between regions or when transferring files to a centralized bucket.
For GET-heavy workloads, Amazon CloudFront can improve latency and reduce load on your Amazon S3 buckets. For mixed requests, e.g. GET, PUT, or LIST bucket, made over 100 requests per second, creating a hexadecimal hash key and adding it to your bucket or object name can introduce randomness in your key name prefixes. The key names, and therefore the I/O load are then distributed across more than one partition within the region by Amazon S3.
Okay, that brings us to the end of Domain Four, determining optimized architectures. I hope you found this informative. If you have any questions or comments, or you'd like some help understanding the concepts we've covered, please reach out to us at firstname.lastname@example.org.
About the Author
Head of Content
Andrew is an AWS certified professional who is passionate about helping others learn how to use and gain benefit from AWS technologies. Andrew has worked for AWS and for AWS technology partners Ooyala and Adobe. His favorite Amazon leadership principle is "Customer Obsession" as everything AWS starts with the customer. Passions around work are cycling and surfing, and having a laugh about the lessons learnt trying to launch two daughters and a few start ups.