- [Morgan] Part of being prepared to take the AWS Solutions Architect - Associate Exam, is having knowledge of elastic and scalable solutions. As you probably know, just because a solution is hosted on AWS, it doesn't always mean that it is inherently scalable. How scalable or elastic your solution is, can depend on what AWS services you choose to use in your architecture, as well as, how you have configured those services to work together. That brings me to the first topic for the designing high-performing architectures domain. Identify elastic and scalable compute solutions for a workload. Some services in AWS are elastic by nature automatically, without you needing to do anything, like AWS Lambda, for example. This is a scalable and elastic service. If you need to invoke your Lambda functions once or 100 times per second, you can simply do so. You don't need to scale the service or design architectures to scale AWS Lambda. This is not the case for every AWS service. And that is important for you to know when you make design decisions. Take Amazon EC2, for example. Amazon EC2 is a service that is not inherently scalable, though, there are many ways to make Amazon EC2 scalable and elastic. The first thing to consider when beginning to architect solutions using Amazon EC2 is, what Amazon EC2 instance type will you use? In order to choose the correct instance type, you first must know what your application needs are. For the exam, if there are questions around choosing an instance type, it's likely the stem will provide some context around the application needs. So, given the application-resource needs for compute, storage, and networking requirements are known, can you choose the appropriate instance family for the Amazon EC2 instance? You won't need to memorize every single instance type, but instead, you should have a firm grasp on how picking the instance family for your workload can impact your application performance and scalability. Visit the Amazon EC2 instance type page, to read about all of the different instance families and explore using Amazon EC2 to prepare for the exam. Expanding outside of EC2, now. You should also be able to choose the appropriate architecture and services that scale to meet performance needs. This means you should be able to determine, based on a use case, which AWS service would be the most scalable and performant, given defined circumstances. For example, let's say there is an organization that needs to host a backend web service on Amazon EC2, and their usage of this web service will vary greatly throughout the day. This solution needs to be highly available and elastic. What type of architecture would be a scalable solution for this workload? In this case, you would likely want to look into using Amazon EC2 with Elastic Load Balancing and Amazon EC2 Auto Scaling. Knowing how to choose appropriate architectures for scaling compute workloads is critical for being prepared for the Solutions Architect - Associate Exam. It is also important to note, that Amazon EC2 is not the only compute option out there. You should be able to answer architecture questions around when you would want to use Amazon EC2, versus AWS Lambda, versus a container service. You should be very comfortable with picking when to use what compute services, and what benefits and limitations each compute service has. An example of a limitation for a compute is, AWS Lambda functions, as of the writing of this course, can only run for up to 15 minutes at a time. Knowing this can help you make informed decisions around when to use a Lambda or not. Now, back to the scaling topic. You generally invoke a scaling event on alarms created in Amazon CloudWatch. These alarms are invoked when a metric crosses a certain threshold for a defined amount of time. Knowing how to choose what metrics to monitor for scaling, is something you should be very familiar with for the exam. CPU utilization is a common Amazon EC2 metric to monitor for scaling. If CPU utilization is too high for an instance or instance group, it's a sign that the instances cannot keep up with current demand, and a scaling event should occur. There are other types of metrics you can use for scaling as well, such as a custom metric that you define, or metrics related to Elastic Load Balancing, like HealthyHostCount or SurgeQueueLength. It really depends on the situation, which scaling metrics make the most sense. And it's a good idea to explore what metrics are available from the different compute-related services that can be used for scaling. All right, that is all for now. Make sure you are getting hands on with AWS, as well as reading documentation, in order to prepare for the exam.