Cloud computing is making inroads. Companies are experimenting with it. The most advanced do it through their IT departments and focus on areas such as software development & test environments or high performance computing. In the others, it happens despite IT, ultimately putting the company at risk of no longer being compliant.
Once the experimentation phase is over and companies decide to migrate, evolve or re-create specific business applications in a cloud environment, the co-existence of cloud and non-cloud environments has to be addressed. Ideally this should be done in a way that is transparent to the end-user, as he/she does not care about how the functionality is sourced. This brings me to the concept of a hybrid IT environment where cloud and non-cloud applications co-exist.
This requires two key elements to be addressed. The first one is how to present the “services”, and I put the term in brackets. I use it in the SOA (Service Oriented Architecture) sense of the term. The user should be able to address a service catalogue (an apps store in laymen terms), in which he/she finds all applications/services available, regardless of their types. Well, we have been able to integrate legacy applications with the web world for years using web services technologies. We should use the same here. Obviously, there won’t be automatic configuration and provisioning of the service, but the catalogue can link directly to the application through a web service, integrating non-cloud applications with cloud applications.
The other element, which is a little more tricky. How do I integrate my cloud services and legacy applications. It is not easy and in their quest to evolve to cloud, companies need to understand this. Is this the Achilles heel of Cloud Computing as Loraine Lawson puts it? API’s exist, but they are unique to every environment you deal with. So, it’s important to look at migrating blocks that are as functionally homogenous as possible. That limits the integration requirements and makes them easier to implement. Worst case flat files can be transferred from one environment to another.
The concept of aggregation of the available services for the user, regardless of where the functionality is deployed and what technology platform is used, is a critical component in the migration to a cloud based environment. It facilitates the acceptance by the end user while confronting the IT staff with known issues to address (integration, management of heterogeneous environments etc.)
Whether the enterprise decides to build its own private cloud by evolving their data centre, or whether they look at sourcing external, enterprise grade, IaaS or SaaS services, they will have to cope with a hybrid world for the duration of the transformation. And we know that takes a while.