Designing Fault Tolerant Applications on AWS - Janakiram MSV


Published on

Published in: Technology, Travel

Designing Fault Tolerant Applications on AWS - Janakiram MSV

  1. 1. Designing  Fault  Tolerant   Applica3ons  on  AWS     Janakiram  MSV   Technology  Evangelist,  India   Amazon  Web  Services    
  2. 2. Designing  Fault-­‐Tolerant     Applica3ons  on     AWS   Janakiram  MSV   Technology  Evangelist   Amazon  Web  Services  @janakiramm  
  3. 3. Based  on  the  white  paper      Building  Fault-­‐Tolerant  Applica4ons   on  AWS  
  4. 4. Agenda  •  AWS  Building  Blocks  •  Amazon  EC2  Architecture   –  AMI   –  EIP   –  EBS   –  ELB  •  HA  features  of  Amazon  RDS   –  MulN-­‐AZ    •  Summary  
  5. 5. AWS  Building  Blocks   Tools  to  access   services   Cross  Service   features   Pla4orm  building   blocks   Infrastructure   building  blocks  
  6. 6. Amazon  EC2   Flexible  Compute  Capacity  on  the  Cloud  •  ElasNc  •  Completely  Controlled  •  Flexible  •  Reliable  •  Secure  •  Inexpensive  
  7. 7. Amazon  EC2  Architecture   Region   Ephemeral   Amazon   Storage   Machine   Availability  Zone   Image   Elas3c   EC2  Instance   Block   Storage   Amazon   Security  Groups  CloudWatch   Elas3c  IP  Auto  Scale   Elas3c     Load  Balancer   Amazon  S3   EBS   EBS   Snapshot   Snapshot  
  8. 8. ElasNc  IP  •  Public  StaNc  IP  Address  •  Associated  with  an  AWS  account  •  Dynamically  assign  to  a  running  instance  •  Quickly  remap  EIP  to  any  instance  
  9. 9. ElasNc  IP   ElasNc  IP  WWW  WWW   EC2  Instance   DB   DB  
  10. 10. ElasNc  Block  Store  •  Create  storage  volumes  from  1GB  to  1TB  •  Can  be  formaVed  with  a  naNve  file  system  •  Storage  volume  is  automaNcally  replicated  within   the  same  Availability  Zone  •  Ability  to  create  point-­‐in-­‐Nme  snapshots  that  can   be  stored  on  S3  •  IntegraNon  with  Amazon  CloudWatch  to  track   performance  metrics  
  11. 11. EBS   ElasNc  IP  WWW   EC2  Instance   DB   EBS  
  12. 12. EBS   ElasNc  IP   EC2  Instance  WWW   EBS   DB  
  13. 13. Instance  Metadata  •  Used  to  build  generic  AMIs  •  Access  instance  specific  data  that  is  unique  •  Access  user  supplied  data  •  User  supplied  metadata  is  limited  to  16K    •  Metadata  is  available  at  h9p://  
  14. 14. Making  the  AMI  Dynamic   Amazon   S3  
  15. 15. Dynamic  Discovery  of  the  DB  Web  Server  1   Web  Server  2   Web  Server  3       DB1   DB2   DB3   Slave   Slave   Slave       DB     Master  
  16. 16. ElasNc  Load  Balancer  •  Distribute  incoming  traffic  across  instances   running  across  Availability  Zones  •  Detect  the  health  of  instances  and  block  traffic   to  unhealthy  instances  •  Supports  sNcky  sessions  •  Supports  both  IPv4  and  IPv6  •  Request  count  and  Request  latency  metrics  in   Amazon  CloudWatch  
  17. 17. Amazon  RDS  •  Amazon  RDS  is  a  web  service  to  setup,  operate  and   scale  a  database  on  Cloud  •  Access  to  familiar  databases  like  MySQL  or  Oracle  •  Manages  patching,  backup  and  recovery  •  Supports  scale-­‐out  for  read-­‐heavy  database  workloads   on  MySQL  •  No  upfront  investment;  pay-­‐as-­‐you-­‐go  pricing  model  
  18. 18. MulN-­‐AZ  in  Amazon  RDS   Client  Applica3on   MySQL   MySQL   AutomaNc  Failover   RDS   RDS   Primary   Standby   Synchronous  ReplicaNon  Availability  Zone   Availability  Zone   1   2  
  19. 19. Summary  •  Start  with  EC2  •  AVach  an  ElasNc  IP  •  Create  and  aVach  EBS  •  Bundle  generic  AMIs  •  Associate  EC2  instances  with  the  ELB  •  Launch  RDS  DB  Instances  in  MulN-­‐AZ  
  20. 20. Resources  •  hVp://    •  hVp://    •  hVp://  •  hVp://