Definitions“A pool of abstracted, highly scalable, and managed computer infrastructure capable of hosting end-customer applications and billed by consumption”“Cloud computing is an emerging approach to shared infrastructure in which large pools of systems are linked together to provide IT services.”
The “Cloud Computing ” advantages• Ease of Use• Scalability• Risk• Reliability• Cost
Ease of Use• Deploy infrastructure with a mouse or API – No cabling, screwdrivers, racking, unboxing, buying – Middle of the night – Do it yourself remotely from anywhere anytime
Scalability1.Control your infrastructure with your applicationdemands.2.No need to purchase expensive hardwares forscalability.
Risk1. Nothing to buy2. Cancel immediately3. Change instantly, even operating systems4. Throw it out5. Rebuild it instantly after testing RISK
Reliability1. Based on High quality hardware2. Design for failures: › Automatically spin up replacements › Use multiple clouds
Cost1. Pay for only what you use2. No need to buy in advance3. Zero Capital Outlay4. No contracts
Defining the Segments• SaaS – Software as a Service• PaaS – Platform as a Service• IaaS – Infrastructure as a Service Storage as a Service
Cloud “Applications”• In SaaS no need to buy expensive licensed applications• Examples: SalesForce, Gmail, Yahoo! Mail, Quicken Online• Instead of selling you a copy of Microsoft Word for $300, a cloud computing model would "rent" word processing software to you through the Internet for perhaps 5 dollars a month.• Advantages: Free, Easy, repair a single central copy of the product online• Disadvantages: Limited functionality, no control or access to underlying technology, you have to trust into the online software vendors.
Cloud “Platforms”• “Containers”• “Closed” environments• Examples: Google App Engine(support only java & python), ,Force.com(support 16 languages) ,Windows Azure(.Net,java,Php), Mosso, Engine Yard, Joyent• Advantages: Good for developers, more control than “Application” Clouds, tightly configured• Disadvantages: Restricted to what is available, other dependencies
Cloud “Infrastructure”• Provide “Compute” and “Storage” clouds• Virtualization layers (hardware/software)• Examples: Amazon EC2, GoGrid, Amazon S3, Nirvanix, Linode• Advantages: Full control of environments and infrastructure• Disadvantages: premium price point, limited competition
The “Cloud Pyramid”•Layers equate structure•Building blocks: Infrastructure, Platforms,Applications
The “Cloud Pyramid” Inversed 1000’s of Cloud Applications currently Handful of Cloud Platforms Elite group of Cloud Infrastructure providers # of Marketplace providers
Cloud “Extenders”• Provides extension to Cloud Infrastructure and Platforms with basic functionality• Examples: Amazon SimpleDB, Amazon SQS, Google BigTable• Advantages: Extends functionality of Compute & Storage Clouds to integrate with other clouds• Disadvantages: Sometimes requires use of specific Platforms or Infrastructure
Cloud “Aggregators”• Sits on top of various Cloud Infrastructures for management• Examples: RightScale, Appistry• Advantages: Provides more options for Cloud environments• Disadvantages: Dependent on Cloud Providers
The NEW “Cloud Pyramid”
Amazon.com• American multinational electronic commerce company. with headquarters in Washington.• It is the worlds largest online retailer. and is a major provider of cloud computing services.
Amazon Web Services• Offerings• Hardware as a Service(HaaS) AWS-EC2• Storage as a Service – AWS-S3• Database as a Service – SimpleDB• Queuing as a Service – SQS
Cont.. Aggregate Offerings•Pretty much anything you can think off•Oracle , Solaris , Hadoop Clusters (NY times),Specialized Applications (Vertica DB) , Animoto
Amazon’s EC2• Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web- scale computing easier for developers.• EC2 is still largely used for batch-style, asynchronous jobs such as crunching large statistics or encoding video (although increasingly more are using it for their full web server setup)
Cont..The auto-scaling open-source Amazon EC2.•Scalr is a recently open-sourced framework formanaging the massive serving power ofAmazon’s Elastic Computing Cloud (EC2) service.
Amazon S3• Amazon S3 is storage for the Internet. It is designed to make web-scale computing easier for developers.• Data Security with Access Control and Using Data Encryption• Data Durability and Reliability
Amazon SimpleDB• Amazon SimpleDB is a distributed database written in Erlang by Amazon.com. It is used as a web service in concert with Amazon Elastic Compute Cloud (EC2) and Amazon S3.• “Amazon SimpleDB is a highly available and flexible non-relational data store that offloads the work of database administration. Developers simply store and query data items via web services requests and Amazon SimpleDB does the rest.”
Amazon SQS• Amazon Simple Queue Service (Amazon SQS) is a distributed queue messaging service introduced by Amazon.com.• Reliable• Simple• Scalable• Secure• Inexpensive
Hosting Industry needs Change• Technology has evolved• People demand more control• Instant gratification• Managed is not dynamic enough Cloud Computing -“Enabling Technology” to move from Traditional Hosting to Cloud Hosting
Colo vs. Managed vs. Cloud Hosting Colocation Managed CloudTime Weeks to Months Days to Weeks MinutesScalability Slowest, Rigid & Costly Slower, somewhat Instant, Flexible, Pay- flexible, Costly per-usageCost High Costly, sometimes No contracts, usage month/year contracts, based, no upfront costs“Green” Low Low High - virtualizedPricing model Buy Servers & Colo Rent Servers & Rent based on usage costs whether used or Hosting costs whether only not used or not
Summary Infrastructure as a Service (IaaS) provides the user with virtual infrastructure, such as servers and data storage space. This is where virtualization fits into the cloud. Platform as a Service (PaaS) provides the user with development environment services where the user can create and run home-grown applications. Software as a Service (SaaS) provides the user with access to already created applications that are operating in the cloud.