The Emergence of Cloud Computing
By Mike Gower
Cloud computing is becoming the latest disruptive force that everyone should be aware of, regardless as to whether you are a supplier or a consumer of technology services. It is going to change the landscape of IT and how services are provided and it is in your best interest to understand the impact.
So what is this cloud computing thing anyway?
- Is available through a well-defined interface
- Is available everywhere and for many devices
- Scales on demand
- Is reliable
- Has a low capital expenditure for consumers
- means you only pay for what you use.
So in general terms and to initially wrap your head around this concept, think of cloud computing as a utility service such as BC Hydro providing electricity. As it applies to our above definition of cloud computing, electricity: is accessed through a well-defined interface, can be used everywhere and for many devices, power can be increased as required, is reliable and for the consumer, and you only pay for what you use.
The problem with all of this is that there are still plenty of misconceptions as to what “The Cloud” represents and confusion by organizations who are thinking about moving enterprise applications into the cloud. There is also a general lack of standardization among vendors (although there has been movement by some vendors to begin aligning themselves) who offer cloud computing services for organizations and this has resulted in some additional indecisions by organizations as to what direction to take.
There is one very important, common distinction as to how cloud computing is enabled – and that is through the use of virtualization technologies. Cloud computing incorporates virtualization, data and application on-demand deployment, internet delivery of services, and open source software in many cases. Most organizations have embraced some form of virtualization to help create a dynamic data centre where servers provide resources that are utilized as needed and can be changed dynamically to provide more resources when needed.
In today’s cloud service offerings, cloud providers are supplying application programming and/or web-based interfaces which allow an organization to use hosted virtualized storage platforms and application deployment environments while other providers offer pay per use solutions which can be integrated into an organization’s own service offerings.
Comparing Cloud Services to a Data Centre
Let’s compare a typical data center to a cloud computing model.
A typical data center:
- Requires hardware, space, electricity and cooling;
- Requires that someone manage the operating system, applications and updates;
- Requires software licensing;
- Is difficult to scale, with either too much or too little capacity;
- Has high upfront capital costs; and
- Provides a location where you have complete control (and responsibility).
Cloud computing models:
- Consist, typically, of a shared, multi-tenant environment
- Have pools of computing resources
- Have resources that can be requested as required
- Are available via the Internet (or available as a private cloud and connection)
- Provide for a “pay as you go” model
So the question remains – how can we use this “cloud”, this “utility”, to our benefit? There are so many vendors jostling for market share for cloud services and vendors that are currently “not in the game” are buying up resources and other companies so that they can join in on the bonanza. No wonder we’re all confused.
It’s also important to know that while most of the cloud services are currently provided by the likes of companies like Google, Microsoft, VMware, and Amazon (with more and more companies beginning to offer similar services), it’s important to realize that your own organization can provide cloud computing services using your own enterprise data centre and servers. There’s also nothing stopping you from using a combination of private and public service offerings.
Ultimately, all a cloud is intended to do is to provide easily accessible services which can be consumed.
As we’ve seen technology mature, there has been an evolution of how services are offered. These offerings are defined as Software as a Service (SaaS), Platform as a Service (PaaS) or Infrastructure as a Service (IaaS). The technology stack is the same for each service but how we determine who is responsible for what changes within each model.
Here are some examples:
Microsoft Business Productivity Suite Online, Google Apps, Cisco, Salesforce
You are responsible for nothing. Software is provided and consumed.
Windows Azure, Google AppEngine, VMware SpringSource
The application is your responsibility while the cloud provider is responsible for the hardware, virtual instance, operating system, services and framework stacks.
VMware vCloud Express, Amazon Elastic Cloud Compute (EC2), IBM
The application layer through to the operating system is your responsibility while hardware and the virtual instance is the responsibility of the provider.
Expect change – in the future expect to see all large vendors providing services in every stack.
What are the benefits of the cloud?
There are many benefits to deploying applications or systems using cloud computing services. These include:
- Reducing run time and response time
- Minimizing the purchasing and deployment of physical infrastructure (CapEx)
- Considerations for energy efficiency
- Flexibility (deploy which systems you want into the cloud in one of the models previously discussed, deploy a private cloud, or deploy a hybrid)
- Simplified systems administration
- Simplified backups, archiving capabilities and even disaster recovery
- Simplified upgrade paths for the latest technologies
- Service Level Agreements
- Pricing based on consumption
- Ability to limit the footprint of the data center
Where do we start?
The evolution of cloud computing is ultimately taking us towards providing IT as a Service (ITaaS).
This is really about transforming IT to a more business-centric approach so that IT can focus on areas such as operational efficiency, competitiveness and faster response. This means a shift from producing IT services to optimizing production and the way services are consumed in ways consistent with business need. Ultimately, the role of IT changes from that of a cost centre to a centre of strategic value.
In order to really gain the efficiencies of a cloud computing utility model, the first step to starting a cloud is to begin with virtualization technologies and leverage your legacy investments. Virtualization is the foundation for cloud computing and the first task for an organization wishing to transition to the cloud is to virtualize as much of its environment as possible. This includes business critical applications, and yes, even databases. Three examples of the primary players in the virtualization space include technologies provided by VMware (vSphere ESX 4), Microsoft (2008R2 HyperV) and Citrix (XenServer). While all organizations can provide the virtualization abstraction layer, their approaches to cloud computing and their philosophies differ and this has a definite impact as to how an organization may want to deploy to the cloud.
But is it for us?
“By 2012, 80% of Fortune 1000 enterprises will be using some cloud computing services, 20% of businesses will own no IT assets.” – Gartner
“The bottom line: Early adopters are finding serious benefits, meaning that cloud computing is real and warrants your scrutiny as a new set of platforms for business applications.” – Forrester
If you’ve been watching cloud computing service offerings develop, you will have noted with interest how all the large vendors are actively engaged in providing models for businesses to move services into “their” cloud offering – and if they don’t have one already, they’re acquiring the technologies to do so. If you can think of a scenario for cloud computing, you can bet that someone already has an offering that can be adopted for your organization.
Ultimately, the key concept to grasp out of all of this is that there are different forms of the cloud and how one takes advantage of this new technology “offering” will be different for every organization. For example, maybe as an organization you want to maintain control of your enterprise applications but take advantage of “commodity” like services such as productivity tools? Perhaps you want to be able to build your own private cloud of services to provide your users with an easy way to obtain infrastructure services or to host portions of a private cloud at another third party location? Or maybe you just need to use cloud services to handle planned workload spikes and want to avoid the costly capital costs of having to over-provision your own infrastructure? These are just a few of the many scenarios to consider.
If you’re still confused or would like to discuss cloud computing, feel free to contact us and we’ll quickly determine if a road into the cloud or starting a virtualization strategy could be in your organization’s interests.
Some additional references:
About the Author
Mike Gower is the founding principle and Senior Infrastructure Architect for I.T. Blueprint Solutions Consulting. During his 14 year career in IT, Mike has held numerous positions in Systems Admin, Technical Management and Architecture and has over 10 years of experience working with virtualization technologies. Mike holds a B.Eng in Electrical Engineering from the Royal Military College of Canada and holds numerous industry certifications from VMware, Microsoft and Citrix. Mike’s current work includes the planning, design and implementation of strategic technology solutions including business continuity, server consolidation and virtualization practices. I.T. Blueprint Solutions, founded in 2004, provides professional services and related sales to clients in the area of design, planning and implementation of strategic technologies and services.