Design for Failure High Availability Architectures using AWS



Similar documents
TECHNOLOGY WHITE PAPER Jun 2012

TECHNOLOGY WHITE PAPER Jan 2016

High-Availability in the Cloud Architectural Best Practices

Web Application Deployment in the Cloud Using Amazon Web Services From Infancy to Maturity

Scalable Architecture on Amazon AWS Cloud

ur skills.com

Preparing Your IT for the Holidays. A quick start guide to take your e-commerce to the Cloud

Web Application Hosting in the AWS Cloud Best Practices

Cloud Computing Disaster Recovery (DR)

Scalable Application. Mikalai Alimenkou

Migration Scenario: Migrating Backend Processing Pipeline to the AWS Cloud

Web Application Hosting in the AWS Cloud Best Practices

Amazon Elastic Beanstalk

Amazon Web Services Yu Xiao

Fault-Tolerant Computer System Design ECE 695/CS 590. Putting it All Together

Learning Management Redefined. Acadox Infrastructure & Architecture

Storage and Disaster Recovery

Alfresco Enterprise on AWS: Reference Architecture

Building Fault-Tolerant Applications on AWS October 2011

How AWS Pricing Works

How AWS Pricing Works May 2015

Scaling in the Cloud with AWS. By: Eli White (CTO & mojolive) eliw.com - mojolive.com

Application Security Best Practices. Matt Tavis Principal Solutions Architect

BASICS OF SCALING: LOAD BALANCERS

Primex Wireless OneVue Architecture Statement

Cloud Computing with Amazon Web Services and the DevOps Methodology.

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2

Cloud Computing In Reality: Experience sharing in cloud solution developments and evaluations

Chapter 10: Scalability

Reliable Data Tier Architecture for Job Portal using AWS

How To Choose Between A Relational Database Service From Aws.Com

Opsview in the Cloud. Monitoring with Amazon Web Services. Opsview Technical Overview

Jinesh Varia Technology Evangelist Architectural Design Patterns in Cloud Computing

EEDC. Scalability Study of web apps in AWS. Execution Environments for Distributed Computing

Cloud Computing project Report

Running Oracle Applications on AWS

EXECUTIVE SUMMARY CONTENTS. 1. Summary 2. Objectives 3. Methodology and Approach 4. Results 5. Next Steps 6. Glossary 7. Appendix. 1.

Topics. 1. What is load balancing? 2. Load balancing techniques 3. Load balancing strategies 4. Sessions 5. Elastic load balancing

Cloud computing - Architecting in the cloud

Best Practices for Siebel on AWS

A Comparison of Clouds: Amazon Web Services, Windows Azure, Google Cloud Platform, VMWare and Others (Fall 2012)

Introduction to DevOps on AWS

Federated Application Centric Infrastructure (ACI) Fabrics for Dual Data Center Deployments

AWS Account Setup and Services Overview

Software- as- a- Service (SaaS) on AWS Business and Architecture Overview

Software Performance, Scalability, and Availability Specifications V 3.0

Pertino HA Cluster Deployment: Enabling a Multi- Tier Web Application Using Amazon EC2 and Google CE. A Pertino Deployment Guide

Running Oracle on the Amazon Cloud

Amazon Compute - EC2 and Related Services

Logentries Insights: The State of Log Management & Analytics for AWS

Amazon EC2 Product Details Page 1 of 5

Aleksandar Nenov. Devops Talk Belgrade 2015

3/21/2011. Topics. What is load balancing? Load Balancing

WHITE PAPER. Enhancing Application Delivery and Load Balancing on Amazon Web Services with Brocade Virtual Traffic Manager

Using ArcGIS for Server in the Amazon Cloud

High Performance MySQL Choices in Amazon Web Services: Beyond RDS. Andrew Shieh, SmugMug Operations smugmug.

Thing Big: How to Scale Your Own Internet of Things.

Amazon Web Services Student Tutorial

Cloud Computing For Bioinformatics

Chapter 9 PUBLIC CLOUD LABORATORY. Sucha Smanchat, PhD. Faculty of Information Technology. King Mongkut s University of Technology North Bangkok

