AWS Start-Up Event 2009 - Jinesh Varia Architecting Cloud Apps

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    4 Favorites & 1 Group

    AWS Start-Up Event 2009 - Jinesh Varia Architecting Cloud Apps - Presentation Transcript

    1. Architecting for the AWS Cloud Twitter: @jinman Jinesh Varia Technology Evangelist [email_address]
    2. Cloud Computing Attributes What makes the Cloud so attractive Abstract Resources Focus on your needs, not on hardware specs. As your needs change, so should your resources. On-Demand Provisioning Ask for what you need, exactly when you need it. Get rid of it when you don’t need Scalability Scale out or in depending on usage needs. No Up-Front Costs No contracts or long-term commitments. Pay only for what you use. Efficiency of Experts Utilize the skills, knowledge and resources of experts.
    3. Scalability Characteristics of Truly Scalable Service Build Scalable Architecture on AWS A scalable architecture is critical to take advantage of a scalable infrastructure
        • 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
    4. Cloud Architecture Lessons 1. Design for failure and nothing fails 2. Loose coupling sets you free 3. Design for dynamism 4. Build Security in every layer 5. Don't fear constraints 6. Leverage AWS storage options using Amazon Web Services
    5. 1. Design for Failure "Everything fails, all the time" Werner Vogels , CTO Amazon.com and nothing will really fail Avoid single points of failure Assume everything fails, and design backwards
    6. Design for Failure with AWS Tools to make your life easier Use Elastic IP addresses for consistent and re-mappable routes Use multiple Amazon EC2 Availability Zones (AZs) Create multiple database slaves across AZs Use real-time monitoring (Amazon CloudWatch) Use Amazon Elastic Block Store (EBS) for persistent file systems
    7. 2. Build Loosely Coupled Systems The looser they're coupled, the bigger they scale Independent components Design everything as a Black Box De-coupling for Hybrid models Load-balance clusters Controller A Controller B Controller C Controller A Controller B Controller C Q Q Q Tight Coupling Loose Coupling using Queues Use Amazon SQS as Buffers
    8. 3. Design for Dynamism Don’t assume health or fixed location of components Use designs that are resilient to reboot and re-launch Bootstrap your instances Enable dynamic configuration Dynamism gives you elasticity, failover and scalability Use Auto-scaling (Free) Use Elastic Load Balancing on multiple layers Use configurations in SimpleDB to bootstrap instance
    9. 4. Build Security in every layer Physical is free Network is easy The rest can be added Security is everywhere Create distinct Security Groups for each Amazon EC2 cluster Use group-based rules for controlling access between layers Restrict external access to specific IP ranges Encrypt data “at-rest” in Amazon S3 Encrypt data “in-transit” (SSL) Consider encrypted file systems in EC2 for sensitive data
    10. 5. Don't fear constraints More RAM? Distribute load across machines Shared distributed cache Re-think architectural constraints Better IOPS on my database? Multiple read-only / sharding / DB clustering Your server has better config? Implement elasticity Static IP? Boot script for software reconfiguration from SimpleDB
    11. 6. Leverage many storage options Amazon S3 : large static objects Amazon Cloudfront : content distribution Amazon SimpleDB : simple data indexing/querying Amazon EC2 local disc drive : transient data Amazon EBS : RDBMS persistent storage + S3 Snapshots Which storage option to use when?
    12. Cloud Architecture Lessons Best Practices 1. Design for failure and nothing fails 2. Loose coupling sets you free 3. Design for dynamism 4. Build Security in every layer 5. Don't fear constraints 6. Leverage many storage options
    13. AWS community and Ecosystem AWS Ecosystem AWS Community Find help, guidance, assistance when you need it
    14. Photo: La Pedrera - Casa Milà, Barcelona - Antonio Gaudi Migrating a Web Application to AWS
    15. Migrating your Web Application A typical Web App needs: Step by Step towards AWS Compute Power Storage capacity Content Distribution Database storage Messaging Load balancing Monitoring
    16. Web Server / Presentation Layer Application Server / Business Logic Database Client Browser Migrating your Web Application - 1/8 Typical Web App Architecture
    17. Use Amazon S3 for Storage Store persistent files in Amazon S3 for lower costs, higher reliability Client Browser Migrating your Web Application - 2/8 Amazon S3 for Storage
    18. Use Amazon CloudFront Amazon CloudFront is a content delivery network that caches data stored in Amazon S3 across a network of 14 edge locations around the world Client Browser Migrating your Web Application - 3/8 Amazon CloudFront for distribution
    19. Use Amazon EC2 for Compute Configure Amazon EC2 running your choice of web server to handle all incoming web requests. Client Browser Migrating your Web Application - 4/8 Amazon EC2 for your choice of web servers
    20. Use Amazon EC2 for Compute Configure multiple Amazon EC2 instances running your choice of application server to process requests. Use Availability Zones and Elastic IPs for greater reliability and resiliency. Utilize Auto-scaling and Elastic LB service Client Browser Migrating your Web Application - 4/8 Scale out App servers on Amazon EC2
    21. Use Amazon EBS for Database Configure an Amazon EBS device to host your existing relational database. Snapshots can be automatically backed up to Amazon S3. Client Browser Migrating your Web Application - 5/8 EBS for Persistent Storage and S3 for Snapshots
    22. Use Amazon SQS Amazon SQS makes it easy to coordinate between the web server and application servers. Client Browser SQS Migrating your Web Application - 6/8 Amazon SQS for queuing requests
    23. Use Amazon SimpleDB Amazon SimpleDB can be used to store metadata, logfiles, and other information for your site. SimpleDB Client Browser SQS Migrating your Web Application - 7/8 Amazon SimpleDB for log files, metadata
    24. Use Amazon SimpleDB Amazon CloudWatch to monitoring your Amazon EC2 instances SimpleDB Client Browser SQS Migrating your Web Application - 8/8 Monitor your Amazon EC2 instances using CloudWatch
    25. Migrating your Web Application A typical Web App needs: Step by Step towards AWS Compute Power Storage capacity Content Distribution Database storage Messaging Load balancing Monitoring With AWS: Amazon EC2 Amazon S3 Amazon CloudFront Amazon EBS Amazon SQS Amazon EC2 Amazon CloudWatch
    26. Other Services Wait, there’s more… Amazon Elastic MapReduce Hosted Hadoop Framework on Amazon EC2 and Amazon S3 to crunch large amounts of data AWS Import/Export For uploading large datasets to Amazon S3, Ship us your hard drives - “sneaker net” to Amazon S3 Amazon Flexible Payments Service PCI-compliant Payment infrastructure built from the ground up for Developers Amazon Mechanical Turk A Flexible, Scalable Workforce with a programmatic interface (400K People in 100 Countries)
    27. Amazon Web Services tools Web : AWS Management Console IDE : AWS Toolkit for Eclipse Tools : iPhone Apps CloudBerry Explorer AWSZone Firefox Plugins : ElasticFox, S3Fox, SDB Tool Several libraries Things you need
    28. Photo: Grand Canyon Hopi Point SunSet Conclusions
      • Most Important Lesson From Our Customers:
        • Start small with a well-defined proof of concept that will
        • highlight the power of AWS
        • Build support in your organization
        • Once one application is launched others will follow…
    29. jvaria@amazon.com Twitter:@jinman Presentation idea from @simon Thank you!
    30. http://aws.amazon.com
    31. Backup
    32. EC2 Instance B YourWebTwoDotZeroName.com EC2 Instance A
    33. YourWebTwoDotZeroName.com EC2 Instance B Amazon S3 LOG Volume DATA Volume EC2 Instance A LOG Volume DATA Volume

    + tracylaxdaltracylaxdal, 4 months ago

    custom

    1477 views, 4 favs, 0 embeds more stats

    Jinesh Varia, Technical Evangelist, Amazon Web Serv more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1477
      • 1477 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 4
    • Downloads 69
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Groups / Events