Welcome to the Next Big Thing
(TM)- Cloud
Computing. Everywhere in IT, this buzz term abounds. But, what does it
mean? And what does it mean to you? And will ignoring it and praying that it
goes away work for this trendy term?
You know, sometimes, I just hate Gartner.
They make a profit on generating buzz and getting CIO's all worked, leaving the
technical staff back home to translate the buzzwords that the CIO heard back at
the conference into reality. And for this particular issue, it's a bit more
dangerous than most.
So, aside from being a catchy buzz phrase,
Cloud Computing is basically computing via the Internet using shared server
resources - hardware, software, facilities, etc. Access to Cloud resources is
everywhere on the Internet and theoretically the services are redundant. This
model is being put forth as the latest and greatest provisioning and delivery
model for Internet Services. Using other trendy buzz-words like 'dymanic',
'scalable' and 'virtual', this model advertised as cutting edge and money
saving.
Put simply, the cloud is a set of
Internet-based services maintained by large organizations that already have many
large data center locations throughout the world - organizations such as
Microsoft, IBM, Amazon and Google.
Benefits:
Quick Turn Around - Instead of waiting on capital projects,
customers can generally expect quick provisioning turnaround times for the
services they are purchasing.
Lower Costs - Service contracts come out of operating
budgets, whereas capital projects come out of (gasp!) capital budgets. As a
result, the service appears to lower costs. Theoretically, use of common
facilities would reduce costs as well - but this is very dependent on the
service and the vendor's pricing.
Reliability - The large vendors servicing this 'new'
industry already have many large, geographically dispersed data centers with
nice, fat, Internet connections. Provided that they design and implement their
services correctly, this should mean that the servers hosting the services are
redundant and located in multiple geographically diverse locations - with
increased reliability as a result.
Maintenance - With the outside vendor providing the server
and application administration services on the server side, the client
theoretically do not have to worry about maintainance, support or licensing
concerns.
Issues:
Privacy and Compliance - Think it was bad when the phone
companies were handing over all of their data on American Citizens without being
given a warrant to do so? Well, imagine that, but with all of your data. The
vendor organizations can theoretically be compelled to provide your
organizations information, un-announced to you, to any number of shadowy
government agencies. (But then again, it's arguable that Google / Microsoft
aren't beholden to any government anyway, so maybe it's safer this way - then
you just have to worry about the access to your data that either evil empire
would have.) Ironically enough, the flip side of this is compliance - FERPA,
HIPPA, SOX and so on all have rules governing the exposure and handling of data
- as well as the location of the data. Having a geographically redundant cloud
may actually be a problem if your compliance rules require your geography to be
limited to the continental United States.
Security - On the internet, security is as weak as your
credentials. At least for local networks, highly sensitive information can be
restricted to access locally. On the network it's anyone's guess - and you
know that big players like Microsoft don't have staff dedicated to monitoring
your shared resource logs for any suspicious activities.
Lack of Standards / Customization - Need your logon
customized to fit the highly specialized needs of project X? Tough luck, we're
using shared resources here. Want to code against the shared service - well,
there are no set standards - so maybe you can and maybe you can't.
Performance and Availability - Seeing performance issues
with a service? Good luck working that out - you have no insight as to the
server performance and the issue could be any aspect of the workflow between
your users and the service. It could be the user's machine, the user's network,
the Internet pipe, DNS, the vendor's Internet pipe, the vendor's network, the
vendor's software, their server hardware, their storage. Who knows? Not you,
for one. Having availability issues? Well, theoretically your cloud resource
should failover to an alternate location. So, what is your Business Continuity
/ DR plan for your cloud based App? Hope and pray for it to come back on-line.
Now this is not to say that
certain IT functions should not be ubiquitously available to the point of being
a utility. Many users already have a world view that expects services; say
email, to be as readily available as a dial tone on a cell-phone. Never mind
the naivety of comparing a 134 year old technology that requires two wires, a
microphone and a speaker to a technology that came into popular use about 15
years ago and that requires an extremely complex series of networks and servers
all to be working correctly. Maybe it is reasonable to expect that a standards
-based implementation could be presented as a fairly reliable utility. (Note the
standards-based bit - when you've still got non-Internet standards based systems
such as Exchange and Lotus, you're still going to have issues implementing
utility like services.)
All that aside, the reality of
Cloud Computing is that it's nothing more than modern technologies, such as x86
virtualization allowing vendors to re-package the age old 'outsourcing' model
as something new and different. The word outsourcing has a negative
connotation, of course - it represents the last 10-15 years that big companies
like IBM spent firing U.S. works and sending their work to India (and trashing
the U.S. economy in the process) for the justification of making their
stockholders happy.
And as a System Administrator,
this prospect should come with a great deal of alarm. The more dumbed down the
server OS' and hardware gets - and the more Server services get outsourced - the
less skilled you need to be for your job - and the less likely you'll have a
job.
The fact is that the only
difference between "Cloud Computing" and Outsourcing 10 years ago is that now
the marketing and sales people mutter the incantation "through the magic of the
Internet and Virtualization... you have your own redundant instances throughout
the world!" And the only clouds involved are the smoke and mirrors that these
companies are using to abstract the clients from their data.