In my last few posts I've been exploring the following thesis:
As the economic value of data rises, the need for it to be stored on trusted infrastructure rises as well.
The economic value of data can be thought of as "anticipated future value". When a company writes a new application, there is an expectation that the app will bring monetary benefit to the business. In today's environment, the business manually chooses a specific data center (e.g. cloud) onto which the application (and its data) will be placed based on anticipated future value.
In the long term I have two problems with this approach:
- What happens (after the deployment) if the actual future value is wildly different from what was anticipated? It is probable that the wrong infrastructure has been chosen and the business is likely over-spending/over-protecting or under-spending/under-protecting.
- Many companies have thousands of applications, and manual placement (and/or subsequent migration after misplacement) will no longer be a feasible approach.
Technologies like CloudFoundry and alternative container approaches can help with the first concern. One of the main value propositions of these technologies is application portability; if the application has been placed onto the wrong cloud, it does not need to be re-written to be re-positioned onto another cloud framework.
The diagram below highlights this device driver approach to app/data deployment.
The bottom layer of this picture depicts seven different cloud infrastructure targets (e.g. Amazon, Google, Azure, VMware, etc). With today's technologies, tools like CloudFoundry can accept an application for deployment (e.g. a Hadoop application) and proceed to take care of the deployment onto a specific cloud. In this example the choice and placement of the application (and its data) is manual; an operator needs to feed the target cloud into the CloudFoundry framework (previously I wrote a post containing a graphic that highlights operator selection).
How can the industry move towards an automated approach where application deployment is constrained by the anticipated economic value? In other words, if the line of business for the app can articulate the anticipated value, can tools such as CloudFoundry automatically constrain application placement? Can it contain business logic that matches line of business value versus trusted infrastructure services?
The answer is yes, and in a future post I will begin to describe the technology building blocks that are necessary to construct such a solution.