Engineering the Cloud Andrew McCombs March 10th, 2011 What is the Cloud What is the Cloud? What is the "Cloud"? • According to Microsoft, "The cloud is simply another name for the internet." • No formal definition Why a "Cloud"? • Used to show network diagrams What is the "Cloud" in cloud computing? • Refers to where applications are run and stored. Benefits of Cloud Computing Reduced Costs • Initial infrastructure setup • Infrastructure maintenance and upgrades Reliability • Google Apps boasts a 99.9% uptime Scalability • Virtually unlimited computing power and storage Security of the cloud • More dedicated resources Risks of Cloud Computing No internet? • One big problem. Outages • At the mercy of your cloud provider Big Brother? • Cloud provider has access to personal information Security • Limited to the security of your cloud provider Engineering the Cloud IaaS - Infrastructure as a Service What is IaaS? • Service which delivers computer infrastructure • Typically consists of virtual platforms Why use an IaaS provider? • Don't have to purchase expensive equipment • Don't have to deal with maintenance on equipment • Create customized instances of an OS • Scalability Amazon Web Services Amazon Elastic Compute Cloud (EC2) • provides scalable computing capacity in the cloud. • Pay for what you use • Start new server instances on-demand Can run instances of different OS's • RedHat Linux, Windows Server, openSuSE Linux, Fedora, Debian, OpenSolaris, Cent OS, Gentoo Linux, and Oracle Linux. Allows small businesses to inexpensively acquire the resources they need Engineering the Cloud SaaS -Software as a Service What is SaaS? • Web based applications • No hardware or software to install • End users just login and go. Benefits of SaaS applications? • Saves space on users computer • Everything is done in the browser • Don't have to worry about hardware SaaS -Software as a Service What is SaaS? • Web based applications • No hardware or software to install • End users just login and go. Risks of SaaS applications? • Must have the internet • Password protected • Personal privacy Engineering the Cloud PaaS - Platform as a Service What is PaaS? • Set of web based development tools that are hosted on a cloud provider's infrastructure. Benefits of developing with an PaaS • Easy to upload to the cloud. • Don't have to worry about hosting your application • Provides full analytics software. • Dynamically Scales Windows Azure What is Windows Azure • Platform for developing web applications that fully integrates into Visual Studio Supported Languages • Standard .Net languages • PHP • Java • Ruby Benefits of Windows Azure • Great pool of resources • Integrates into Visual Studio Google App Engine What is Google App Engine? • Platform for developing web applications on Google's data centers Supported Languages • Java and JavaScript • Ruby • Python Benefits of Google App Engine • 500 MB of storage and 5 million page views / month Free • Cost Efficient • Instant Scalability • Easy to use Resources [1] “Amazon Web Services.”Amazon Web Services. Web. 06 Mar. 2011. <http://aws.amazon.com/>. [2] "Google App Engine." Google Code. Web. 06 Mar. 2011. <http://code.google.com/appengine/>. [3] Rittinghouse, John W., and James F. Ransome. Cloud Computing: Implementation, Management, and Security. Boca Raton, Fla. [u.a.: CRC, 2010. Print. [4] Windows Azure. Web. 06 Mar. 2011. <http://www.microsoft.com/windowsazure/windowsazure/#>. [5] Start Up- To the Cloud - Windows . Tue. 08 Mar. 2011. <http://www.youtube.com/watch?v=-HRrbLA7rss>