Professional Documents
Culture Documents
Is Cloud Computing the Next Big Thing? This paper on Cloud Computing explains why it may well be so. It traces the context of Cloud Computing, a paradigm shift in IT. Exploring industry definitions of this phenomenon, this paper offers TCS perspectives on various aspects of Cloud Computing: Types of Cloud delivery models, Public Cloud Computing for Enterprise business and its challenges, Public-Private & Federated Clouds, Next Generation Computing Services and Benefits of the Cloud. It articulates TCS Taxonomy on Cloud Computing. TCS believes that Cloud Computing will prove very attractive to the Enterprise IT world and specifically to IT service providers, primarily due the infinite opportunities around innovative business models. While the technology foundations of Cloud Computing can be considered as a gradual evolution, TCS firmly believes that the business models will prove to be potentially disruptive. Cloud could be a disruptive change for some enterprises, or it could be an evolution beyond virtualization and utility computing for others. Many challenges remain in leveraging Cloud Computing but it will become an increasingly viable option for enterprise IT. This is the first in a series of TCS White Papers on Cloud Computing.
V. Srinivasa Raghavan
Senior Consultant and Lead -Cloud Computing Initiative, TCS Raghavan is with the TCS Corporate Technology Office and is the global business owner for the TCS Cloud Computing initiative. A versatile technology professional with over 15 years of experience, he has built technology solutions for customers in various industries and geographies. In his earlier role he was an enterprise architect in the TCS Emerging Markets Business Unit, heading the architecture practice, and prior to that he was a senior solution architect for the reuse program in TCS. Raghavan holds a Bachelors degree in Computer Science and Engineering from the Indian Institute of Technology, Delhi and a Masters degree in Aerospace Engineering from the Indian Institute of Technology, Madras.
Table of Contents
1. Introduction - A New Paradigm 2. Industry Definitions of Cloud Computing
National Institute of Standards and Technology (NIST) Wikipedia University of California, Berkeley 6 6 6
4 6
7
7 7 9 10 11 11
13 15 15
like operating systems, database and transaction processing, application components and service oriented architectures. l Application domains like personal productivity and collaboration, industry-specific platforms and enterprise applications. l Service models like infrastructure services, application management services, systems integration and consulting services. So what is the next big thing in IT? Cloud Computing is a good candidate, and could impact all of these dimensions. The early adopters of Cloud Computing already exist in the C or consumer world. As individual consumers in the Web 1.0 and Web 2.0 world, we are accustomed to the illusion of infinitely scalable, always available and very simply consumable services typically delivered over the Internet, and now increasingly over the mobile phone and other ubiquitous channels. The E or Enterprise world is now kicking the tires of the same car, and debating whether this is an evolution or a revolution, or is it even a potential disruptor. Hype, fear, uncertainty and doubt are rife. The soothsayers predict billions of dollars to be made or lost in the next few years. Economics seems to be driving more attention to the world of Enterprise Clouds faster than expected. The C world cost benchmarks are growing attractive to E world managements. Cloud Computing could be a disruptive change for some enterprises, or it could be just an evolution beyond virtualization and utility computing for others. What matters is that Businesses will continue to demand agility, will store and process massive amounts of data and will need easily available, highly stable and secure platforms. All this needs to be done efficiently and at the lowest cost. Lessons can be drawn from the experience of other Utilities such as Electricity, Telephone, Oil and Gas, and Water. They have all mastered the techniques of centralized production and distributed consumption and most, if not all, have experimented with multiple models before they reached this state. We must understand that though technology is important, success is determined more by the business models used. The Utility Industry is in a continuous state of Dissatisfaction with the Status Quo as far as business models are concerned.
Cloud Computing could impact the software and services business models in a manner similar to the impact that foundries have had on the hardware industry. The initial model of end-to-end integrated electronic chip players (for example, designers owned the entire value chain, including capital intensive semiconductor fabrication facilities) has evolved into different business models. For example, today, only a few major designers, with very high chip volumes (for example, Intel and Samsung) can justify owning and operating their own fabrication lines. This has motivated the rise of semiconductor foundries that build chips for others, such as Taiwan Semiconductor Manufacturing Company (TSMC). Foundries enable fab-less semiconductor chip companies whose value is in innovative chip design. A company such as nVidia can now be successful in the chip business without the capital, the operational expenses, and the risks associated with owning a state-of-the-art fabrication line. Conversely, companies with fabrication lines can time-multiplex their use among the products of many fab-less companies to lower the risk of not having enough successful products to amortise operational costs. Does this hint at the shades of Public Clouds and Private Clouds? More later! TCS believes that Cloud Computing will be very attractive to the Enterprise IT world and specifically to IT service providers, primarily due the infinite opportunities around such business models. While the technology foundations of Cloud Computing can be considered as a gradual evolution, TCS firmly believes that the business models will prove to be potentially disruptive. The TCS taxonomy for Cloud Computing is based on four abstraction layers starting with the Infrastructure, the Platforms, the Software and finally the Cloud-specific Services. TCS believes that delivering a credible set of Cloud Computing Offerings to enterprises will require collaborative innovation across multiple players such as public Cloud providers, software and service providers, product vendors, and application vendors. TCS believes that it is uniquely positioned to play a major role in Cloud Computing with its Co-innovation Network TM (TCS COIN ), built on a strong internal foundation of TCS Innovation Labs, anchor clients and strong strategic alliances with a range of innovative companies and academia. The TCS Cloud Computing initiative has built a credible set of offerings across advisory, implementation and support functions. In this white paper, we will set the context for Cloud Computing and present TCS definitions and insights into this area. This will be the first in a series of white papers to be published. A subsequent paper will define TCS strategies for Cloud Computing. Later papers will cover the TCS offerings around Cloud Computing, and lessons and best practices for Cloud Computing specific to industry verticals.
Wikipedia
Cloud Computing is a style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet. Users need not have knowledge of, expertise in, or control over the technology [2] infrastructure in the "Cloud" that supports them .
Leveraging public Cloud Computing platforms could enable an organization to consider a spectrum of options for running its IT: from not owning a data centre at all to leveraging only private cloud technologies inside the enterprise.
services offer an illusion of the availability of infinite compute resources on-demand, and thereby eliminate the need for Cloud users to plan ahead for provisioning. l Cloud services eliminate any up-front commitment by Cloud users, thereby allowing companies to start small and increase hardware resources only when there is an increase in their needs. Thus, companies can deploy a service and scale on demand without taking the risk to build or provision a data centre for an unknown future service demand. This not only eliminates the upfront capital investment for Cloud users, but also transfers the risk of over-provisioning (under utilisation) and under-provisioning (saturation) to Cloud providers. l ability to pay for use of computing resources on a short-term basis as needed (for example, processors by The the hour and storage by the day) and release them when they are no longer useful leads to significant economic benefits. All these benefits enable enterprises to focus on their core competence rather than running large data centres.
network, and storage from a shared facility managed by the provider to Cloud users on an on-demand basis. Examples of IaaS providers include Amazon Web Services and Flexiscale. IaaS providers allow users to dynamically grow and shrink their resource allocations to match their demands. However, the responsibility of utilising this elasticity effectively rests with the Cloud user.
l Platform
as a Service (PaaS): The Cloud service providers export application development platforms that broadly fall into two categories: - Those that export application development platforms for certain domains or class of applications (for example, the Google AppEngine and Force.com) - Those that export general purpose application development platform (for example, Microsofts Azure).
In either case, applications developed using these platforms benefit from elasticity offered by infrastructure-as-aservice Cloud providers. For instance, the Google AppEngine is directed at traditional Web applications; applications developed using the AppEngine API can scale automatically with increase in the number of resources, as well as achieve high availability through replication. Force.com exports a platform for developing business applications that solely interact with the salesforce.com database, while Microsoft's Azure platform allows developing applications using .NET libraries and compiled to a common runtime language environment. The .NET libraries provide a degree of scalability and fail-over support, but require developers to declaratively specify application characteristics to take advantage of these features. Users do not get control of the operating system or runtime but are allowed to choose programming languages.
l Software
as a service (SaaS): The Software as a Service Cloud service providers offer specific application services delivered over the Internet on some form of on-demand payment system. Examples include Salesforce.com and WebEx.
Companies host applications in the cloud that many users access through internet connections. The service being sold or offered is a complete end-user application
Google Docs, acrobat.com, Zoho,salesforce.com, Animoto, Oracle on demand, Windows Office Live
Developers can design, build and test applications that run on the Cloud provider's infrastructure and then deliver those applications to end-users from the providers servers
Azure Services Platform, Oracle SaaS platform, Coghead, force.com, Yahoo developer network, Google App Engine
IT Level "Infrastructure-asa-Service"
Obtain general processing, storage, database management, and other resources and applications through the network and pay only for what gets used
Amazon Web Services, Gogrid, Sun Grid Compute Utility, Google Base
decision process in most enterprises for Cloud Computing will start with the economics will the Cloud bring down the total costs? Cloud need not always be a cheaper option. Enterprises need to consider various factors while calculating the total costs, such as depreciation and tax benefits, processor capacity, storage, network bandwidth, software licenses, power, and floor space. Economics will also depend on the size of the enterprise (Small and Medium versus Large), and the workload and other characteristics of the applications. It is likely that for sporadic usage scenarios such as testing and short-term computationally intensive tasks, the Cloud could be a winner, while for others a deeper understanding of the economics is required. l Data confidentiality and auditability: Security and auditability are significant concerns for most enterprises given the public nature of Cloud offerings. There are regulatory requirements such as HIPAA or Sarbanes-Oxley that will necessitate auditability of corporate data in the Cloud. In addition, national laws may mandate Cloud providers to keep data within national boundaries or prevent a second country from getting access to this data through its legal system. There is also a significant risk to privacy of personal information and confidentiality of information from businesses or government organisations when data is located in the Cloud. l Software licensing: The current licensing model for commercial software is a mismatch for Cloud Computing. Current software licensing limits the computer on which it can be installed and users pay one time and annual maintenance charges. Thus, many Cloud providers have relied upon open source software but a key challenge for commercial software vendors is to devise a better licensing model for the Cloud. l Service availability: Enterprises are very sensitive to whether Cloud providers can guarantee adequate availability required by business (especially since enterprises will have little or no control over the physical Cloud environment). Further, relying exclusively on a single Cloud service provider can also be a single point of failure; most enterprises are reluctant to move to a Cloud provider without some business continuity strategy in place. To guarantee high availability and avoid a single source of failure, multiple Cloud providers with independent software stacks could be used. This, however, increases implementation complexity significantly. l Service lock-in (proprietary APIs ? no interoperability): Cloud providers today lack interoperability standards. This implies that a Cloud user cannot easily move applications and data between any two Cloud vendors, which results in a lock-in scenario. The lock-in is definitely advantageous to Cloud providers but Cloud users are vulnerable to increase in prices, reliability problems or, in the worst case, the Cloud provider becoming defunct. Standardisation of APIs will not only mitigate lock-in but will also enable the same software infrastructure to be used in private and public Cloud such that excess computation workload that cannot be handled in the private Cloud could be off-loaded to the public Cloud (surge protection). l Data transfer bottleneck and cost (technology trends): Given the data-intensive nature of applications, data transfer - into and out of a Cloud - becomes a major issue with the current price of $100 to $150 USD per terabyte transferred. This cost can quickly become prohibitive thus making data transfer a major bottleneck to Cloud adoption. This is a significant challenge as, over the past decade, the cost of wide area network bandwidth has fallen at a much slower rate than the cost of computation and storage capacity.
l Performance unpredictability: Multiple Virtual Machines (VMs) can share CPU and main memory quite well but
l Difficulty
I/O sharing often leads to interference and hence unpredictability in performance. in debugging large-scale distributed systems: When an application is migrated to the Cloud and executed in a large-scale distributed environment, there may be bugs that manifest, which may not be apparent in a small-scale configuration. Detecting and debugging faults in such large-scale distributed deployment is quite a challenge.
Due to many of these reasons, today most of the public Cloud platforms are used primarily by small start-ups (with little or no legacy applications or environments) or by enterprises for not-so-business-critical applications and environments (for example, development and test environments). Most public Cloud providers realize these limitations and have started working on solutions to address many of these issues. Hence, over the next few years, we expect that public Cloud platforms will become more viable to host business critical applications and services.
such as data security, platform heterogeneity become slightly more manageable. Private Clouds are also better at handling legacy application platforms and constraints (as most public Clouds today only support x86 server platforms). l Disadvantages: Designing and operating a private Cloud and achieving a Total Cost Ownership (TCO) close to what public Cloud providers can offer is a significant technical challenge. Consequently, no single Cloud provider (or Cloud implementation) meets (or is likely to meet) all enterprise requirements. In such a scenario, organizations can create and manage Federated Virtual Private Clouds. A federated Cloud design can leverage multiple Cloud implementations including a private Cloud implementation and match application and business requirements to Cloud implementation features and capabilities. Figure 2 provides a conceptual view of a Federated Virtual Private Cloud.
10
Applications
Enterprise Infrastructure
Cloud Provider #1
Cloud Provider #2
high-level specifications of IT service definitions, their Service Level Objectives (SLO) and business priorities. l Support automated provisioning, allocation and optimization of resource allocations based on these specifications to meet these SLO requirements. l Achieve low cost.
Allocate
Workloads/Data
Provision
Optimise
Resources
Identities / Security
To meet these objectives, the design of an enterprise computing environment should be driven by the following principles:
l Right
sizing: The infrastructure provisioned for delivering services should be just as large as requiredoverprovisioning (under utilization) and under-provisioning (saturation) should be avoided. Note that each infrastructure component is a multi-dimensional resource. For instance, a server is a resource with three dimensions: compute capacity, memory size and IO/network bandwidth. Similarly, a storage device is a twodimensional resource (with storage capacity and read/write bandwidth as the two dimensions). The infrastructure should be provisioned and configured with the right amount of resource on each of these dimensions. Over provisioning on any dimension increases the cost. l Diversity reduction: Diversity is defined with respect to the hardware and software stacks supported within an infrastructure. When the diversity is greater, the overhead and cost of maintaining the infrastructure is higher. l Sharing: The computational demands of most services fluctuate significantly over time. Thus, sharing or multiplexing the resources available within a data centre is a key principle in reducing the overall footprint and the total cost of operating the environment. l Elasticity: To enable an enterprise to benefit from using shared computing resources across applications and business units, one must allow resources allocated to an application to grow and shrink with demand. Further, applications should be architected to operate correctly and efficiently in the presence of such fluctuations in resource allocations. Lastly, charging users (or business units) based on the actual usage of resources (pay-asyou-use charging model) is essential to promote elasticity. The charging model should also consider a finer granularity of pay-per-use based on computation, storage and communication utilisation. l Agility: An enterprise IT environment should leverage emerging technologies rapidly as well as support rapid deployment of new applications and services to meet business demands. l Predictive: To drive most of the above principles and optimisation techniques, an enterprise must rely upon predictive analytics on the data collected from its operational environment. To support such analytics, the IT environment must be well instrumented and monitored to collect data about infrastructure and application inventory, workload, performance, reliability, among others. Whereas these principles are relatively well understood, the design of enterprise computing environments that satisfy the principles poses a significant challenge. Cloud Computing has an important role to play in this.
12
{ { { {
Owned vs Shared, Public vs Private, Single-vs Multi-Enteprise, Variable Cost Model, Strategic Platforms, Granular Pricing, ...
4.1 Services
3.2 Applications
SaaS, Software-and-service, IT-as-a-Service, Platform-and-Service, Horizontal (Payroll, Accounting, Collaboration,---) vs Vertical (Inventory Management, Loyalty Management, ...), ... Widgets, Mashups, Components, Services, Domain-specific environments Software Engineering (Architecture, Design, Development, Build, Test, Release), Domain-agnostic Platforms, Analytics, Workflow, Scheduler, ... Programming, File/DB, Integration and Messaging, Identity and Security, Management, Measurement, Data Consistency, Transactions, Autonomic/Self-healing capability, Clustering, Scalability/Elasticity, Multi-tenancy, Load-balancing, ...
2.1 Abstractions
Infrastructure This addresses the elements of physical infrastructure such as processors, storage, memory, network and devices. l Logical Infrastructure This is the backbone for Cloud infrastructure. Areas to address include techniques for virtualization such as hypervisors, virtual operating systems, and other logical elements such as utility computing and compute- grids
13
The PaaS layer contains the following sub-layers, which enable the building of true Cloud applications:
l Abstractions
Building a Cloud application requires a review of almost every computing paradigm to devise tools and techniques for exploiting the Cloud infrastructure. This sub-layer also provides APIs to the higher layers to exploit the infrastructure. Some of the areas to address will include programming techniques, file system, integration patterns, techniques for data consistency, transactions. l Enablers and Frameworks These address the domain-independent tools and techniques for building applications in the Cloud. These are reusable components for the higher-level layers. Some of the areas to address will be Software Development Lifecycle tools, domain-agnostic platforms, and common IT applications such as workflows. The SaaS layer contains the following sub-layers and addresses the unique needs of the customers by providing domain-specific software as a service. This contains the following sub-layers:
l Domain
Components These address the domain-specific tools and techniques for building applications on a Cloud. These are reusable business components. Areas to address will include mashups, widgets, business services, domain-specific platforms such as mobile application platforms, and so on. l Applications This sub-layer addresses various application offerings, horizontal and domain applications that can be provided in a SaaS mode The Cloud Services layer provides the unique services needed to truly disrupt business models, and bring out the true value of Cloud Computing to enterprises.
l Services
This sub-layer looks at the various service offerings provided by the IT vendors, including advisory (consulting), migration, application development, and deployment. l Business Models This sub-layer is unique to the Cloud. Areas to address will encompass business concerns of consumers and providers, including the type of Cloud (private or public or hybrid or federated), innovative pricing models, costing models, and innovative strategic platforms. This area offers flexibility and provides infinite possibilities in disrupting the business of IT.
14
Summary
It is clear that Cloud Computing is fast moving beyond the hype to being taken very seriously in organizations. Cloud Computing gets us close to the dream of an efficient, centralized computing power, and there are many niche players positioning their products. In the current scenario, while the definitions, taxonomy, and benefits of Cloud Computing are well understood, there are still many open questions that need to be addressed before one can engage with the CXOs of customer organizations, and move from a proof-of-concept to a serious production quality application. The early movers who have addressed these open issues with their unique insights will be the most successful in the long term. TCS believes that Cloud could be a disruptive change for some enterprises, or it could be an evolution beyond virtualization and utility computing for others. Many challenges remain but TCS believes that Cloud Computing will become an increasingly viable option for enterprise IT. TCS has launched a COIN-based Cloud initiative to address these issues and has built a credible set of offerings across advisory, implementation and support. In the next paper, TCS will share its strategy on Cloud Computing.
References
1. 2. 3. 4. 5. 6. 7. Draft NIST Working Definition of Cloud Computing v15, http://csrc.nist.gov/groups/SNS/ cloud-computing/cloud-def-v15.doc Wikipedia, http://en.wikipedia.org/wiki/Cloud_computing [Accessed July 20, 2009] Above the Clouds: A Berkeley View of Cloud Computing, Technical Report No. UCB/EECS-2009-28, Feb 10, 2009 Security Guidance for Critical Areas of Focus in Cloud Computing, Cloud Security Alliance, April 2009 Nicholas Carr, The Big Switch: Rewiring the World, from Edison to Google, W.W. Norton & Co., 2008, ISBN 0393062287 Open Cloud Consortium, http://www.opencloudconsortium.org OpenCrowd Cloud Taxonomy, http://www.opencrowd.com/assets/images/views/views_cloud-tax-lrg.png
15
To find out more about the Cloud Computing initiative within TCS,
TCS Design Services M 0909
contact cloud.computing@tcs.com
All content / information present here is the exclusive property of Tata Consultancy Services Limited (TCS). The content / information contained here is correct at the time of publishing. No material from here may be copied, modified, reproduced, republished, uploaded, transmitted, posted or distributed in any form without prior written permission from TCS. Unauthorized use of the content / information appearing here may violate copyright, trademark and other applicable laws, and could result in criminal or civil penalties. Copyright 2009 Tata Consultancy Services Limited
www.tcs.com