Designing Apps for Amazon Web Services

ArcGIS for Server in the Amazon Cloud. Michele Lundeen Esri

On- Prem MongoDB- as- a- Service Powered by the CumuLogic DBaaS Platform

AMAZON S3: ARCHITECTING FOR RESILIENCY IN THE FACE OF FAILURES Jason McHugh

!"#$%&'()*'+),-./)0' 9##+':,%-.;),0'

WE RUN SEVERAL ON AWS BECAUSE WE CRITICAL APPLICATIONS CAN SCALE AND USE THE INFRASTRUCTURE EFFICIENTLY.

Big data blue print for cloud architecture

ArcGIS for Server: In the Cloud

Technology Enablement

Using ArcGIS for Server in the Amazon Cloud

MICROSTRATEGY ON AWS

SkySQL Data Suite. A New Open Source Approach to MySQL Distributed Systems. Serge Frezefond V

Migrating a running service to AWS

Drupal in the Cloud. Scaling with Drupal and Amazon Web Services. Northern Virginia Drupal Meetup

Migration and Disaster Recovery Underground in the NEC / Iron Mountain National Data Center with the RackWare Management Module

Amazon Relational Database Service (RDS)

FortiBalancer: Global Server Load Balancing WHITE PAPER

AIST Data Symposium. Ed Lenta. Managing Director, ANZ Amazon Web Services

Making Your ColdFusion Apps Highly Available. Brian Klaas Johns Hopkins Bloomberg School of Public Health

Introduction to AWS in Higher Ed

Last time. Today. IaaS Providers. Amazon Web Services, overview

PES. High Availability Load Balancing in the Agile Infrastructure. Platform & Engineering Services. HEPiX Bologna, April 2013

Deployment Topologies

Scalability in the Cloud HPC Convergence with Big Data in Design, Engineering, Manufacturing

Web Application Hosting Cloud Architecture

Service Organization Controls 3 Report

Transcription:

Design for Failure High Availability Architectures using AWS Harish Ganesan Co founder & CTO 8KMiles www.twitter.com/harish11g http://www.linkedin.com/in/harishganesan

Sample Use Case Multi tiered LAMP/LAMJ Web site on AWS Data base tier using MySQL Data Exchange (DEX) layer containing HTTP pull, Queues, Storage, BG programs and Alerts

A simple LAM(X) Architecture US-EAST-1a AWS Security Groups 1 Web/App Server interacts with MySQL for Queries and Transactions Web/App Server Data Exchange Server 2 Data Exchange Web Services are pushed with information through HTTP MySQL DB CloudWatch 3 Entire Setup is Monitored and Secured using AWS

A simple LAM(X) Architecture US-EAST-1a Single Point of Failure at many layers AWS Security Groups Web/App Server Data Exchange Server MySQL DB CloudWatch Not a Highly Available Architecture

High Availability in Web / App / DEX layer

Web / App / DEX Layer US-EAST-1a AWS Security Groups 1 Add Multiple EC2 instances in Web/App layer Web/App Server Data Exchange Server 2 Add Multiple EC2 instances in DEX Layer MySQL DB CloudWatch

Load balancing Layer 1 Add Elastic Load Balancer AWS Elastic Load balancer US-EAST-1a AWS Security Groups 2 Round Robin with Session Sticky policy Web/App Server Data Exchange Server 3 ELB is a Highly Available Service with No SPOF MySQL DB CloudWatch

High Availability @ Load Balancing Layer ELB vs HAProxy AWS ELB provides load balancing service with thousands of EC2 servers behind them AWS ELB will automatically Scale up /down the load balancing servers in backend The theoretical maximum response rate of AWS ELB is limitless It can handle 20000+ concurrent requests easily

High Availability @ Web/App/DEX layer AWS Elastic Load balancer US-EAST-1a AWS Security Groups Web/App Server Data Exchange Server 1 2 Add AWS Auto Scaling to Web and DEX layer Tie AWS Auto Scaling with AWS ELB Auto Scaling Auto Scaling MySQL DB CloudWatch

