Cloud computing significantly changes the strategic playing field. Core to this change is both a philosophical and physical change to how infrastructure is managed. One doesn’t have to look far to see similarities in other industries where this transformation has taken place. Paramount among them is the electric industry. In the late 1800’s, companies built their own power generation facilities. By the turn of the century, companies were leveraging central facilities to provide power. This afforded companies several advantages. First, economies of scale provided economic benefit. Companies could acquire power cheaper than they could produce it themselves. Second, it allowed companies flexibility to move their companies further from the power sources themselves. Centralized power generation lead to additional power transmission possibilities. Third, it allowed companies to focus on strategic priorities and avoid becoming masters at power generation. Lastly, the economic model changed for the companies. Instead of making capital investments in power generation, they moved to a pay-as-you-go service based model. This provided further flexibility for the company
Turning back to present day…
In the short term, there are a number of questions that come up when considering cloud computing and specifically IaaS. Many enterprise and SMB companies are already starting to consider pay-per-use services to replace their existing systems. Some estimates peg this number at ~40% of companies use some form of cloud computing service (2009). But this story is not all positive. There are a number of challenges that come with these opportunities. The first challenge is in IT portfolio management. As an organization evaluates their existing (and projected) portfolio offering, consideration needs to be given on which services are strategic to the company. Similar to power generation, is compute/ storage capacity strategic? Or is it simply a requirement? Second, providers need evaluations that consider internal operations. Asking the right questions and probing into sensitive areas will provide confidence in the provider’s ability…and risks. One cannot absolve themselves of risk assessments simply by leveraging a third-party provider.
Similarly, is one provider enough to meet the requirements? As we have already seen, infrastructure providers will have failures too. How do you ensure that you’re protecting the interests of the company through your arrangements?
What is a data center fabric? Can this be related to how electric generation started? What about the electric grid? Can we expect to see a compute grid develop? Where do classical operating systems come in? If there is a migration process for companies from IaaS to PaaS (and to SaaS), will the significance of operating systems diminish? As we see the market mature, the answer is certain to be yes. That is not to say that operating systems will go away. But for most applications, the priority will be on the platforms.
In order to look forward, we have to first look back and ask ourselves the purpose of the operating system. In the most basic sense, we needed a common way for applications to interface with the physical hardware resources they were consuming. Fast forward to the cloud era. What do applications need to interface with? Depending on the level they’re working at (SaaS or PaaS), they’re only concerned with the platform they are developed for…not the hardware resources they are consuming.
One could ask where the concern about hardware resources comes in. That is where we will start to see a type of cloud operating system develop. However, unlike stand-alone operating systems of today, cloud operating systems will adopt a mesh-like integration. They can run as easily as a single resource as they can a combined (and shared) resource. This cloud resource provides the abstraction layer between hardware resources and the applications/ platforms that consume them. Hence, a cloud computing fabric starts to develop.
The fabric becomes a common resource pool that can dynamically allocate resources to the services and applications as needed. As the market matures, so will the adoption of cloud-based operating systems. And eventually the size and number of private systems (and those operating systems) will decrease. This is not unlike the changes to the power generation facilities moving into the 1900’s.
Is there an advantage for early adopters to this migration? Yes. Early adopters will drive the architectures that develop. Sure, there are risks to consider, but those can be mitigated.
Everyone is ‘in the cloud’ today. But what does this mean and how will it help? First, a common way to talk about cloud computing is needed. We need a way to further define how to look at cloud services.
First, what is cloud computing and how does it differ from a traditional model? Cloud computing is purely services based as opposed to product (or a combination of product/ services) based. Cloud services are elastic and can fluctuate up and down with demand. Charges for cloud services follow a classic ‘pay as you go’ model. A customer only pays for the services they use. As demand changes, supply adapts accordingly. This on-demand, pay-as-you-go supply model provides an organization with increased flexibility beyond their existing systems.
The cloud computing architecture is made up of three tiers:
SaaS: Software as a Service
PaaS: Platform as a Service
IaaS: Infrastructure as a Service
It helps to start at the bottom and work your way up. IaaS refers to the hardware and operating system that support the next tier (PaaS). IaaS contains the software required to interface with the hardware similar to classic virtualization products. PaaS provides a common platform that applications can be developed upon. Examples would be Ruby on Rails, mySQL, Java, etc. PaaS also includes the interlaying infrastructure. An organization leveraging PaaS would develop on these platforms. SaaS is the top of the framework. SaaS requires no development on behalf of the end user. There may be minimal configuration at most. But the idea is that SaaS can be used right out of the box…or cloud.
An interesting twist is that SaaS and PaaS providers could potentially leverage services lower in the framework. For example, a SaaS provider might leverage services from a PaaS provider. And a PaaS provider might, in turn, leverage services from an IaaS provider.
There is also the potential for intermediate service offerings that bridge between SaaS/ PaaS and PaaS/ IaaS. Examples of this would be management services that allow usage of multiple PaaS or IaaS services. It is also possible that a management service could roll-up several SaaS service offerings into a more comprehensive offering.
There are a number of ways to leverage cloud services. How will you use it?
But isn’t the real issue here how cloud storage is strategically used? Those that have managed storage in data centers know that disk drives are mechanical devices. They fail. Terms like MTBF (mean time between failure) become metrics of interest. But in the end, there are still drive failures.
Knowing that, processes are put in place to mitigate the risks. Logical and/or physical redundancy is a common means of mitigation. Storage vendors have built technologies around this very issue. When building systems in data centers, designs take these risks into account.
When evaluating storage providers (cloud or otherwise), why not ask questions about their systems? What class of services does it provide? Can you use the ‘trust buy verify’ model to validate their claims? If there is concern about their ability to provide the robust service you’re looking for, why not duplicate the data?
In addition to logical redundancy (ie: RAID, etc), physical diversity (ie: geo-diversity) can also play a role. It is possible for the storage vendor to provide geo-diversity. But that locks you into one vendor’s service. What happens if they have a failure? The question should be no different than if you’re talking about your own internal data center’s storage sub-system.
Why is Carbonite taking all the heat? Maybe they did make some poor decisions. I can’t validate that. But as a customer, I’d be asking other questions before I placed all of my eggs into any vendors basket.
So, that gets me to the root issue: Is the right strategy being used when considering cloud storage? I don’t think so. Which then answers the next question: Is storage in the cloud a failure? No. But there is much to consider before proceeding.