Wednesday, January 23, 2013

Cloud Computing Leadership - Practical Advice

We dropped out of the last post on this topic with:
The Cloud Computing challenges you really face are how will you turn your internal infrastructure into a Cloud, how will you blend your internal Cloud and external Cloud together seamlessly creating a Hybrid Cloud, how will you expand and contract the Cloud to manage costs, how will you take traditional custom application services and share them as application infrastructure, how will you take traditional infrastructure services and share them as applications and how will you organize, train and lead your people through this evolution?
Leading an organization through these challenges is not simple. As a CIO or CTO you simply don’t get a manual guiding you through the process of making these tasks easy. They do get easier as you develop the ability to frame the challenge in a manner your team can understand and pursue. One simple model I have developed with my team is to ask ourselves one simple question: How do we turn Infrastructure into Application and Application into Infrastructure?
This question guides my priorities, investments and leadership model. If we are able to take the infrastructure of our company and make it resilient and elastic – ultimately putting the guidance of it into the hands of our internal and external customers we are making legitimate progress at realizing the promise of Cloud computing. Conversely, if we can take the ubiquitous components of modern applications and offer them to development and product teams as common services built into their platforms for consumption we push the Cloud computing agenda once again. Look at the convergence between IaaS and PaaS in the marketplace and you will see the agenda. This teaches you a great deal about the process of meeting the challenge outlined at the top. You will need leadership and staff to match up to the challenges.
First, there absolutely has to be a mediator between the world of Application Development and Infrastructure/Operations. Many organizations use the term DevOps to describe this role. The role of mediator is critical because both sides need to make concessions in order to develop a mature Cloud computing model. It is important for Application Development teams to give up pride of authorship and use pre-existing and low cost alternatives to custom software development and it is equally important for Infrastructure and Operations people to realize letting development and product teams spin up their own infrastructure is manageable. Furthermore, there is no man’s land of automation between the two that requires a very specific mind set and skill set.
Second, you need to get your Architects on board and have them start pushing an agenda of shared services and platform capabilities. Architects have to start being held accountable to each other. If you don’t have a CTO on staff or the equivalent get one fast. You as a CIO or Senior IT leader need a technical strategist to drive this agenda and support the improvements your entire portfolio can benefit from as well as assist the DevOps team in prioritizing application features that can be described as “cloud aware”. There must be an emphasis on communication, education and leadership for the technologists underpinned by measurable  business success. The critical leadership challenge here is to find someone who wants to build consensus and demonstrate results through adoption and convergence not another developer who believes there is a single right answer. The right answers will be emergent as the collective will of the other architects not a mandate from the chief architect.
Lastly, do not be afraid to separate your traditional Infrastructure and Operations teams into two units: one focused on onboarding new infrastructure, platforms, tools and apps and the other focused on supporting the existing Infrastructure. Over time most of our portfolios will find a way to be implemented in an elastic and resilient hybrid cloud model. However, in the short run we will need to very diligently develop new apps into this model and aggressively modernize some as quickly as possible. While this transition is underway the complexity and time associated with the emerging solutions will be a difficult challenge for traditional data center operations and support functions. Moving part of the team into an onboarding role with the appropriate time and focus to get the new Cloud platforms working will be critical. Understanding the implementation and support model for the apps and platforms we are building in the Cloud is not a trivial shift. If you don’t dedicate people to it for some period of time you risk failing on launch.