I spend a lot of time talking to end users about their needs, what is working and what is not.  What surprises me often is the view they have of the cloud.  Cloud is cheaper, it is more agile, it is deployed instantly…..There is no argument that conceptually, using a public cloud is easier than provisioning servers on premise, though outsourcing an application to a SaaS provider is even easier.  And yet, there are gotchas in each scenario.  Here are a few things I learned recently:

  • SaaS providers today provide application availability SLAs, not data integrity or availability SLA.  This means that data loss or accidental anything has no affect on the service provider’s compliance with their promises.  In other words, if the data is that important to you, you need to back it up.  Seems like a simple concept, except that you don’t have a dedicated server or an application instance; this is a multi-tenant environment and there is nothing to put an agent on for a backup.
  • Putting data in the cloud seems like the safest place for it to be.  The cloud provider says so.  You pay $x per GB per month and the provider stores your data.  Data placed in the cloud is stored either in a RAID, mirroring, or erasure coded configuration within the chosen data center location.  If you used to replicate your data between sites so you have some business continuity or disaster recovery…well,  you don’t automatically get it with cloud.  The providers only store in a single location and if you want to have your data in a separate location, you have to pay a separate fee.  This means if you are paying $0.01/GB/Mo, which is about $120/TB/Year, only applies to one data center. If you want a second location, that will be an additional $120/TB/Year.
  • We love the idea that we can provision whatever resources we need, both compute and storage.  Sounds really good; I can provision what I want and need and it is available to me immediately unlike when I have to ask my IT folks to give me a virtual machine.  That is not exactly how it works.  Most cloud providers offer a variety of templates that can be selected.  These are machines that have been already designed with CPU, memory, cache, and storage.  If you need more of something and less of the other, you just have to use what is given to you.  At times, this means that your machines may be either over-provisioned in some areas or under-provisioned in others.  Though there is always a cost attached to each resource, it might be insignificant to the value the end user sees in the service.
  • We often look at other companies using cloud services and say to ourselves, well, if they are using it for all their IT needs, why shouldn’t I.  One common example is Netflix.  Here is a question to ask one self, what is my business model and what are the dependencies and drivers of my business.  This is a really important question because whether you can benefit economically and operationally from the cloud will depend on your business.  As an example:  if you are Netflix and you are providing a streaming service, you need to support as many streams as possible for a single asset for many different assets.  If we equate each stream is a user and each user presents a revenue amount, paying on the fly for more resources is covered by the value creation of such resources.  On the other hand, a less dynamic business like pharma or oil and gas conduct numerous studies that may become revenue producing over time.  Their investment must go as far as possible in order to contain investment costs.  The business driver for Netflix is agility; the business driver for oil and gas is cost containment. Speaking of costs, did you know that IaaS is not less expensive than infrastructure on premise?

It may not seem like I am a fan of cloud, but I am.  I remember back in 2000 when we were trying to figure out how to better utilize resources by sharing them across departments and even organizations.  We didn’t have the right technology then, but we are on our way to having it now.  What cloud really offers is the promise of even greater efficiency than just virtualization and with greater efficiency, lower cost and more productivity per dollar spent.  If we change the conversation from cloud first to what drives my business, then we can come up with an architecture that consists of on premise and cloud environments where the decision to use or the other will be based on what serves my needs in the most cost effective, relevant way.