Wednesday, December 4, 2013

A Rational Approach to Cloud Adoption

Today is the day.  You've built the mass virtualized infrastructure.  You have the buy-in from leadership across the business and IT.  You've included all the constituent teams from development and QA to audit and help desk.  It's time to flip the switch, move the cloud, do things better, cheaper and faster.  Ready, set.

STOP!!!  What about the applications?

What about the applications?  They're locked and loaded and ready to GO!

Yes, but are they the right applications? 

Huh?

Ugh...

It's a great day when the internal private cloud is ready to go with real applications doing real work, demonstrating real value.  There is good reason to be proud and get excited.  However, too often the one question not asked is which applications will be migrated to the cloud?  That simple question needs to be answerd BEFORE cloudification begins.

As I've said for several years now, every good cloud strategy begins with a rationalization project.  Application rationalization is the eye opener which sets the strategic foundation for cloud adoption.  Just because an application can be moved to the cloud, or people want it moved to the cloud, is not enough of a justification.  There is only one chance to make a first impression.  Therefore we need to make sure we hit the cloud running which means we're already sure of the direction, tempo, and weather conditions.  Nothing sells a new technology like relevance and nothing kills a new technology like irrelevance.  Good, bad or indifferent it's the business who gets to decide which is the future of cloud.

Often the discussion on migrating applications to the private cloud starts rightfully with focusing on the low hanging fruit.  However how can one know what the low hanging fruit is when many organizations do not have a consolidated list of their applications, their dependencies, their costs, their users, nor their technology stacks?  The decisions are often made on cursory, incomplete knowledge based on the prior experience of team members and their friends.  I personally believe this single factor is a significant reason why so many initial private clouds failed to meet the expectations of executives; they were built to support and undefined set of applications that did not match the reality of the company.  There's nothing like setting out on a journey of a thousand miles with no more than a vague idea of where you want to end up.

Application Rationalization is a discipline within Application Portfolio Management (APM) which provides a company with a 360 degree view of their application inventory.  It's surprising how many organizations, large and small, do not maintain accurate inventories as part of their APM strategy.  Done properly, an application rationalization effort provides an invaluable set of application metadata and drives strategic decisions to answer questions such as:
  • what applications are used, why, and by whom?
  • which applications have similar or overlapping functions?
  • which applications are strategic, tactical, or end of life?
  • what are an application's dependencies including its underlying infrastructure?
  • where does the application sit and what does it consume?
Of course I'm assuming the proper time and effort are expended so the metadata collected is robust and not superficial.  In such a case, mining the application inventory can provide tremendous information for planning cloud adoption, especially when the inventory can be queried to provide killer reports such as strategic applications with cloud compatible dependencies.  The mining can help identify architectural requirements pre-implementation, shape the adoption roadmap, and establish baseline budget numbers for each adoption phase. 

"Moving to the cloud" is the new war cry of CIO's big and small, however like most things it's a combination of efforts which make cloud adoption successful.  Having a strong handle on the application landscape is the key to success because in the end cloud is about applications.  Adopting cloud as an infrastructure first strategy is akin to driving away for vacation and hoping you end up somewhere relaxing.