“What are the use cases you want to pursue with your enterprise cloud project?” The question seems innocuous enough, but I can tell you from first-hand experience that it is anything but. If you asked five people from different teams within the same company to each give you three use cases, you would end up with 15 different scenarios. Such is the case in the current enterprise landscape where points of view on cloud vary about as much as you can imagine. Each organizational fiefdom has its own set of pain points, challenges, and initiatives to tackle, and each one of those teams have an idea on how the cloud can help.
Being on the service provider side, listening to users roll off a burgeoning list of usage scenarios is equal parts exciting and disconcerting. I find myself caught somewhere between, ‘Wow, that sounds cool and fun!’, and ‘How am I going to show that in an easy, yet valuable manner?’ It is not an easy task. Lest you think I am out looking for pity, I sympathize even more so with the company. I especially feel for the person on the consumer side who gets the task of leading the ‘enterprise cloud initiative.’ Talk about a thankless, exhausting, and challenging role. On a given day, the only team that is rallying behind you is the one who thinks you are about to implement the product they are championing!
Being a part of many of these endeavors, I like to think that I have picked up a lesson or two applicable to most cloud implementation projects. From the service consumer side, I feel compelled to warn about what seems to be transforming into an anti-pattern among cloud adoption. While it is fine, and in fact advisable, to have an enterprise cloud strategy, it is not usually so wise to attempt to fulfill that strategy with a single tool. This comes back to a question I have posed before: Do users need a single tool or a single pane of glass? Well, judging from the projects I have seen so far, users need a single pane of glass far more than they need a single tool.
The problem with adopting a single tool that purports to deliver on every one of the use cases for an organization’s cloud strategy is that implies quite a bit of work on the user’s part. It should be pretty obvious that as a tool’s flexibility increases, its complexity usually does as well. From a cloud provisioning and management standpoint, this usually means that you will be doing a lot of scripting for installation, configuration, integration, orchestration, and management. It’s not that these tools do not have their place, but my main caution to potential users is to carefully consider just how many use cases they can realistically address with this approach given their timeline. I have seen a few projects go way over their target dates due to severe underestimation of the effort required for this kind of work. Oh, and don’t forget all those scripting, orchestration, and managmenet assets require care and feeding over time, so it’s not just the initial effort to consider.
Given the potential pitfalls of a single tool approach, I usually advise users I work with to consider a careful balance of general purpose and purposeful solutions as a way to fulfill their enterprise cloud strategy. While purposeful solutions do not deliver the flexibility of its general purpose brethren, they typically provide much more out-of-the-box value. The design and implementation of these solutions focuses on handling a subset of use cases really well, thus severely reducing the time and cost of addressing those particular needs. Many of the assets users would otherwise build and maintain themselves, come embedded in the solution.
There is on big caveat to a blended approach. The integration between all of the different solutions must be easy enough so that the wiring work does not require as much effort as the single tool approach would. This is mainly a challenge to the service provider side of the house. I believe providers, especially those like my employer and others that address multiple different layers of the cloud, are starting to recognize this need. It is one thing to be able to answer an enterprise’s cloud use cases with a set of products. It is quite another to enable an enterprise cloud with a single, well-integrated, consumable solution!