Service Models Chapter Three
Cloud Services Can align with deployment mode, ajapublic, private, and hybrid. Can also align with service model, in which each level of service abstraction is associated with the term as a Service (XaaS). Consumers access X as a Service resources via web browser. Three primary models 1. Software as a Service (SaaS) 2. Platform as a Service (PaaS) 3. Infrastructure as a Service. (IaaS)
Service Model Pyramid Cloud resources consumed by: Other Cloud Services Traditional Electronic Devices Consumers using web browsers.
Consumers Users consume applications provided by the SaaS level Includes components of both platform and infrastructure services. Application developers consume services provided by PaaS providers Also support the hosting infrastructure.
Models Aligned with Consumers
Software as a Service Hosted software applications available through a web browser or via a thin client often indistinguishable to user.
SaaS Provides end user with application that consumes, produces, or processes information. Generally uses provided functionality without significant customization. For example, Google Gmail where users simply access the web-based standard email and calendaring application.
Traditional Software A capital expense to purchase. An operating expenses to install, update, and maintain. Typical process: 1. Identify software meeting requirements. 2. Perform capital acquisition for identified software. 3. Install software to client computers. 4. Patch software in maintenance cycle. 5. Perform acquisition for software update. 6. Install software update to client computers. 7. Return to maintenance cycle until next software update.
SaaS Application Management Far fewer steps than standard apps. Typical process: 1. Identify cloud service providers whose software meets organizational requirements. 2. Obtain licensing for identified software service access. All maintenance, including patches and updates, handled by the SaaS provider.
SaaS Advantages Changes to staffing or organizational assignment require operational costs exclusively. Extended availability of SaaS applications supports additional business processes, such as: Disaster recovery and business continuity Remote workplace assignment Collaboration between siloed organizational components or with partners external to the organization s technology envelope.
Other Possible SaaS Advantages : Business agility enhanced by ensuring that mobile workers retain access to key business applications while on the road. During widespread natural disasters, displaced employees retain operational capability. Organizational data resources can be moved electronically to cloud provider storage outside of the affected area. Organizations can take advantage of resource sharing between employees working in different time zones or across different geopolitical zones.
Platform as a Service Expands an organization s capability to customize cloud application development.
Platform as a Service Cloud Options Coupled to a particular vendor s technologies, languages, and other features. Similar to the way that many application development environments are linked to a standard tool set that their developers will use to create traditional deployable software. Many PaaS vendors can link their cloud service platforms to existing development suites.
Figure 3.6 illustrates the integration between Microsoft s Visual Studio environment and its Azure cloud platform.
PaaS Because application developers myuse the same technologies for both traditional and PaaS cloud applications, the process of migrating existing software solutions from traditional to cloud hosting may be greatly simplified. Even when using private cloud services located in the local data center running atop the same hardware already in place, cloud versions of existing applications can span multiple host servers resources to allow the same software much greater capacity for expansion and flexibility. Hosted on hybrid or public cloud services, PaaS applications scale well.
Vendor Cloud IaaS Tools Because individual PaaS vendors provide the infrastructure for their application development cloud services, they can select which languages will be available for application development on their platform. Can create vendor lock-in in a relatively new service environment whose principal hosting agents could change or even shut their doors as cloud hosting options evolve with the market. Some PaaS vendors have created their own proprietary application development languages Many try to develop similar analogs to existing languages.
Examples Salesforce.com provides an example of this in its Force.com PaaS proprietary Apex (Java-like) and Visualforce (XML-like) languages. More robust PaaS providers allow programming using standardized and open-source languages to ease adoption and migration of existing organizational applications. Google App Engine s PaaS application development can be conducted using standardized Java and Python as well as its own Go open-source language.
PaaS Tool Criteria Organizations will typically select a PaaS vendor whose suite of languages aligns with existing application development human resources in house. Leaders in the PaaS space try to future-proof their offerings by providing support for open languages such as Python and Java.
Infrastructure as a Service Allows almost complete control over applications, languages, and fundamental resources supporting organizational services.
Infrastructure as a Service Provides on-demand hardware-equivalent resources. For example, storage and network interconnectivity. Who then may provision these resources to meet an organization s particular needs. Virtual machines for database services, data file storage, authentication services, and any other necessary function. Enables organization to contract with an IaaS provider to effectively eliminate local data center server requirements while retaining the ability to provision and consume resources through local control and selection. Sometimes referred to as Hardware as a Service (HaaS)
Identifying Emerging Cloud Database Capabilities Cloud services have not lost access to their basic functions, and they gain significant advantages leveraging them in the age of big data through distributed computing cloud functions and services such as: Database as a Service (DbaaS) Data Mining as a Service (DMaaS) Data Warehousing as a Service (DWaaS) Other cloud-specific forms of database management.
Sharding To improve performance and data throughput for very large business applications, cloud-based database services can break up a large data set into a number of distributed sub data sets. MongoDB, for example, is used to manage high-volume transaction databases for SAP s content management service, EA s game download manager, and the New York Times s story submission application. Scaling resources to meet such demands for submission rates in traditional application models would have required specialized and costly high-performance computing solutions for transaction load balancing and high data throughput.
Database Profiling The potential for unanticipated or undesirable data modification increases with the volume of processed data, requiring database and data analysis to support the integrity aspect of data security. Some DBaaS cloud services such as MondoDB have a built-in database profiling tool that can review big data data sets and data to identify predictable issues that may arise so that application design alternatives can be developed.
Defining Everything as a Service The lexicon for cloud services aligned with as a Service terminology is often muddied by media and cloud vendors who redefine aas concepts to best suit their marketing. Dropbox presents an example of why attempts to define the specific form of cloud service can be difficult. Web client interface for Dropbox is an example of SaaS, but the Dropbox service is itself a storage component existing as a limited IaaS resource for other application development leveraging its storage capabilities.
Questions???