What is clear is that spending on this area is sky-rocketing. Gartner analysts expect worldwide cloud services revenues to surpass $56.3 billion in 2009, a 21% increase from 2008 revenue of $46.4 billion. By 2013 this fast-growing sector of the IT industry will command annual revenues in excess of $150 billion. So if you haven't done so already, it's probably time to take a closer look.
Today, the term 'cloud computing' means different things to different people. Despite a baffling array of interpretations, most definitions of cloud computing have at their heart the principle that IT resources - from simple applications to complex pieces of architecture - can be delivered to users as on-demand services from third-party platforms, over a network. Typical characteristics of such services include multi-tenant hosting, variable capacity and utility-like billing.
Software as a service (SaaS)
Probably the most well-established and best-understood area of cloud computing to date, SaaS offers companies an alternative to buying packaged applications and running them on servers in-house, with all the add-on costs associated with additional software licenses, maintenance and upgrades - not to mention the time and money spent keeping the servers up and running. In the SaaS scenario, applications are provided by a third-party specialist such as Salesforce.com
over the network, in return for a monthly per-user subscription fee. Because the software is network-based, users can access applications from wherever they're located: in the office, at home or on the road. As many customers use a shared flexible infrastructure, the prices are much lower and are adapted the the company's real usage.
Platform as a service (PaaS)
Not every company wishes to use cloud computing to access SaaS applications written by a third-party provider. These days, increasing numbers are using the cloud as an environment in which to build their own bespoke applications. In the PaaS scenario, developers access a provider's resources over the Internet to create code, without their employers needing to invest in development platforms and tools themselves. Application development using PaaS is often a highly collaborative affair, because it allows teams of skilled developers in different areas of the world to deliver a project. This, in turn, can speed up development times
, according to research by analysts at Forrester Research. In early 2009, they found 20 PaaS products already on the market.
Infrastructure as a service (IaaS)
IaaS covers the basic 'building blocks' of computing (CPUs, memory, operating systems and so on) and offers companies the opportunity to 'rent' as much (or as little) computer processing and storage as they need, when they need it. In theory, all infrastructure provided in this way should be able to adapt automatically to the needs of the customer, expanding in order to handle peaks in traffic and decreasing once demand subsides, with the customer only paying according to usage. According to a May 2009 survey from Forrester Research, IaaS is the area of cloud computing currently receiving the most market attention
and around one-quarter of companies plan to adopt this model, via an external service provider.
How do cloud providers charge for these services?
A central tenet of the cloud computing model is usage-based pricing. So, for SaaS, providers charge on a per user, per month basis; for PaaS, they may charge the number of hours spent on the platform or the quantity of code developed; and for IaaS, calculations may be based on processing cycles or the amount of memory or storage use. What cloud computing really offers is the chance to shift from a capital expenditure model of IT spending, where businesses are obliged to make significant upfront investments in software and hardware that they don't always use efficiently, to an operational expenditure model, where they make regular, predictable payments to a provider, based only on what they consume.
What are the challenges involved?
Companies considering cloud computing services typically have two concerns: performance and security
, with the latter topping the list in numerous surveys. Performance must be addressed, because of latency and bottle-necks between customer and service provider. Security is vital, especially when corporate data will travel over the public internet at some stage in its journey and may be hosted on hardware shared with other customers within the service provider's data centre.
Is there a way we can get the benefits of cloud computing, while still keeping data and systems under internal ownership and control?
Yes, there is - it's referred to as 'private cloud' or 'internal cloud' computing, and it's a model that's generating quite a lot of interest. In a survey conducted in the third quarter of 2008 by Forrester
, 4%of respondents in North America and Europe said that their organization had already implemented a private (or 'internal') cloud, while 17% said they were interested in the idea and were either implementing or budgeting to deploy one. In another variant of private cloud computing, infrastructure may be owned by a third-party and shared with other organizations, but each clients' data is kept entirely separate from that of other clients, through the use of partitioning technologies.
The biggest challenge private cloud presents to end-user organizations is transforming the sprawling infrastructures they have today into a cohesive, fully virtualized private cloud arrangement, where processing power and storage are allocated to applications located around the business on the basis of need - but it's here that trusted third-party partners with experience in enterprise-class networking and hardware can make a big difference.
The same is true of 'hybrid cloud' computing - where public and private cloud services are tightly integrated, enabling companies to carry on running their own mission-critical systems, while also bringing in third-party applications and services where appropriate.
So how do we choose a provider that will help us to mitigate the risks involved?
A good cloud computing partner will provide a strong service capability with rock-solid service level agreements (SLAs) governing performance and usage measurement. They will have considerable network optimization skills, so that customers can be sure they won't face availability issues (here owning the network is a clear edge). And they will be highly experienced in sharing computing resources among customers in a secure, reliable way.