Everyone is talking about the CLOUD but it is really not a cloud but CLOUDS.
If you want to take an application from your datacenter and have someone else run it you need an IaaS Cloud. Infrastructure as a Service, allows you to take your application, virtualize it (Hyper-V or VmWare) and send it to a datacenter that will rent you piece of a large processing and SAN infrastructure for likely quite a bit less than you are paying today to operate it yourself. As your DC costs continue to rise, the mass-scale IaaS vendor costs will likely continue to drop.(except for power which is currently 15%-20% of non-cloud TCO)
If you want to buy a ready-made on-line service such as CRM, ERP, Accounting, E-Mail, Video/Audio conferencing, browser-based Office Productivity, Collaboration, Business Intelligence etc. you need an SaaS cloud. Software as a Service, provides on-demand usage, a low monthly fee and near state-of-the-art software all of the time, internet/VPN accessibility and some abilities to span local and cloud usage options. The TCO of these solutions are always lower than running similar services in-house and the trade-offs may or may not matter to you.
If you want custom developed applications to run external to your datacenter, you need a PaaS Cloud. Platform as a Service allows you to build an application with the usual tools but architect and deploy it to Cloud for both internal or internet usage. This is where there are enormous potential savings. PaaS cloud applications are not like your normal datacenter server applications, nor are the datacenters they run in. A PaaS datacenter may have 200,000+ servers and Yottabytes of storage.
- kilobyte (kB) x 1000 =
- megabyte (MB) x 1000 =
- gigabyte (GB) x 1000 =
- terabyte (TB) x 1000 =
- petabyte (PB) x 1000 =
- exabyte (EB) x 1000 =
- zettabyte (ZB) x 1000 =
- yottabyte (YB)
These datacenters draw up to 100 MegaWatts of power, more than enough to power a city of 100,000 homes. Do the math and at 10 cents per kilowatt hour, the daily electricity bill for one of these datacenters is $0.10 x 1000 x 24 x 100 = $240,000 per day. That is why these datacenters are not filled with servers from your local computer retailer. The systems are custom built to be low-power consumption “memory and cpu on-a-stick” for application servers and “processing on a big bus” for database application servers. Note: There are at least 2 distinct types of highly specialized servers in a cloud datacenter. In fact your application may run across multiple datacenters with application services in many and database services in many. That’s exactly why you can’t just take your source code, ship it to the cloud and recompile it to run. Well you can … but it will suck on performance because of network latency. (Also known as the speed of light and it’s really difficult to get around that particular law of physics)
A cloud application must be architected to use the PaaS cloud properly. An example: It means that where with a standard local server based web application you might be inclined to populate the content of a drop-down box on a screen from a look-up from a database table, you really don’t want that to happen often in the cloud. Applications that are “Chatty” across the network really don’t work well. Fortunately, the cloud platform has great front-end data caching capabilities that allow you to put items like reference tables, look-ups etc. in memory and cached where the application can be lightening fast. But you have to architect it that way. There are great Cloud Design Patterns now available so that new Cloud Applications can be built and deployed with ease. Retrofitting an existing application to run in the cloud… much, much more difficult.
Once you have bought into the concept of PaaS and architecting your applications for the cloud you can then start to look at hybrid scenarios to meet your specialized business requirements. Today’s PaaS like Microsoft Azure provide the ability for hybrid computing. Want your data local? You can do it. Want parts of your application in the cloud and part local, you can do it. But in all cases, the application must be architected for cloud deployment.
Lastly in addition to the IaaS, SaaS and PaaS clouds is the concept of a Private Cloud. When the term Private Cloud is attached to IaaS it means that in your datacenter, you are following a infrastructure deployment pattern and using mass-scale tools for provisioning and managing your infrastructure.
When the term Private Cloud is attached to SaaS it generally means that a hoster/ISP will host the application as if it where the actual vendor, but will not multi-tenant the application. Ie. It’s yours and yours alone.
When the term Private Cloud is attached to PaaS, it means that you are deploying the infrastructure and platform used by the PaaS provider but doing so in your own datacenter. Specifically in the case of Azure a private cloud uses the full Azure development and operating environment plus specialty built servers from select Hardware providers.
The bottom line is that all companies will be forced by simple economics to include Cloud strategy as part of their IT thinking. Today power costs range from $0.06 to $0.23 per KwH in North America and “Green” power is about $0.65 per KwH today. You can expect power costs alone to double or triple in the next years as we become more concerned with the environment and go greener. Combine the power savings with “lights-out” low cost automated self-healing operations and enterprises that do not head for the Cloud will find their IT operations vastly more expensive than their competitors that were smart enough to think Cloud early.
Planning and architecting for the Clouds, is just good business.