INTEGRATION ON CLOUD - A STUDY IN KRONOS (Part-2)
Welcome back! In the first part, we talked about some of the Integration options that are available to us to interface on-premise applications with SaaS based solutions. In this part, let us look little deeper into the architecture and call out some of the key integration considerations. Also, I have put together a matrix, which gives a guideline on choosing the type of integration based on various considerations.
Now that we have already seen the various integration options available, let us look further and list down some key considerations to keep in mind before zeroing on one. From an architecture standpoint, there are various points to ponder over before committing to a design pattern. Making some informed architectural decisions goes a long way in the success of the program. So, here are some fundamental questions that we should answer before selecting an integration framework for the new cloud application?
Volume - How big is the data that is being exchanged between clouds or between cloud and on-premise?
Speed - Closely knitted with the volume consideration, is speed. How quick can the data transfer be? What are the bandwidth limitations if communicating with a SaaS application? How does data volumes impact speed?
Data transfer and transformation requirements - As it is always with integration design, the type of data transfer plays a role in the final integration architecture. Few data transfers need to be synchronous and the others, asynchronous. Knowing what data need to be transferred in what way will be a handy input in the final architecture. The same can be said about transformation requirements. The chosen architecture should allow enough leverage to plug in transformational logic to convert source formats to destination formats.
Integration options - What integration technique suits the application best? Does the application support API or Web services or any available tools? Does it need special cloud connectors to interchange data?
Security - Is the data being transmitted secure enough? What are the risks of eavesdropping while the data moves through a public internet connection on its way up to the cloud? What kind of encryption (e.g.: PGP) techniques suits the data?
Maintenance - As always, how easy it is to maintain the integration solution? Is it a widely accepted technique? Are the support costs too heavy? How easy it is to find relevant expertise?
We have 2 parameters at hand now: Integration options and Integration considerations. We saw them in silos, but to deduce an architecture decision from these 2 parameters we need to look both of them together. Here, I have tried to put together a matrix that can serve as a quick guideline while choosing the right integration technique. Please note that the below view is only based on my past project experiences. This may change based on overall system landscape and organizational guidelines.
Now, how does this all really span out in real world? After all, we all know things are not as straight forward as it is written on the books! Let's look at some real life examples and conclude this series in Part-3. Stay tuned!
*****End of Part-2*****