Every company has a Cloud offering and most of the businesses have
concluded or considering to move to the cloud due to its benefits.
Based on an IBM Survey, customers are 83% more likely to use a Hybrid
cloud.
Hybrid Cloud is an integration of
applications/resources/services that are spread across different cloud
vendors or cloud applications integrated with on-prem assets.
So it is essential to understand Cloud Integration.
First, let's list out different types of cloud integration possibilities
- Integrating two applications within the same cloud
- Integrating a cloud application with on-prem resources
- Integrating two SaaS applications hosted on different cloud vendors
On-prem
and Cloud have their own benefits so the industry is
migrating towards best of both worlds called Dynamic Hybrid Cloud which
is a combination of both (on-prem & public cloud) to balance risk
and speed of deployment. Also, the end users migration to mobile and
social usage patterns is forcing
traditional businesses to leverage Public clouds to deploy System of
Engagement (SOE) i.e customer UI and integrate them with System of
Records (SOR) resources hosted on-prem for better security.
Public Cloud
|
Private Cloud
|
Attributes to consider for Cloud integration (*refer OpenGroup)
- Scalable: Should be elastic to absorb the changing workloads
- Robust: Should be fault tolerant, adapt to failures and recovery fast
- Flexible: Capability to handle changes between cloud vendors and on-prem environments.
- Secured: Communication channels and data at rest should be encrypted.
- Configurable: Define configurable interfaces via web browser.
Generally, Cloud Integration is targeted at the Application level or at the Data level.
- When trying to integrate at the Data level a design pattern called Pipe & Filter could be considered. The piping and the filter code transforms and moves the data from one cloud to another depending on the source (producer/from Cloud) and sink (consumer/to Cloud) data format requirements. Similar to ETL (Extract Transform Load) process.
- Application integration
is the key to choosing the best cloud integration option for a given
situation so it is required to cover all three could integration
possibilities listed above.
- Application to Application integration in the same cloud
- API driven - REST based and Messaging (MQ)
- REST is a simple lightweight web services communication (often considered as an alternative to CORBA). It's platform and language independent. Does not have security, session, message formats making it less restrictive. It's a client-server model based on resources that are accessed via simple POST/GET/PUT calls. It is a stateless service which means the calls are atomic and do not depend on previous calls. The Server is not concerned about the Client and the Client will have everything required to fulfill the call. REST is used for synchronous communication.
- Messaging is required for different business applications to communicate effectively using a common method. when there are multiple applications integrated, there is a need for them to be active/up and running to receive the communication and respond. In reality, applications will go down but it is important to have the communication queued and safely handled without duplicating/missing the communication. This is where Messaging Queues comes into the context that guarantees "assured message delivery and Time independent processing". IBM MQ Light is a Messaging software that is available as a developer sandbox and in IBM Bluemix. A developer can seamlessly deploy the application developed & tested in the sandbox, into IBM Bluemix (or even IBM Websphere MQ). Mostly considered for asynchronous communication.
- Application in a Cloud to on-prem resource
- A common scenario for this integration is, SOE (System of Engagement) hosted in a cloud integrated with SOR (System of Records) that is hosted on on-prem. Some examples of SOE are UI for a bank that is used by the customers to check their bank accounts. Example of a SOR could be the relational database that stores financial transactions/customer information.
- IBM Secure Gateway in IBM Bluemix is the preferred way to connect a public cloud application to the on-prem resource. This establishes a secure tunnel between IBM Bluemix organization and remote on-prem resource.
- Applications hosted on different Cloud vendors
- Integration between two SaaS applications. Considering the advancements happening the PaaS and SaaS areas, most of the cloud vendors are self-sufficient or very quickly enhancing with new/missing services, therefore this integration is not popular in the market. However, IBM Websphere Cast Iron Live in IBM Bluemix could be leveraged for integrating two SaaS applications hosted in different Cloud vendors.
- One example scenario could be to synchronize events in CRM calendar system with customers Google Calendar to enable customers to see when a meeting is scheduled on the CRM ticket etc.,
- Application to Application integration in the same cloud
To conclude, here are the considerations that could be adopted for Cloud Integration situations
- SaaS to SaaS integration - consider IBM Websphere Cast Iron Live
- SaaS to on-prem - consider IBM Websphere Cast Iron Live
- Public Bluemix to on-prem - consider IBM Secure Gateway
- Public Bluemix to IaaS - consider IBM Secure Gateway
No comments:
Post a Comment