Posted by
mheydt on
2/6/2009 6:17 PM |
Comments (0)
I'm working on getting some materials together that can be used to pitch the effectiveness of cloud computing to support trying to convince people to move to cloud based services. Part of doing this is to know the problems that have been seen so far and to work out good answers / alternatives to arguments supporting those. I've listed here what I've identified so far and have explained why they are problems, but not yet the ways to counter...
This is a
fundamental problem. I work with trading
systems and large banks, and I don’t see them feeling comfortable with moving
their data off site. It’s not that the
data isn’t secure somewhere else, as it may actually be more secure than on
site, but that certain regulations (such as HIPAA, SarBox, …) may require the
customer to have data on site.
This still does
leave the option for computing to be done within the cloud with data stored
locally, and with secure communications between on site data storage and the
cloud based computing. But this may
actually lead to additional problems such as latency and not enough throughput
for high volume systems.
Tying into the
issue of security is being able to log access to data within the cloud. Much of what is done for compliance is “who
and when” accesses the data. There is
nothing inherent in the cloud that actually supports this, and with systems
being remote, access controls to systems may not be as secure as with on site.
- It's not platform agnostic
This come up a
lot in my discussions with people. It is
true to a point, but you really need to look for what you need. Historically Amazon services only ran Linux
(and because of that LAMP applications), but they have started to offer windows
servers within the cloud and that has opened things up a bit, as you can use
EC2 not just for prepackaged applications, but now for a base server
configuration (both Linux and Windows) that you can put your own applications
within.
- Reliability is still an issue
The SLA of the
cloud provider will be real important to selecting a service, as well as their
history of operations. Many people have
moved to using Amazon S3 for data service, but also many got burnt badly with
S3 went down in 2008. Also, moving to the
cloud not only includes the reliability of the cloud provider, but also of the
Internet providers connecting you to that cloud.
- Portability isn't seamless
Many cloud
application providers may store your data in formats that are not portable to
other platforms should you decide to move.
This is a little bit less of an issue with EC2 or Azure services as with
those in many cases your data is backed with common database systems that you
can easily migrate full databases to another cloud provider, but other
application services such as Google or Yahoo you may not have direct access to the databases.
- It's not environmentally sustainable
One of the
touted benefits of cloud computing is the supposed savings in energy by moving
your infrastructure to a cloud services provider that, at least in theory,
manage the electricity running the servers better than you do. This will likely be true if you use the cloud
based applications only when needed (instead of running them all the time
onsite whether you use them or not), and if the cloud provider also either
turns off that server when you are not using it or allocates the power no
longer used by yourself to someone else for that time.
- It still has to exist on physical servers
There are a few
things that tie into this. First, has to
do with the previous comments on power.
Simply moving your app to the cloud is simply moving power usage from
you to another place, so if they cloud provider does not manage this better, or
perhaps even worse, you’ve not done any good.
Second has to do with the initial comments on security; you may not
actually know where your data is stored.
Amazon services allow you to specify a geographic region, but something
to consider is that a particular cloud provider may not, and what would the
ramifications be if you data ends up hosted in a foreign country where data
privacy laws are not amenable to what you need?
Although you
may get enough horsepower out of the cloud (if not more, and for less $$), you
are introducing latency in the various communications links between you and the
cloud, which can be a problem if you have applications that are very sensitive
to latency. There are solutions being
developed to help manage this, including caching and ability to route to local
severs, but it is still early in the game.
- Some companies already have an internal cloud
And they’ve
worked hard at it, and may have operational efficiencies similar to what is
available by cloud providers, so there may not be a desire to move. I do think that this will be a rare case,
especially when pointing to the use of on-demand applications provided through
virtualization, as it is too early to expect that many have the ability to
provide that level of virtualization in house.
Big companies
may be very resistant to moving to the cloud, not because they don’t want to,
but because they have “processes” to follow, and need to be sure that systems
don’t break when moved. I would expect
that you will see many small companies move to the cloud quickly, where it is
easily done due to a small amount of infrastructure to move and they cost
advantages are easily quantifiable, but I would think that larger organizations
will first “dabble” with the cloud trying a few new and non-critical systems
first before moving on existing systems.
I still see
operations of the systems from the various cloud providers to be
deficient. Sometimes just knowing if an
application deployed to the cloud is not available (be it the server down,
network outages, firewall issues, data corruption) is a real issue. There are companies working on this (such as
RightScale), but it will be a while until good infrastructure is in place to
prevent you from staying up at night wondering if you app in the cloud is up or
down.
Not all
software in the cloud is free. Much of
it is, but I still think that there is confusion on things like licensing
Windows nodes in Amazon EC2. Suppose I
need 100 instances for 5 minutes each (a total of 5 minutes execution time with
each running at the same time) to do some heavy calcs, but only once a
month? Do I need 100 full licenses? With Microsoft’s Azure services this won’t be
a problem as this will be a part of the bill that MS sends you, but with others
like Amazon it’s not totally clear.
I still don’t
think that proper billing is in place for usage of the systems. The scenario I mention in the issues with
licensing is an actual scenario, and although I get a bill from Amazon at the
end of the month showing me how much CPU I’ve used over the month, I’d sure
like to see on demand how much my usage for any instance is at my demand. Perhaps this info is available but I don’t
know how to get it yet, but if it isn’t it surely should be.
4f52ef42-8e30-4a27-9fb1-257a8326dabe|0|.0