• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
AWS Summit 2011: Architecting in the cloud
 

AWS Summit 2011: Architecting in the cloud

on

  • 1,661 views

 

Statistics

Views

Total Views
1,661
Views on SlideShare
1,655
Embed Views
6

Actions

Likes
1
Downloads
42
Comments
0

1 Embed 6

http://paper.li 6

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    AWS Summit 2011: Architecting in the cloud AWS Summit 2011: Architecting in the cloud Presentation Transcript

    • Matt Tavis Principal Solutions Architect Architecting in the Cloud
    • Cloud Best Practices Whitepaper Prescriptive guidance to Cloud Architects Just Search for “Cloud Best Practices” to find the linkhttp://media.amazonwebservices.co m/AWS_Cloud_Best_Practices.pdf
    • Cloud Computing Attributes What makes the Cloud so attractive Abstract Focus on your needs, not on hardware specs. As your Resources needs change, so should your resources.On-Demand Ask for what you need, exactly when you need it. Get ridProvisioning of it when you don’t needScalability in minutes Scale out or in depending on usage needs. Pay per No contracts or long-term commitments.consumption Pay only for what you use.Efficiency of Experts Utilize the skills, knowledge and resources of experts.
    • The “Living and Evolving” Cloud AWS services and basic terminologyMost Applications Need:1. Compute2. Storage3. Messaging4. Payment5. Distribution6. Scale7. Analytics
    • Scalability Build Scalable Architecture on AWS A scalable architecture is critical to take advantage of a scalable infrastructureCharacteristics of Truly Scalable Service Increasing resources results in a proportional increase in performance A scalable service is capable of handling heterogeneity A scalable service is operationally efficient A scalable service is resilient A scalable service becomes more cost effective when it grows
    • 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
    • 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.
    • 2. Loose coupling sets you free The looser theyre coupled, the bigger they scale Independent components Design everything as a Black Box De-coupling for Hybrid models Load-balance clustersUse Amazon SQS as Buffers Tight Coupling Controller A Controller B Controller C Q Q Q Loose Coupling using Queues Controller A Controller B Controller C
    • 3. Implement Elasticity Elasticity is fundamental property of the Cloud Don’t assume health or fixed location of components Use designs that are resilient to reboot and re-launch Bootstrap your instances: Instances on boot will ask a question “Who am I & what is my role?” Enable dynamic configurationUse Auto-scaling (Free)Use Elastic Load Balancing on multiple layersUse configurations in SimpleDB to bootstrap instance
    • 4. Build Security in every layer Design with Security in mindWith cloud, you lose a little bit ofphysical control but not yourownershipCreate distinct Security Groups for each Amazon EC2 clusterUse group-based rules for controlling access between layersRestrict external access to specific IP rangesEncrypt data “at-rest” in Amazon S3Encrypt data “in-transit” (SSL)Consider encrypted file systems in EC2 for sensitive dataRotate your AWS Credentials, Pass in as arguments encryptedUse MultiFactor Authentication
    • 4. Build Security in every layer Design with Security in mind “Web” Security Group: TCP 80 0.0.0.0/0 TCP 443 0.0.0.0/0 TCP 22 “App” “App” Security Group: TCP 8080 “Web” TCP 22 172.154.0.0/16 TCP 22 “App” “DB” Security Group: TCP 3306 “App” TCP 3306 163.128.25.32/32 TCP 22 “App”
    • 5. Dont fear constraints Re-think architectural constraints More RAM? Distribute load across machines Shared distributed cacheBetter IOPS on my database?Multiple read-only / sharding / DBclustering Hardware ConfigYour hardware failed or messed up config? does not match?simply throw it away and switch to new Implement Elasticityhardware with no additional cost Performance Caching at different levels (Page, Render, DB)
    • 6. Think Parallel Serial and Sequential is now historyExperiment different architectures in parallelMulti-threading and Concurrent requests to cloud servicesRun parallel MapReduce JobsUse Elastic Load Balancing to distribute load across multiple serversDecompose a Job into its simplest form
    • 7. Leverage many storage options One size DOES NOT fit allAmazon S3: large static objectsAmazon CloudFront: content distributionAmazon SimpleDB: simple data indexing/queryingAmazon EC2 local disc drive : transient dataAmazon EBS: persistent storage for any RDBMS + Snapshots on S3Amazon RDS: RDBMS service - Automated and Managed MySQL
    • 7. Leverage many storage options Which storage option to use when? Amazon S3 + Amazon EC2 Amazon EBS Amazon Amazon RDS CF Ephemeral SimpleDB StoreIdeal for Storing Large Storing non- Off-instance Querying light- Storing and write-once, persistent persistent weight attribute querying read-many transient storage for any data structured types of updates kind of data, Relational and objects, Static referential Content Data DistributionIdeal examples Media files, Config Data, Clusters, boot Querying, Complex audio, video, scratch files, data, Log or Mapping, transactional images, TempDB data of tagging, click- systems, Backups, commercial stream logs, inventory archives, RDBMS like metadata, management versioning Oracle, DB2 shared-state and order management, fulfillment indexing systemsNot Querying, Storing Relational (joins)recommended Searching Database logs queryfor or backups, customer dataNot Database, File Sensitive data Content OLTP, DW cube Simplerecommended Systems Distribution rollups lookupsexamples
    • Applying CloudArchitecture LessonsMoving a Web Architecture to the Cloud
    • Exterior Firewall Hardware MyWebSite.comor Software Solution to openstandard Ports (80, 443)Web Load BalancerHardware or Software solutionto distribute traffic over web LBserversWeb TierFleet of machines handlingHTTP requests. Web Server Web ServerBackend Firewall Limitsaccess to application tier fromweb tier LBApp Load BalancerHardware or Software solution tospread traffic over app serversApp Server TierFleet of machines handling App Server App Server App server Backups onApplication specific workloads Tapes PeriodicCaching server machines can backups stored onbe implemented at this layer Tapes usually managed by 3rdData Tier party at their siteDatabase Server machines with MySQL MySQLmaster and local runningseparately, Network storage for Master (Slave)Static objects Tapes A Classic Web Architecture
    • MyWebSite.com DNS ELB: Web Tier LBDesign for failure and Auto-scaling group : Web Tier Auto-scaling group : Web Tier Web Server Web Server Web Server Web Server nothing fails SLB SLB App Server App Server App Server App Server Cloud Tomcat Tomcat Front Auto-scaling group : App Tier Auto-scaling group : App Tier RDS RDS RDS Amazon Master Slave Slave S3 Availability Zone #1 Availability Zone 2 Availability Zone #n A Scalable Web Architecture on AWS
    • MyWebSite.com DNS ELB: Web Tier LBLoose coupling sets you Auto-scaling group : Web Tier Auto-scaling group : Web Tier Web Server Web Server Web Server Web Server SLB SLB free App Server App Server App Server App Server Cloud Tomcat Tomcat Front Auto-scaling group : App Tier Auto-scaling group : App Tier RDS RDS RDS Amazon Master Slave Slave S3 Availability Zone #1 Availability Zone 2 Availability Zone #n A Scalable Web Architecture on AWS
    • MyWebSite.com DNS ELB: Web Tier LBImplement elasticity Auto-scaling group : Web Tier Auto-scaling group : Web Tier Web Server Web Server Web Server Web Server SLB SLB App Server App Server App Server App Server Cloud Tomcat Tomcat Front Auto-scaling group : App Tier Auto-scaling group : App Tier RDS RDS RDS Amazon Master Slave Slave S3 Availability Zone #1 Availability Zone 2 Availability Zone #n A Scalable Web Architecture on AWS
    • MyWebSite.com DNS ELB: Web Tier LBBuild Security in every Auto-scaling group : Web Tier Auto-scaling group : Web Tier Web Server Web Server Web Server Web Server SLB SLB layer App Server App Server App Server App Server Cloud Tomcat Tomcat Front Auto-scaling group : App Tier Auto-scaling group : App Tier RDS RDS RDS Amazon Master Slave Slave S3 Availability Zone #1 Availability Zone 2 Availability Zone #n A Scalable Web Architecture on AWS
    • MyWebSite.com DNS ELB: Web Tier LBLeverage many storage Auto-scaling group : Web Tier Auto-scaling group : Web Tier Web Server Web Server Web Server Web Server options SLB SLB App Server App Server App Server App Server Cloud Tomcat Tomcat Front Auto-scaling group : App Tier Auto-scaling group : App Tier RDS RDS RDS Amazon Master Slave Slave S3 Availability Zone #1 Availability Zone 2 Availability Zone #n A Scalable Web Architecture on AWS
    • 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
    • http://aws.amazon.com