Cloud Computing Primer
The “cloud” is a confused, fractured market, and many corporations are just getting started. So in this page, we provide a quick primer on Cloud Computing.
Defining Cloud Computing
Cloud computing represents a growing paradigm of on-demand access (as a service) to computing, data and software utilities, an abstraction of unlimited resources on-demand, and a usage-based billing model where users essentially “rent” virtual resources and pay for what they use.
Underlying these cloud (infrastructure, platform, data, software, etc.) services are consolidated and virtualized data centers that provide virtual machine (VM) containers hosting computation and applications from a large numbers of distributed users.
Cloud platforms and services are increasingly playing a critical role in academic, government and industry sectors, and having widespread societal impact.
Why so much interest in the Cloud?
The interest in the “cloud” is growing because
- firms want more speed of deployment, dynamic capacity, better service experience, lower costs (CapEx, OpEx or both), ease of access for external partners,
- developers are seeking an alternative to their in-house IT Operations and avoid IT’s tight requirements (outsource infrastructure option)
- With mobile everything (content, services etc.) are in the cloud. Almost everything we do as a consumer – Facebook, gmail, e-commerce, Netflix etc. — are all running in the cloud.
Cloud computing is a classic disruptive technology. It’s origin in the fringe of the IT market,
namely consumers and the small and medium-sized enterprise (SME), whose need for simpler and lower-cost or even free solutions is underserved by traditional packaged software. As cloud-based services matured, it’s penetrating mainstream enterprise customers. Now, cloud offerings compete directly with on-premise and packaged software.
Cloud as a strategy is still nascent in most organizations but maturing quickly.
Types of Clouds
Cloud providers typically centre on one type of cloud functionality provisioning: Infrastructure-as-a-service, Platform-as-a-service or Software-as-a-service.
Infrastructure as a Service (IaaS) also referred to as Resource Clouds, provide (managed and scalable) resources as services to the user – in other words, they basically provide seamless virtualization of servers, storage, networks within data centers or across data centers. Examples: Amazon Web Services, Rackspace.
Platform as a Service (PaaS) provide computational resources via a platform upon which applications and services can be developed and hosted. Examples: Force.com, Google App Engine, Windows Azure (Platform). PaaS typically makes use of dedicated APIs to control the behaviour of a server hosting engine which executes and replicates the execution according to user requests (e.g. access rate). As each provider exposes his / her own API according to their specific capabilities, applications developed for one specific cloud provider cannot be moved to another cloud host – there are however attempts to extend generic programming models with cloud capabilities (such as MS Azure).
Software as a Service (SaaS) offer implementations of specific business functions and business processes that are provided with specific cloud capabilities, i.e. they provide applications / services using a cloud infrastructure or platform, rather than providing cloud features themselves. Often, kind of standard application software functionality is offered within a cloud. Examples: Google Docs, Salesforce CRM, SAP Business by Design.
Deployment and Usage – Private, Public or Hybrid
Private Clouds are typically owned by the respective enterprise and / or leased. The infrastructure – pooling of compute , storage, network resources – is private and not shared with any other party.
Public Clouds are provided by vendors like Amazon, Google Apps, Windows Azure. Enterprises may use cloud functionality from these vendors. Public clouds allow enterprises to outsource parts of their infrastructure to cloud providers, they at the same time would lose control over the resources and the distribution/management of code and data.
Hybrid Clouds. In some cases, putting data in a public cloud is not desired by the respective enterprise. Hybrid clouds consist of a mixed employment of private and public cloud infrastructures so as to achieve a maximum of cost reduction through outsourcing whilst maintaining the desired degree of control over e.g. sensitive data by employing local private clouds.
Location of Infrastructure: On-premise and Managed Hosting
- On-premise versus private cloud. On-premise refers to the ownership and location of a company’s data center or servers, owned and managed by the customer and located either on its own premises or in a colocation facility. Private cloud refers to a set of technologies that enable the pooling of compute , storage, network resources used in on-premise environments.
- Public cloud versus managed hosting. Both are third-party hosted compute environments. However, in public cloud environments compute resources are shared dynamically among all customers, where as infrastructure is dedicated to a particular customer in managed hosting.