Designing for Failure
Designing for high availability, fault tolerance and cost efficiency
High Availability in RDS
High Availability in Amazon Aurora
High Availability in DynamoDB
The course is part of this learning path
This section of the Solution Architect Associate learning path introduces you to the High Availability concepts and services relevant to the SAA-C03 exam. By the end of this section, you will be familiar with the design options available and know how to select and apply AWS services to meet specific availability scenarios relevant to the Solution Architect Associate exam.
- Learn the fundamentals of high availability, fault tolerance, and back up and disaster recovery
- Understand how a variety of Amazon services such as S3, Snowball, and Storage Gateway can be used for back up purposes
- Learn how to implement high availability practices in Amazon RDS, Amazon Aurora, and DynamoDB
Welcome back! In this lecture, you’ll learn about the HA configuration options available within DynamoDb - which when configured maximizes the uptime of your dependent applications.
Firstly, DynamoDB is a NoSQL schemaless managed service built and provided by AWS - and is designed internally to automatically partition data and incoming traffic across multiple partitions which are themselves stored on numerous backend servers distributed across three availability zones within a single region. This is the default starting point for a DynamoDb Table in terms of its availability posture. The amount and required availability can be increased using and configuring additional options as you’ll soon hear about.
A DynamoDb partition is a dedicated area of SSD storage allocated to a table and for which is automatically replicated synchronously across 3 availability zones within a particular region. DynamoDB being a managed service takes care of performing both the partition management and replication for you, therefore you can remain focused on your application design and not be distracted by the needs of data replication requirements. The synchronous AZ replication provides protection against any single node outage and/or a full availability zone outage - which although is a rare event should never be assumed to not happen. The synchronous replication takes place using low latency interconnects between each of the availability zones within a region and ensures high-speed sub second replication.
Dialing up and down the provisioned throughput of a DynamoDB database is possible, and ensures that your DynamoDb database can meet the needs of your application as it grows. Changing the provisioned throughput results in additional partitions and replication which again happens automatically in the background.
DynamoDB provides a secondary layer of availability in the form of cross-region replication which in its latest implementation is now known as Global Tables. A Global table gives you the capability to replicate a single table across 1 or many alternate regions and in doing so protects your table from regional outages. When configured, a Global Table not only elevates the availability of your data but also enables applications to take advantage of data locality. Users can be served data directly from the closest geographically located table replica which minimizes the network latency involved in accessing the data.
A single DynamoDB table can be globally replicated to 1 or multiple other tables located in different AWS regions. Replication must take place within an AWS account - that is you cannot configure Global tables in different AWS accounts. Global Tables implement multi master read/write capability with eventual consistency. Both read and writes can be performed against any one of the configured global tables. All writes will then be replicated in near sub second to time to all other globally configured tables of the same table name.
Existing DynamoDB tables can be converted into Global tables either by using the relevant configuration options exposed within the AWS DynamoDB console - or by using the aws cli and executing the “aws dynamodb update-table” command specifying one or several regions into which the table should be replicated.
Stuart has been working within the IT industry for two decades covering a huge range of topic areas and technologies, from data center and network infrastructure design, to cloud architecture and implementation.
To date, Stuart has created 150+ courses relating to Cloud reaching over 180,000 students, mostly within the AWS category and with a heavy focus on security and compliance.
Stuart is a member of the AWS Community Builders Program for his contributions towards AWS.
He is AWS certified and accredited in addition to being a published author covering topics across the AWS landscape.
In January 2016 Stuart was awarded ‘Expert of the Year Award 2015’ from Experts Exchange for his knowledge share within cloud services to the community.
Stuart enjoys writing about cloud technologies and you will find many of his articles within our blog pages.