COS497 - Cloud Computing 3. Cloud Service Models. IT as a Service How do you offer IT as a service? Different users have different needs! Consider the needs of the - Average End-User - Mobile Application Developer - Enterprise System Architect
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
COS497 - Cloud Computing • 3. Cloud Service Models
IT as a Service How do you offer IT as a service? Different users have different needs! Consider the needs of the - Average End-User - Mobile Application Developer - Enterprise System Architect Their needs, in terms of resources, are all different.
Different Cloud Computing Models (aka Cloud Service Models) “Why do it yourself if you can pay someone to do it for you?” • Infrastructure as a Service (IaaS) - Utility computing • Why buy machines when you can rent machine cycles? • Example: Amazon’s EC2 • Platform as a Service (PaaS) • Let me upload my app and run it for me! • Example: Google App Engine • Software as a Service (SaaS) • Just let me use your apps! • Examples: Google Apps, Gmail
Types of Cloud Services Private (On-Premise) Infrastructure (as a Service) Platform (as a Service) Software (as a Service) You manage Applications Applications Applications Applications You manage Runtimes Runtimes Runtimes Runtimes Security & Integration Security & Integration Security & Integration Security & Integration Managed by vendor Managed by vendor Databases Databases Databases Databases You manage Servers Servers Servers Servers Managed by vendor Virtualization Virtualization Virtualization Virtualization Server HW Server HW Server HW Server HW Storage Storage Storage Storage Networking Networking Networking Networking
Cloud computing architecture e.g. Web browser SaaS , e.g. Google Docs PaaS, e.g. Google AppEngine IaaS, e.g. Amazon EC2
Different types of cloud computing IaaS PaaS Microsoft Azure Clients can choose languages, but cannot change the operating system or runtime Google AppEngine Provides a programmable platform that can scale easily Amazon EC2 Clients can rent virtualized hardware, can control the software stack on the rented machines
SaaS- Exploiting Software as a Service Software is delivered as a serviceover the Internet, eliminating theneed to install and run theapplication on the customer's own computer. This simplifies software maintenance and support for the customer. With SaaS, a provider licenses an application to customers either as a service on demand, through a subscription, in a “pay-as-you-go” model, or (increasingly) at no charge when there is opportunity to generate revenue from streams other than the user, such as from advertising (e.g. Google AdWords). Examples: Gmail, YouTube, andGoogle Docs, among others
Some defining characteristics of SaaS include: • Web access to commercial software. • Software is managed from a central location. • Software delivered in a “one (program) to many (customers)” model– multi-tenancy. • Users not required to handle software upgrades and patches. • Application Programming Interfaces (APIs) allow for integration between different pieces of software.
SaaS is widely accepted to have been introduced to the business world by the SalesforceCustomer Relationship Management (CRM) product. As one of the earliest entrants, it is not surprising that CRM is the most popular SaaS application software. However e-mail, financial management, customer service and expense management have also gotten a good uptake via SaaS.
SaaS systems typically include some or all of the following: - Accessing virtual desktops on a per-user-per-month rental basis. - Accounting, financial management, inventory and e-commerce. - Collaborations between employees and clients on projects. - Creating flowcharts, diagrams, floor plans and other technical drawings. - Customer Relationship Management (CRM). - Editing, storing and sharing documents, presentations, spreadsheets, blogs, web pages and videos, - Project management. - Web-mail, calendaring, instant messaging, video conferencing and social networking.
PaaS – Delivering Platform as a Service Platform as a Service (PaaS) brings the benefits that SaaS bought for applications, but over to the software development world. The cloud provider supplies a set of development tools (a platform) which allows users tocreate an application without the complexity of buying and maintaining the software and infrastructure underneath it. But, note, some cloud providers just provide an execution platform, not a development platform. The application may then run on theprovider’s infrastructure, i.e. servers, storage and network However, the cloud provider manages theunderlying infrastructure and requirements.
PaaS systems typically include some or all of the following features: - Browser-based development environment for creating databases and editing application code – either directly or through visual, point-and-click tools. -Built-in scalability, security, access control and web service interfaces. - Easy integration with other applications on the same Platform. - Tools for connecting to applications outside the platform’s cloud. - Tools for designing web forms, defining business rules and creating workflows.
The provider supplies Web-based user interface creation tools. The application may be integrated with Web Services and databases in the cloud. This model allows building high-availability, high-scalability, and high-performance cloud environments or applications. Example - Google App Engine: Build web applications on Google’s Infrastructure Example - The Facebook Developer Platform: Set of APIs that allow you to create Facebook Applications
Delivery of an integrated computing platform (to build/test/deploy custom apps) and solution stack as a service. Deploy your applications and do not worry about buying and managing the underlying hardware and software layers
IaaS – Infrastructure as a Service IaaSis a way of delivering cloud computing infrastructure – servers, storage, network and operating systems – as an on-demand service. Rather than purchasing servers, software, datacenter space or network equipment, clients instead rent those resources as a fully outsourced service on demand. The cloud provider leases to usersVirtual Machine Instances (i.e. computer infrastructure) usingvirtualizationtechnology. The user has access to a standardoperating system environment andcan install and configure all thelayers above it.
Virtualization Technology is a major enabler of IaaS. • It is a path to share IT resource pools: Web servers, storage, data, network, software and databases. • Higher utilization rates made possible
Mac OS Linux Windows
IaaS systems typically include some or all of the following features: - A choice of ready-made virtual machines with pre-installed operating systems including numerous versions of Windowsand Linux - A choice of virtual appliances – virtual machines with specific sets of software pre-installed - Ability to store copies of particular data in different locations around the world to make downloads of the data as fast as possible - Software tools to help process large amounts of data (in Data Grids) and perform complex calculations (in Compute Grids) using large arrays of virtual servers working in parallel on the same problem - Ability to manually increase or decrease the computing resources assigned to you using a web browser as your requirements change - Ability to automatically scale computing resources up and down in response to increases and decreases in application usage.