Architectural Best Practice      Ianni Vamvadelis       Solutions Architect
ArchitecturalPatterns with AWS
#1 Architecture Patterns#2 Example Designs#3 Automation
Architecture Patterns
Cloud Architecture Lessons                    using Amazon Web Services1.   Design for failure and nothing fails2.   Loose...
1. Design for Failure                   …and nothing will really fail"Everything fails, all the time"Werner Vogels, CTO Am...
1. Design for Failure        AWS provides tools to make your life easierUse Elastic IP addresses, Route53Use multiple Amaz...
2. Build Loosely Coupled Systems            The looser theyre coupled, the bigger they scaleIndependent componentsDesign e...
3. Implement Elasticity         Elasticity is a fundamental property of the Cloud           Bootstrap your instances: “Who...
4. Build Security in every layer                Design with Security in mindCreate distinct Security Groups for each app t...
5. Dont fear constraints               Re-think architectural constraints                   More RAM? Distribute load acro...
6. Think Parallel          Horizontal scaling instead of vertical scaling…Use Elastic Load Balancing to distribute load ac...
7. Leverage many storage options                   One size does not fit allAmazon   S3: large static objectsAmazon   Clou...
Cloud Architecture Lessons                            Best Practices1.   Design for failure and nothing fails2.   Loose co...
Example Designs
Loosely CoupledAmazon Simple Queue Service
Elasticity    andMulti-AZ
Autoscaling 3 Approaches to design MDEThree Services: Better Together                Elastic Load                  Balance...
US East Region (N. VA)           EU West Region (Ireland)                   Japan Region (Tokyo)Availability        Availa...
Automation
Automation EnablesProvisioning of Environments    Recovery from Failure  Schedule Big Data Analysis Scaling Out / In / Up ...
AWS CloudFormation Template-based provisioning service
Example: Gallery
API Summarydescribe <xyz>    create   update    delete
Command LineScript your IT infrastructure
Examples                              EC2ec2-describe-instancesec2-run-instances -t m1.small -g demo -k useast_keypair ami...
CodeControl AWS Resources
http://aws.amazon.com/eclipse/
ExamplesVisual Studio app
Instance Metadata
ExamplesCLI launch + User-Data
How Can I Obtain Info about Myself           from a Running Instance?              http://169.254.169.254/latest/meta-data...
Architecture      Whitepapersaws.amazon.com/whitepapers
Cloud Best Practices Whitepapers     Prescriptive guidance to Architects     aws.amazon.com/whitepapers      © 2011 Amazon...
Architecture Centeraws.amazon.com/architecture
THANK YOUaws.amazon.com
Architectural Best Practices, Introduction to AWS, Cambridge
Architectural Best Practices, Introduction to AWS, Cambridge
Architectural Best Practices, Introduction to AWS, Cambridge
Architectural Best Practices, Introduction to AWS, Cambridge
Architectural Best Practices, Introduction to AWS, Cambridge
Architectural Best Practices, Introduction to AWS, Cambridge
Architectural Best Practices, Introduction to AWS, Cambridge
Architectural Best Practices, Introduction to AWS, Cambridge
Architectural Best Practices, Introduction to AWS, Cambridge
Architectural Best Practices, Introduction to AWS, Cambridge
Architectural Best Practices, Introduction to AWS, Cambridge
Architectural Best Practices, Introduction to AWS, Cambridge
Architectural Best Practices, Introduction to AWS, Cambridge
Architectural Best Practices, Introduction to AWS, Cambridge
Upcoming SlideShare
Loading in...5
×

Architectural Best Practices, Introduction to AWS, Cambridge

1,092

Published on

Published in: Technology, Business
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,092
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Architectural Best Practices, Introduction to AWS, Cambridge

  1. 1. Architectural Best Practice Ianni Vamvadelis Solutions Architect
  2. 2. ArchitecturalPatterns with AWS
  3. 3. #1 Architecture Patterns#2 Example Designs#3 Automation
  4. 4. Architecture Patterns
  5. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 15. Example Designs
  16. 16. Loosely CoupledAmazon Simple Queue Service
  17. 17. Elasticity andMulti-AZ
  18. 18. Autoscaling 3 Approaches to design MDEThree Services: Better Together Elastic Load Balancer Latency Utilization Auto Scaling CloudWatch Metrics
  19. 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. 20. Automation
  21. 21. Automation EnablesProvisioning of Environments Recovery from Failure Schedule Big Data Analysis Scaling Out / In / Up /Down Create Touchless systems
  22. 22. AWS CloudFormation Template-based provisioning service
  23. 23. Example: Gallery
  24. 24. API Summarydescribe <xyz> create update delete
  25. 25. Command LineScript your IT infrastructure
  26. 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. 27. CodeControl AWS Resources
  28. 28. http://aws.amazon.com/eclipse/
  29. 29. ExamplesVisual Studio app
  30. 30. Instance Metadata
  31. 31. ExamplesCLI launch + User-Data
  32. 32. How Can I Obtain Info about Myself from a Running Instance? http://169.254.169.254/latest/meta-dataami-id 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. 33. Architecture Whitepapersaws.amazon.com/whitepapers
  34. 34. Cloud Best Practices Whitepapers Prescriptive guidance to Architects aws.amazon.com/whitepapers © 2011 Amazon.com, Inc. and its affiliates. All rights reserved.
  35. 35. Architecture Centeraws.amazon.com/architecture
  36. 36. THANK YOUaws.amazon.com

×