High Availability @ Web/App/DEX layer AWS Auto Scaling will manage un Healthy EC2 instances AWS Auto Scaling will ensure minimum number Web/App /DEX EC2 instances are always running In event of failure, new instances will be launched between 30-120 seconds automatically ELB traffic is seamlessly attached to the Auto Scaled EC2 instances

What happens when an AWS AZ in US-East itself fails?

High Availability @ Web/App/DEX layer AWS Elastic Load balancer US-EAST-1a AWS Security Groups US-EAST-1b AWS Security Groups Web/App Server Data Exchange Server Web/App Server Data Exchange Server Auto Scaling Auto Scaling Auto Scaling Auto Scaling MySQL DB MySQL DB CloudWatch CloudWatch

High Availability @ Web/App/DEX layer AZ s are connected by Low Latency network AZ s are insulated from failures in other Availability Zones * AWS Auto Scaling can manage EC2 instances across AZ s AWS ELB can direct load to EC2 instances across AZ s AWS CloudWatch can monitor the EC2 instance availability across AZ

High Availability in DB layer

High Availability @ DB layer AWS Elastic Load balancer US-EAST-1a AWS Security Groups Web/App Server Data Exchange Server 1 2 Add Read Replica s to the Master DB Add RDS Stand by Auto Scaling Auto Scaling Read Replica Read Replica RDS Master RDS Standby CloudWatch

High Availability @ DB Layer AWS Elastic Load Balancer 1 Read Replica s launched in Multiple AZ s for HA USA- EAST -1A USA- EAST -1B AWS Security groups 2 RDS Standby will be launched on different AZ from the RDS master for HA Read Replica Auto Scaling S3 Auto Scaling Read Replica 3 Web/APP hosted on Amazon EC2 will transact with RDS master and read from Read replica s RDS Master RDS Standby CloudWatch D

High Availability @ DB Layer RDS Master and RDS Standby in Multiple AZ for HA Read Replica s in Multiple AZ for HA Offers No SPOF on AZ level Read Replica s can be launched/terminated without affecting the RDS Master availability In event of RDS master failure, RDS Standby will be automatically promoted Promotion <180 seconds and no changes in the application

High Availability @ DB Layer DB snapshots and MySQL Dumps facility available Automatic full backups at configured maintenance windows Point in time recovery till last minute Recovery might require App layer configuration changes

High Availability in DEX layer

High Availability @ DEX Layer DEX layer is designed with AWS building blocks like S3, SQS, SES, EMR, CloudWatch AWS blocks are in built with fault tolerance and HA

High Availability @ DEX Layer DEX Layer 1 DEX layer puts the request messages in SQS and XML in S3 SQS EC2 Instances Master EC2 Node S3 C L O U D W A T C H 2 3 4 Auto Scaled BG programs process the same from the respective systems SQS is a Highly available messaging system with in built fault tolerance S3 is a Highly available storage system Amazon Auto Scaling

High Availability @ DEX Layer SQS DEX Layer S3 1 BG programs send external emails using SES EC2 Instances Master EC2 Node Amazon Auto Scaling C L O U D W A T C H 2 3 SES is a Highly available email service DEX layer input end point URL s are configured with AWS Route 53 SES

High Availability @ DEX Layer S3 S3 1 Elastic MapReduce jobs of DEX layer process the files present in S3 EC2 Instances EMR Elastic MapReduce C L O U D W A T C H S3 S3

What happens if the Entire USA East region is affected? Solution : Design High Availability across Regions

High Availability across AWS Regions Web site is hosted in AWS USA East Web Site is hosted in AWS USA West

HA across AWS Regions Main Website in AWS region 1 AWS USA East Region AWS West/Europe/APAC Region Main Website in AWS region 2

