Best Practices in Architecting for the Cloud Webinar - Jinesh Varia

This deck discusses general best practices of architecting applications in the cloud. It was used in May 2011 Architecture Center webinars. For more information, read the whitepaper available at
…

This deck discusses general best practices of architecting applications in the cloud. It was used in May 2011 Architecture Center webinars. For more information, read the whitepaper available at http://bit.ly/aws-best-practices

4.
Cloud Computing Attributes Why Architects love the cloud? Abstract No Servers or Hard drives but Instances and Volumes. Resources Cloud resources are fungible.On-Demand Ask for what you need, exactly when you need it. Get ridProvisioning of it when you don’t need.Scalability in minutes Scale out or in depending on usage needs. Pay perconsumption You stop paying for resources when you turn them off Cloud gives you access to scriptable infrastructure.Automation Allows you to automate using APIs.

5.
The “Living and Evolving”The “Living and Evolving” Cloud Cloud AWS services and basic terminology Tools to access services Cross Service features Platform building blocks Infrastructure building blocks

7.
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 the underlying physicalhardware fails or is removed or replaced.

8.
Design for Failure with AWS Tools to make your life easierUse Fault-tolerant Services as Ingredients of your App

25.
Design for Failure with AWS Tools to make your life easierUse Fault-tolerant Services as Ingredients of your AppUse Amazon Elastic Block Store (EBS) SnapshotsAuto-scaling for Auto-RecoveryMulti-AZ Data Replication and RecoveryOn-demand application provisioning in a different AZ

35.
3. Implement Elasticity Towards elastic architecturesResilient to reboot and re-launch:Design the system such that in the event of a failure, it is resilient enough toautomatically re-launch and restart. Forcefully fail and test.Stateless:Extract stateful components out and make them statelessPackable into an AMI:Package and deploy your application into an AMI so it can run on an AmazonEC2 instance. Try to run multiple instances of the application on one EC2instance, if needed. Run multiple instances on multiple Amazon EC2instances.Decouple:Isolate the components using Amazon SQS. Decouple code with deploymentand configuration.

45.
5. Think Parallel Serial and Sequential is now historyExperiment different architectures in parallelMulti-treading and Concurrent requests to cloud servicesRun parallel MapReduce Jobs on Amazon Elastic MapReduceUse Elastic Load Balancing to distribute load across multiple serversDecompose a Job into its simplest form