Building blocks for highly available systems

Andreas Wittig – 14 Sep 2015

Thanks to the cloud, highly available systems are becoming the new standard. Creating an architecture offering high availability or even fault tolerance is affordable nowadays as you can use ready-to-use building blocks. On top of that, you can operate a highly available infrastructure in the cloud with almost no extra costs.

AWS offers managed services with built-in high availability or even fault tolerance:

  • Load Balancer (ELB) is fault tolerant
  • SQL database (RDS) is highly available on demand
  • No-SQL database (DynamoDB) is fault tolerant
  • Object Store (S3) is fault tolerant

The virtual server (EC2) itself is not high available or fault tolerant as the underlying virtualization or hardware might fail. But tools are helping you to build a high available infrastructure based on virtual servers.

Building blocks for high availability

The following figure shows a typical architecture for web applications offering high availability. The building blocks are:

  • Load Balancer (ELB) fault tolerant by default routing requests to healthy virtual servers.
  • Running virtual servers in different data centers (Availability Zone) in the same region.
  • Running an SQL database which replicates all data from the master database to a standby database in another data center (Multi-AZ deployment).

Building a highly available system on AWS

All parts of this architecture are highly available. There is no single-point-of-failure left.

Andreas Wittig

Andreas Wittig

I’m the author of Amazon Web Services in Action. I work as a software engineer, and independent consultant focused on AWS and DevOps.

You can contact me via Email, Twitter, and LinkedIn.

Briefcase icon
Hire me
Cover of Rapid Docker on AWS

New book: Rapid Docker on AWS

A rapid way to get your web application up and running on AWS. Made for web developers and DevOps engineers who want to dockerize their web applications and run their containers on Amazon Web Services. Prior knowledge of Docker and AWS is not required.

Buy icon
Buy now
Marbot Logo

Incident Management for Slack

Team up to solve incidents with our chatbot marbot. Never miss a critical alert. Escalate alerts from your AWS infrastructure among your team members. Strong integrations with all parts of your AWS infrastructure: CloudWatch, Elastic Beanstalk, RDS, EC2, ...

Slack icon
Try for free