Website in Multiple AWS regions (using MySQL) 1 Directional DNS Servers directs the user requests to Main site in AWS USA east region. In case of outage in USA East region, the web requests are directed to same website hosted in USA West region Main Site - AWS USA East Region Dynamic/Managed/ Directional DNS Servers Main Site- AWS USA West Region 2 MySQL Master D AWS Elastic Load Balancer USA-East-1A Auto Scaling AWS ELB balances the requests between the Auto scaled EC2 launched in multiple AZ s inside the EAST region 3 S3 USA-East-1C Auto Scaling MySQL Master MySQL is launched in Multiple AZ s inside the EAST region with M-M replication mode C L O U D W A T C H 4 MySQL Master AWS Elastic Load Balancer USA-WEST-1A Auto Scaling S3 MySQL Master replication between USA EAST and WEST regions are setup USA-WEST-1B Auto Scaling MySQL Master D C L O U D W A T C H MySQL M-M Replication

Website in Multiple AWS regions(using RDS) 1 Directional DNS Servers directs the user requests to Main site in AWS USA east region. In case of outage in USA East region,the web requests are directed to same website hosted in USA West region Main Site - AWS USA East Region AWS Elastic Load Balancer Dynamic/Managed/ Directional DNS Servers Main Site- AWS USA West Region AWS Elastic Load Balancer 2 USA-East-1A Auto Scaling RDS Master AWS ELB balances the requests between the Auto scaled EC2 launched in multiple AZ s inside the EAST region S3 USA-East-1C Auto Scaling RDS Standby C L O U D W A T C H USA-WEST-1A Auto Scaling RDS Standby S3 USA-WEST-1B Auto Scaling RDS Master C L O U D W A T C H D 3 MySQL is launched in Multiple AZ s inside the EAST region with HA replication mode 4 RDS Master replication between USA EAST and WEST regions is done programmatically D Programmatic Replication

HA across AWS regions Leverages AWS Inter Region application hosting Website is hosted on multiple Regions on AWS ( example USA east west, USA EUR etc) GEO traffic distribution and HA across continents is possible in this Architecture blueprint Directional DNS combined with Route 53 Suitable for companies which demand high level of Scalability, load balancing and Availability across the globe

High Availability @ DNS Layer Managed DNS server will provide automatic failover at DNS level in case of a outage at the primary website location Transparent switch between websites hosted in AWS East and AWS West/Europe within <60 seconds during outage Automatic Traffic diversion to nearest site location Managed/Directional DNS servers are globally distributed and Highly Available Service

High Availability @ Database Layer (RDS) Both AWS regions have RDS Master/Stand by Setup Programmatic replication of data between RDS Masters/Read in different AWS regions is needed HA inside a Region and across the Regions

High Availability @ Database (Non RDS) Master - Master MySQL is configured in two different AZ s ( offering HA inside Region) Configure Asynchronous Read slaves in Multiple AZ s Master Master replication is configured between MySQL of different regions ( HA across regions) Elastic IP & health check based elevation within 60 seconds during failure Asynchronous data replication

Positives Scalable and Highly available Architecture Inter Regional High Availability in AWS In event of failure at USA east region, the traffic can be directed to USA west/europe in seconds Website deployed in both regions can scale and shrink according to load Cost effective for large server farm deployments Low latency achieved through traffic direction No customers are lost because of load or availability problems. Ops are happy!!!

Negatives Complete Dependency on AWS cloud Technically complex and intricate setup Costlier to build and operate (Sophistication comes at a cost) No Unified Infra Management currently for this architecture Example : Directional DNS and AWS are two separate management consoles

Summary Understood some AWS Building blocks for HA and fault tolerance Applied AWS HA techniques for sample use case How to achieve High Availability across AWS Availability Zones (AZ s)? How to achieve High Availability across AWS regions?

How do I leverage High Availability architecture on AWS?

Leave it to the experts, we will handle this Cloud Architecture Consulting Cloud Application Development Cloud Migration & Implementation Cloud Adoption Strategy Let's get the job done

Q & A All you need is an idea and the cloud will execute it for you. (Structure 2010 event) - Dr Werner Vogels, CTO of Amazon on 8KMiles Contact : http://cloud.8kmiles.com cloud@8kmiles.com harish@8kmiles.com