Cloud Computing is a wonderful buzzword being touted by any and all in the technology industry these days – although the definition varies widely depending on the source or sector. So what is Cloud Computing? At the recent Irish Open Source Technology Conference, we delivered a presentation (embedded below) called ‘Cloud Computing – The Evolution of Internet Infrastructure’, which aimed to explain Cloud Computing, talk about the components of a Cloud Platform, and then discuss the future potential of this area.
Introduction to Cloud Computing
Cloud Computing is often confused with Grid Computing or Utility Computing, and while these may be uses of Cloud Computing, they are not inherently part of it. Grid Computing is typically a massively scaled infrastructure capable of processing huge amounts of data very quickly. Environmental Modelling or DNA Modelling are examples of uses for grid computing. Utility computing on the other hand is really a model of pricing and delivery. In utility computing, the premise is that you can access computing resources as you need them, and only pay as you use them. Utility Computing is often explained by referencing the Electricity Grid – where there is a massive power grid that you can tap into as you need it, and scale up and down as you require.
Cloud Computing is essentially computing resources delivered from the Internet to your desktop.
Cloud Computing refers to services on the Internet as being ‘in the cloud’ – which means not in your office server rack or your building’s comms room. Cloud Computing means outsourcing your computing requirements and receiving these services through your Internet connection. You no longer need to worry about power, cooling, server hardware deployment and management.
You can use Cloud Computing services to store data (archive, backup, general-purpose), deliver applications (SaaS – Software-as-a-Service), and deliver access to Internet Infrastructure as and when your company requires it (HaaS – Hardware-as-a-Service), such as for seasonal peaks, or torture-testing your new application deployment.
Why use Cloud Computing?
Let me preface this by assuming there is an organisation need for Internet Infrastructure – be that a requirement to delivery services to customers (IE a web application your company has built), or to provide resources to staff such as email, file storage, collaboration, database and ERP applications. Assuming an Infrastructure requirement exists, there are two ways it may be currently at the moment. You may have infrastructure in-house (typically for office applications) or you may have server hardware co-located or leased in a Data Centre (typically for web applications).
Enter Cloud Computing. First of all, the most tangible benefit of Cloud Computing is that it offers an Enterprise-grade solution, on a very affordable basis. Unlike a single server, an enterprise cloud offering will have massive amounts of fault tolerance built in, and should be architected using high-end network, server and storage kit. You can therefore outsource your company’s infrastructure to a Cloud Platform and benefit from reduced cost AND increased services. (This is why Cloud Computing is such a hyped area!).
Some other rationale for choosing Cloud Computing over traditional deployments include:
- Scalability : Grow your deployment rapidly, as required, without huge capital costs or operational time.
- Flexibility : Add and remove resources on-the-fly (or script tolerances!) to cope with peaks in your requirements. Only pay for what you need.
- Reliability : Take advantage of a massive computing platform, without having to build and buy your own. Improve your organisations infrastructure SLA’s by using a highly redundant and resilient platform that has no single points of failure (i.e. that server in the corner of your office!)
- Fast Setup : React the decisions or requirements quickly and deploy complex architecture’s rapidly.
- Affordable Enterprise Solution : Economies of Scale. Utilise a multi-million euro platform for even a single server deployment to get best-in-class service for an entry level price.
- Environmentally Efficient : Cloud Platforms maximise infrastructure utilisation per server and per square foot in the Data Centre. Standard servers only use 15% of their resources.
The 3 Levels of Cloud Computing
- Hardware Independence
- Service Not Reliant on single Data Centre
- Platform Agnostic Application Delivery
(more information about the 3 levels of slides 10-12)
Vision for the Future
Cloud Computing has yet to finds it way into the boardroom. There is a lot of innovation happening in this area, and at the moment there is uncertainty and confusion around what the Cloud Computing really is, and no single provider has emerged as the ‘one to bet on’.
I think in the short term we will see a standard emerge (like x86) for Cloud Computing resources, and then application vendors will create packages for deployment and management around this. Standardised ‘Cloud API’s’ will emerge and users of cloud computing services will be able to select providers without fear of platform lock-in.
In the future it should be possible to move your infrastructure deployment between suppliers and you will be able to select criteria for this to happen automatically. For example, maybe you want your infrastructure to only reside in suppliers that have an SLA (and proven track record) of 99.999% uptime; perhaps you would like to keep your service within a defined latency of your users (this might mean moving your infrastructure ‘following the sun’ to place it nearest people in office-hours); you might want to keep your service within a price range while maintaining decent SLA’s (higher SLA’s for day-time with more tolerance for speed / latency at night while taking advantage of cheaper providers). Ultimately, a Cloud Computing standard will drive adoption from business as well as providing for innovations the whole industry can benefit from.