1. Home
  2. Content Library
  3. Amazon Web Services
  4. Courses
  5. How to Architect with a Design for Failure Approach

Introduction to designing for failure

The course is part of these learning paths

Operations on AWS

course-steps 6 certification 1 lab-steps 3

SysOps Administrator—Associate Certification for AWS

course-steps 14 lab-steps 18 quiz-steps 13


Introduction to designing for failure8m 44s
Building the infrastructure
Building our VPC Environment4m
Setting Up RDS6m 23s
Auto-Scaling our application11m 6s
Adding Route 53 to the mix3m 39s
Testing against failures
Let's make it fail5m 24s
Advanced concepts
Using CloudFront for dynamic content7m 50s
Expanding to multiple regions5m 13s
Start course


The gold standard for high availability is five 9's, meaning guaranteed uptime 99.999% of the time. That means just five and a half minutes of downtime throughout an entire year. Achieving this kind of reliability requires some advanced knowledge of the many tools AWS provides to build a robust infrastructure.

In this course, expert Cloud Architect Kevin Felichko will show one of the many possible alternatives for creating a high availability application, designing the whole infrastructure with a Design for Failure. You'll learn how to use AutoScaling, load balancing, and VPC to run a standard Ruby on Rails application on an EC2 instance, with data stored on an RDS-backed MySQL database, and assets stored on S3. Kevin will also touch on some advanced topics like using CloudFront for content delivery and how to distribute an application across multiple AWS regions.

Who should take this course

As an intermediate/advanced course, you will need to have some experience with EC2, S3 and RDS, and at least a basic knowledge of AutoScaling, ELB, VPC, Route 53 and CloudFront.

Test your knowledge of the material covered in this course: take a quiz.

If you have thoughts or suggestions for this course, please contact Cloud Academy at

About the Author

Kevin is a seasoned technologist with 15+ years experience mostly in software development.Recently, he has led several migrations from traditional data centers to AWS resulting in over $100K a year in savings. His new projects take advantage of cloud computing from the start which enables a faster time to market.

He enjoys sharing his experience and knowledge with others while constantly learning new things. He has been building elegant, high-performing software across many industries since high school. He currently writes apps in node.js and iOS apps in Objective C and designs complex architectures for AWS deployments.

Kevin currently serves as Chief Technology Officer for, where he leads a small, agile team.