The term “cloud computing” didn’t really go mainstream until sometimes in 2008 or 2009, but I am proud to report that I was an avid user and provider of cloud computing services in 1995. Here’s some background:
I am reading many articles these days where the cloud buzzword props up. Most of the time, this goes along with adding “aaS” or “as a Service” to your favorite capitalized letter (think Infrastructure as a Service, Desktop as a Service, maybe even Services as a Service – I am not kidding on the last one as I have seen a recent blog linking service oriented architecture (a software development concept) to the cloud.)
So, back in 1995, I started using email (a revolutionary cloud-based Message as a Service concept) and gopher and other information retrieval tools (google wasn’t invented yet, believe it or not) as cloud-based Knowledge as a Service providers. I provided my friends with scanned pictures from a recent vacation as on a hosted site on Beverly Hills Internet as “Florian as a Service”. Quick: What was the name of Beverly Hills Internet after it was acquired? Hint: the site is not operational anymore, but had 30+ million users.
I am sure you get my drift… if you need a full list of cloud taxonomy, Stefan Ried on forrester.com has a blog
about the topic.
Sarcasm aside, I think that cloud computing is different than anything else we have seen in the past and it’s worth exploring. The key to cloud computing is not that some information of software is accessed via the Internet, but that the backend of the systems scale dynamically. Uh? That’s right. Instead of standing up individual servers and growing the system into a larger set of interlinked resources that may need to be built and configured manually each time the demand is changing, cloud computing allows IT organizations to dynamically provision and de-provision computing resources based on demand.
Amazon’s EC2 cloud is an example where computing resources are provisioned instantly and so flexibly that it allows amazon to charge customers in very small increments of time. A couple of cents per hour of usage.
By that definition, the often cited salesforce.com is NOT a cloud provider JUST BECAUSE they are providing a web-based CRM tool, but they ARE a cloud provider PRECISELY BECAUSE their stuff runs on the force.com platform that allows salesforce.com to react very flexibly to changing demands on the computing infrastructure.
Why is this important to the CIO? Well, for two reasons:
1. If you apply the commonly used, broad definition of Cloud as anything web-based, you may wish to consider web based solutions instead of building out the on-premise infrastructure to support a particular application. This comes with greater flexibility and lower cost in many cases. Hosted solutions are often not as adaptable to your individual demands, but if you’re a smaller business and can’t afford to run your own datacenters and IT staff, web based solutions now allow you to have the same kind of computing capabilities as your much larger competitors. If the hosted infrastructure is actually a cloud per my definition, the cost to you as the end user may be a lot lower than traditional hosting.
2. More interestingly though, the concept of cloud computing should be understood and considered by CIOs. If enterprise IT organizations start to architect and develop their own “private cloud” services, they will potentially see the same operational efficiencies and flexibility as some of the big hosting providers.
If you think that your organization may not be big enough to implement private cloud services, think again. There can be significant improvements in IT ops if a few simple recommendations are followed:
- Use server virtualization technology to gain maximum flexibility in terms of assigning the execution of computing workloads to a particular physical server.
- Standardize your workloads. Carefully balance the desire to minimize the number of available basic server images against business requirements. The more you standardize, the more efficient the private cloud will run.
- Use Desktop virtualization if you desire to provide a Desktop as a Service to users. Again, standardization will pay off in the long term.
- Use App Virtualization to provide individual apps as a service.
- Automation, automation, automation. The more you can leverage the system APIs to do things without having to touch them, the better.
- Think about the “users” of the cloud. If you need to expose a self-service user interface to IT administrators, that’s fine. If you like to expose them to end users, additional automation and adaptation may be required.
- Adding monitoring and logging capabilities will allow you to implement charge back models if that’s what you desire.
Citrix Architects share tons of best practices and implementation experiences on that and other topics. Simply point your browser to the Ask the Architect site for a wealth of information.
So, in summary – don’t fall into the buzzword trap and think that “aaS” or “cloud” is really something new. But if you do understand the cloud and embrace it, the possibilities seem endless. Here’s to the next 15 years of cloud computing.
Ask the Architect – Everything Healthcare