The course is part of this learning path
How to design high availability and fault tolerant architectures
Designing solutions for elasticity and scalability
Designing Resilient Architectures. In this module we explore the concepts of business continuity and disaster reovery, the well architected framework and the AWS services that help us design resilient, fault tolerant architectures when used together.
We will firstly introduce the concepts of high availability and fault tolerance and introduce you to how we go about designing highly available, fault tolerant solutions on AWS. We will learn about the AWS Well Architected Framework, and how that framework can help us make design decisions that deliver the best outcome for end users. Next we will introduce and explain the concept of business continuity and how AWS services can be used to plan and implement a disaster recovery plan.
We will then learn to recognize and explain the core AWS services that when used together can reduce single points of failure and improve scalability in a multi-tier solution. Auto Scaling is proven way to enable resilience by enabling an application to scale up and down to meet demand. In a hands on lab we create and work with Auto Scaling groups to improve add elasticity and durability. Simple Queue service increases resilience by acting as a messaging service between other services and applications, thereby decoupling layers reducing dependency on state. Amazon Cloudwatch is a core component of maintaining a resilient architecture - essentially it is the eyes and ears of your environment, so we next learn to apply the Amazon CloudWatch service in hands on environment.
We then learn to apply the Amazon CloudFront CDN service to add resilience to a static website which is served out of Amazon S3. Amazon Cloudfront is tightly integrated with other AWS services such as Amazon S3, AWS WAF and Amazon GuardDuty making Amazon CloudFront an important component to increasing the resilience of your solution.
- [Instructor] Amazon Simple Queue Service or SQS is a reliable messaging queue service that is fully managed. Messages are stored redundantly in Simple Queue Service across multiple servers and availability zones to ensure delivery. Simple Queue Service can handle an unlimited number of messages at any given time. Now standard Simple Queue Service queues don't guarantee the order of delivery of messages due to the distributed nature of the system, but there is a service called FIFO SQS which stands for First In First Out. And with First In First Out messaging, you can set the precedence or the order of the messages and guarantee a one-time delivery. With the standard SQS queue, the order is not guaranteed with Simple Queue Service and a message can be retrieved more than once from a queue. You can place sequencing information in each message so you can reorder the messages upon receipt if you do need to pull messages down in order. You can set a message visibility window of up to 12 hours to ensure messages are consumed. Messages can be stored for between one minute and two weeks. The default retention time is four days. You can delete all the messages in a Simple Queue Service queue using the purge queue action. When you purge a queue, all the messages previously sent to the queue will be deleted. So you should consider using Amazon Simple Queue Service when you have separate components of a system or different systems altogether that need to interact with one another. You can also use this service to offload requests from primary services which lets those primary services perform the job that they were intended to perform. With CloudWatch, you can use Simple Queue Service to trigger autoscaling based on the number of messages in your queues.
About the Author
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.