the past 2 days, I’ve been attending CloudAsia 2010 here in Singapore. There are many talks about what cloud is, is not, should be, etc… and I see a lot of people probably getting confused, and their best association of what cloud is, is Amazon Web Services.
hmm… so, here’s my point of view about what cloud is…
Cloud Computing is just another model for businesses to engage IT services, be it in house or from external partners/vendors. Technology wise, there’s nothing new, and the coolest thing in the technology stack is virtualisation and storage.
Still, what does that mean? Perhaps the easiest way that most people will appreciate it is by taking some known public cloud offerings. One of my favorite example is Google Apps. Take it for granted that Google Apps will host your emails, documents, calendars, and much more. Everything you use on a day to day basis with Google Apps are hosted on Google premises. If you are primarily dependent on Google Apps, you notice that you will barely have any in-house IT resources. Gone were the days where companies have to invest in their own IT department to run and maintain in house set of servers to host emails, websites, collaboration suites, etc. Now, it’s possible to get all of these services just off the web. There’s no more servers to maintain, hardware failure to worry about. Everything has been pushed on to the cloud provider.
So, Google Apps is an example of SaaS (Software-as-a-Service). You merely subscribe to the service to use of the end product from Google. Another popular example of a SaaS provider is salesforce.com.
There are many layers in the IT stack that Cloud providers can sell you, e.g. PaaS (Platform-as-a-Service), SaaS (Storage-as-a-Service), these are some of the offerings available from Amazon Web Services (AWS). From the presentation today, we learn that PaaS is simply a service where you can purchase and run a VM from AWS which you have complete admin access to. With that, you use it just like any x86 server you have on premise. The difference is that you pay what you use, which one relate to like how electricity is charged. You flick the switch on, the appliance consumes electricity, you pay the $/kWhr. Similarly, AWS will bill you based on the usage of the virtual machine.
Utility based computing is a concept that I’ve heard of since I graduated 10 years ago. However, it did not take off very well until today, when someone coined the term Cloud Computing. Ha! not true, it’s not just because of a brand new phrase that people start to adopt the idea. The very fundamental enabler for Cloud Computing today is the development of some very key technologies.
- the proliferation of broadband access for the individuals; without internet broadband to deliver the richness of the web, it will be very difficult to use any service in the Internet cloud.
- the development of virtualisation technology; it is because of the current level of maturity of the virtualisation technology that enables a new paradigm of how IT infrastructure can be managed. The shift allows better uptime, ease of management, more efficient use of existing resources and lower total cost of ownership.
Cloud seems to be always associated with better resouce utilisation, balanced workload among the servers, dynamic load sharing, etc… but these only interests the IT folks who manage the infrastructure, not end users. To the end users, it’s becoming more of what sort of web application is available, which they can just “turn on” and use. End users usually do not need to appreciate the underlying technology the enable all these.
For the IT folks who work in organisations that want to go Cloud, it means very different things. For all businesses that want to embrace Cloud, the very fundamental that they need to start is to virtualise their environment. To make use of their existing investment to squeeze every drop out of the resource they have. It’s almost impossible to find any organisation that have IT resources which are 100% utilised all the time, and it’s a good chance that they are idle at least 50% of the time. This is potentially a very good chance to add more load to the servers by means of virtual machines. Once the environment is virtualised, the next step is to become Cloud enabled.
Most organisations will eventually have their own private cloud, which allows business to quickly deploy new services as required. Taking 12 weeks to stand up a new server ready for development and testing, will become a thing of the past. Development teams will be able to self service in deploying virtual machines almost instantaneously. The enables business to become more agile and react even quicker to market demands for the business. This is an example of a large enough enterprise on having their internal private PaaS cloud.
It will become a common sight that many companies will have very much a hybrid cloud model. Some services are provided by internal IT managed private clouds, and some are provided from external public clouds.
To embrace cloud is not simply just dropping everything we have now and sign up to services like Google Apps. That will be too much of a shock to the end users. Some thought and planning have to be done so that the business strategy of IT can be appropriately evaluated and the appropriate choice made. More often than not, the first step is to start by virtualising the existing infrastructure.
Over the next few years, Cloud computing model will be more readily adopted. It will probably be easier for new businesses to go Cloud from the start, but existing business will take time to change. It will be an exciting couple of years watching how new ideas and services will show up on the Internet.