Hi Rick,
There are several dimensions to how to bridge the datacenter to the
cloud. And it starts with your application. Just as not all
applications were meant for virtualization, or all infrastructure
components for that matter, for companies looking to do a mix
datacenter/cloud environment, they are likely going to do very similar
evaluations. Amazon's cloud is the leader right now, but in truth many
businesses have been using a variety of services from MSPs to do the
same thing for ages. Amazon has just been successful in making it very
commoditized and self-service.
Here are my perspectives on what needs to happen for the application
(peeled from one of my responses on the Larry Ellison post earlier
this month):
For scalable cloud applications you are going to need very specific
applications - not everyone is going to be Facebook. These type of
applications will share/evolve some basic principles:
- Loosely coupled components (ok, call them web services!) for
horizontal scale
- Dynamic language frameworks that can hot deploy without downtime
- Fault tolerance is applied as application logic, not hardware logic.
This goes for the data as well, but does not mean that the application
is responsible for monitoring or traffic direction (full disclosure:
my company focuses on the monitoring part of this)
- State is managed in the content and data - while the application can
be CPU intensive, it has transitory states in content to seamlessly
distribute work across other virtualized components.
For the cloud computing infrastructure tools you are going to need to
handle this elastic infrastructure - you are going to want to have
good provisioning capabilities, and application monitoring visibility
that spans the data center, virtualization guests and cloud instances.
For provisioning, RightScale is leading the pack right now with some
others like 3Tera and Scalant around (IMHO). Most of what they are
trying to tackle is the multi-cloud capabilities - as each of these
cloud providers are still emerging somewhat on those attach points.
That would be my guess anyway - their race is to be all encompassing
of the various clouds.
For the monitoring, my company Hyperic has been working on this
directly - and in particular for Amazon for a while now. So I have
much deeper perspectives here. Problems exist in a number of areas
that require a new approach to monitoring and management software that
all basically bend around the idea that an administrator is familiar
with managing on average 15-50 servers/nodes that change rarely. Once
you introduce the cloud, whether internal, external or hybrid, this
challenge now becomes more like 250-600 easily. How do I improve my
server to admin ratio, while accelerating and decelerating scale to
meet SLAs and cost-effectiveness?
1. Deployment - racking new boxes in the cloud takes an average of
63-65 seconds (per cloudstatus's observations). Placing these boxes
under management should be the same. It requires auto-discovery, auto-
inventory, platform cloning for management setup (think exposing log
files, setting service checks, and security permissions), auto-
grouping like resources to key health, and setting alert policies for
like resources.
2. Security - dealing with resources outside your firewall can require
very specific security configurations. The managed resource may talk
out, but nothing should be able to talk to it. So how do you collect
metric data, automatically update management profiles, run diagnostics
and issue corrective control actions when you can talk directly to it.
3. Application management - with lots of moving parts, and changing
numbers of them, assessing health, and drilling down into
troublespots, running diagnostics and deciding what to do seems like a
unrealistic task to stay on top of. To boot, the businesses looking to
create these environments are typically using this IT as a strategic
advantage for their business, or in fact it is their business itself.
In this regard, while many may use say an Apache server, they don't
all use it the same. Customizing the application management views for
the specific deployment, and the user role in that deployment is
critical - and needs to be easy.
4. Performance management - this runs the gamut from diagnostics to
reporting and charting to predictive analysis/capacity planning to all
the custom scripts that match the runbooks of the custom applications.
Bottomline - the main issue is consolidating that visibility of the
entire infrastructure into a single view. Breaking apart views and
using multiple tools leaves entirely too much room for manual error,
and requires additional overhead to maintain the tools that are
supposed to be helping you maintain your application. This can be the
difference from an ops team that is perpetually in firefighting mode
because their infrastructure and apps are always surprising them when
change occurs to a more productive, pro-active operations team that is
helping the business move forward.
FWIW, I can talk for hours about this - we've been working on solving
the application performance monitoring challenge across the datacenter
and Amazon's cloud for almost a full year now, and our latest release
Hyperic HQ 4.0 (due in early November) is all about solving this (feel
free to check it out - its in public beta now). We were able to
accomplish this in just a year at enterprise scale because of our
history of working with the biggest web companies on the net today and
their usage of virtualization - which powers the internal clouds. From
CNet (now CBS), Microsoft, StubHub, Ask.com, Mosso and more - we're in
there helping them tackle it.
Cloud is all about commoditizing it so it can be sold in bite sized
chunks and work in the specific environment for cloud infrastructure -
in this case Amazon.
Cheers,
-Stacey
http://www.hyperic.com
http://www.cloudstatus.com
> theusefulnessand wide adoption of Cloud Computing.