When I go out and chat with different users about cloud computing, we usually end up discussing characteristics and associated benefits of the approach. As one may expect, rapid provisioning and increased asset utilization typically dominate the discussion. Users can draw a more or less straight line from these characteristics of the cloud to clear value for their organization, either in cost savings, increased revenue opportunity, or both.
While these characteristics and their benefits may be clear, there is another value-producing characteristic of the cloud that, in my experience, users do not appreciate with quite the same fervor: standardization.
In my work with numerous enterprise application teams, the lack of inter-team standardization within the same organization is often times eye-opening. Within many of these organizations, multiple teams setup application environments that fundamentally serve the same purpose (i.e. deliver a web application), but they do so in a slightly different manner, with slightly different components, and slightly different configuration. If you press the teams for an explanation, you will find that in some cases teams simply were not aware the other team was doing nearly the same thing, while in other instances teams believe there way is ‘better.’
The truth is, for a significant number of cases, there really is no appreciable ‘better’ way. That is, the cost of managing the differences in these application environments outweighs the value that the ‘better’ way provides. While this is a specific example, it illustrates a case where standardization would likely provide measurable value for the organization by reducing the duplication of effort caused by treating these mostly similar application environments as mostly dissimilar. This scenario, and many others in today’s enterprise, signals a clear need for standardization.
As far as the need for standardization goes, there is good news. From a technological perspective, we have probably never been better equipped to implement meaningful standardization. Oft-used building blocks of cloud computing, such as virtual images, templates, and patterns, allow users to freeze-dry highly standardized environments into deployable units of work (as opposed to models/diagrams in a document or on a whiteboard that require deploy-time translation). Additionally, cloud computing solutions are constantly advancing the state-of-the-art when it comes to automation, thus allowing for a high degree of process standardization.
That is the good news, so are you ready for the bad news? The bad news is that no matter how well-equipped we are from a technological standpoint there is usually resistance to standardization among enterprise users. As you may expect, this resistance can come in the form of the usual obstacles: resistance to change, internal politics, lack of a unifying vision, etc. However, I have found that in a lot of cases what one might perceive as resistance to standardization is really just a lack of cohesive (organization-wide) understanding of the value of the concept. Understanding the roots of this confusion and attempting to clear it up falls squarely on the shoulders of the cloud vendors and cloud service providers.
Based on my experiences, confusion over the value provided by standardization often results from the fact that the term means many different things to different teams within the organization. For an operating system team, standardization means agreeing on operating system distributions, build levels, security patches, and embedded tools. For an application architecture team, standardization means agreeing on application infrastructure software, infrastructure integration design, and infrastructure configuration. While for an operations team, standardization implies applying rigor to tasks involved in the lifecycle of the environments they manage. As you might expect, very few times are teams even aware there is dissonance concerning the meaning of standardization.
In order to drive home the importance and value of standardization for an enterprise, providers must attack this dissonance. One must foster a common definition or set of characteristics associated with standardization. Now, a common definition or description of standardization does not mean it will be the same in practice for all the different teams. Operating system teams should be able to build standard OS environments. Application teams should be able to build standard application infrastructure environments. Operations teams need to be able to define and enforce process standardization. The proposed cloud solution or combination of services should enable standardization in practice for the various teams that rely on it.
While this is easier said than done, it is only after teams agree on what standardization is and understand how they can use a particular cloud-based solution to apply it to their needs that they can begin to see the potential value. Not surprisingly, the many teams will eventually come to see the same high-level value points derived from standardization. Regardless of the specific activity (building an operating system, setting up an application environment), the fundamental value of standardization is a switch from the special case being the rule to the special case being the exception. Standardization can pave the way for enterprises to significantly reduce one-off activities (again, regardless of what that activity may be), thereby increasing productivity, decreasing the need for specialized, hard-to-find skills, and reducing management costs.
The capabilities of cloud computing in terms of making enterprise-wide standardization a reality is something that is truly exciting. The value of standardization is clear and something that, in my opinion, enterprises can no longer afford to ignore. What do you think? Do enterprises already get standardization and the value it provides? Better yet, do they know how cloud technologies are making this easier to achieve than ever?