Your SlideShare is downloading. ×
Architectural Best Practices, Introduction to AWS, Cambridge
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Architectural Best Practices, Introduction to AWS, Cambridge


Published on

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Architectural Best Practice Ianni Vamvadelis Solutions Architect
  • 2. ArchitecturalPatterns with AWS
  • 3. #1 Architecture Patterns#2 Example Designs#3 Automation
  • 4. Architecture Patterns
  • 5. Cloud Architecture Lessons using Amazon Web Services1. Design for failure and nothing fails2. Loose coupling sets you free3. Implement “Elasticity”4. Build Security in every layer5. Dont fear constraints6. Think Parallel7. Leverage different storage options
  • 6. 1. Design for Failure …and nothing will really fail"Everything fails, all the time"Werner Vogels, CTO Amazon.comAvoid single points of failureAssume everything fails, and design backwardsGoal: Applications should continue to function even if theunderlying physical hardware fails or is removed or replaced.
  • 7. 1. Design for Failure AWS provides tools to make your life easierUse Elastic IP addresses, Route53Use multiple Amazon EC2 Availability Zones (AZs)Create database slaves across AZsUse monitoring and alertingUse persistent storageAutomate operational processes
  • 8. 2. Build Loosely Coupled Systems The looser theyre coupled, the bigger they scaleIndependent componentsDesign everything as a Black BoxDe-coupling for Hybrid modelsLoad-balance servicesAmazon SQS and SWF
  • 9. 3. Implement Elasticity Elasticity is a fundamental property of the Cloud Bootstrap your instances: “Who am I & what is my role?” Use designs that are resilient to reboot and re-launchUse Auto-scalingUse Elastic Load BalancingUse configurations in a durable store to bootstrap instance
  • 10. 4. Build Security in every layer Design with Security in mindCreate distinct Security Groups for each app tier/roleRestrict external access to IP rangesEncrypt data “at-rest” and “in-transit”Use Multi-Factor AuthenticationUse Amazon Virtual Private Cloud
  • 11. 5. Dont fear constraints Re-think architectural constraints More RAM? Distribute load across machines Shared distributed in-memory cacheBetter IOPS on my database?Multiple read-only / sharding / DBclustering / Non-relationalYour hardware failed or messed up config?simply throw it away and switch to newhardware with no additional cost Performance Caching at all levels (Data, Pages, Amazon CloudFront)
  • 12. 6. Think Parallel Horizontal scaling instead of vertical scaling…Use Elastic Load Balancing to distribute load across multiple serversExperiment with different architectures in parallelMulti-threading and Concurrent requests to cloud servicesRun parallel MapReduce Jobs
  • 13. 7. Leverage many storage options One size does not fit allAmazon S3: large static objectsAmazon Cloudfront: content distributionAmazon DynamoDB: simple querying, seemless scaleAmazon EC2 local disc drive : transient dataAmazon EBS: persistent storage + Snapshots on S3Amazon RDS: RDBMS service (MySQL, Oracle, MS SQL Server)
  • 14. Cloud Architecture Lessons Best Practices1. Design for failure and nothing fails2. Loose coupling sets you free3. Implement Elasticity4. Build Security in every layer5. Dont fear constraints6. Think Parallel7. Leverage many storage options
  • 15. Example Designs
  • 16. Loosely CoupledAmazon Simple Queue Service
  • 17. Elasticity andMulti-AZ
  • 18. Autoscaling 3 Approaches to design MDEThree Services: Better Together Elastic Load Balancer Latency Utilization Auto Scaling CloudWatch Metrics
  • 19. US East Region (N. VA) EU West Region (Ireland) Japan Region (Tokyo)Availability Availability Availability Availability Zone A Zone B Zone A Zone B Availability Availability Zone A Zone BAvailability Availability Availability Zone C Zone D Zone C US West 1 Region (N. CA) APAC Region (Singapore) US West 2 Region (Oregon)Availability Availability Availability Availability Availability Availability Zone A Zone B Zone A Zone B Zone A Zone B
  • 20. Automation
  • 21. Automation EnablesProvisioning of Environments Recovery from Failure Schedule Big Data Analysis Scaling Out / In / Up /Down Create Touchless systems
  • 22. AWS CloudFormation Template-based provisioning service
  • 23. Example: Gallery
  • 24. API Summarydescribe <xyz> create update delete
  • 25. Command LineScript your IT infrastructure
  • 26. Examples EC2ec2-describe-instancesec2-run-instances -t m1.small -g demo -k useast_keypair ami-a29943cb EBSec2-create-volume –z eu-west-1a –s 100ec2-attach-volume vol-4bc54b23 –i i-f1ada197
  • 27. CodeControl AWS Resources
  • 28.
  • 29. ExamplesVisual Studio app
  • 30. Instance Metadata
  • 31. ExamplesCLI launch + User-Data
  • 32. How Can I Obtain Info about Myself from a Running Instance? local-hostnameami-launch-index local-ipv4ami-manifest-path macblock-device-mapping/ network/hostname placement/instance-action profileinstance-id public-hostnameInstance-type public-ipv4kernel-id public-keys/ reservation-id
  • 33. Architecture
  • 34. Cloud Best Practices Whitepapers Prescriptive guidance to Architects © 2011, Inc. and its affiliates. All rights reserved.
  • 35. Architecture
  • 36. THANK