Your organization is ready to move to the cloud in order to reap all the benefits of pre-built development and...
deployment tools; seamless data access; and a fast, reliable user experience with your application. All your organization's "stuff" is accessible, and if the system goes down, the vendor has to respect the service-level agreement and fix it. All your organization needs to do is crank out applications and features. It sounds too good to be true.
It sounds too good to be true because it's complex. The complication is due to the number of integration points between information and the applications in a cloud platform, as well as the legacy applications that already exist. Any time code is altered to accommodate new technology, those changes tend to expose integration problems. Companies moving to the cloud are frequently hitting integration issues. Even as organizations move to reduce the silos of enterprise applications, they are running into a similar issue referred to as "cloud silos." In order to avoid adding silos and to keep integration from stopping progress on cloud implementations, it's imperative the organization develop a plan to identify and design a method to handle integration points.
According to Richard Seroter in his blog posting The 4 Cloud Integration Dimensions: The Architects Guide to Avoiding Silos, "The long-term competitive advantage you gain from the cloud will likely depend -- in part -- on how well you can connect your assets, regardless of location. There are unique considerations for integrating with the cloud, but the core business needs remain the same."
Applications need to integrate or connect to interior systems at a functional level. However, it also involves data sharing and applications triggering additional actions in connected applications. It can become a rather complicated architecture.
Cloud-based connectors make it simpler to connect SaaS cloud implementations to on-site or existing legacy applications. They also assist in integrating the endless variety of APIs required to keep business applications working as expected. One practical issue with keeping applications running in the cloud is the sheer number of software API's that change constantly. Keeping up with the changes is costly, time-consuming and can make a code base quite fragile.
Several vendors offer an enterprise service bus (ESB) that provides the middleware necessary to manage access to applications, services and condense interfaces. Some vendors include Dell Boomi, IBM CastIron and MuleSoft Inc.'s Mule ESB. An ESB makes connecting a SaaS platform to existing legacy applications less problematic. When selecting an ESB, be sure it includes network failover capability and error handling. In essence, the system needs to inform engineers if a function fails and at what point, and include suggestions for repair and an effective, understandable error log.
An iPaaS platform provides pre-built tools to enable connecting to SaaS and other cloud services. iPaaS solves the problem of cloud silos by allowing organizations to integrate cloud services together and then link them to existing legacy applications. A motivating factor in using iPaaS is that it includes security behind the firewall so the organization's back-end processing is protected.
The platform selected must be flexible and configurable so an organization can adapt it to its specific needs. It's better to pick one that includes tools the development team is already familiar with. In this way, the amount of time needed for training or to gain useful understanding is reduced. The tools need to include a core integration engine. An organization must consider planning and accounting for any training or additional resources that the development team needs to create the connecting interfaces and applications with the iPaaS platform.
Asynchronous or synchronous messaging
Messaging is a key consideration when planning application integration. Synchronous-type procedure calls across the Internet tend to experience significant latency. They also tend to be tedious to keep up to scale. Message queues can be used to increase the efficiency of using synchronous messaging. The application is notified when a message hits the queue and then goes to only that location to pick it up.
Another option is to use asynchronous messaging, which is more scalable. Applications can fire a message and then return to normal processing. It's often called the "fire-and-forget technique."
Moving to the cloud is likely to become a must in the near future for any business that creates applications. The challenge is to create a robust and complete plan to handle all aspects of the change and have backup plans when problems arise. Decisions have to be made with knowledge and technical understanding of what types of applications an organization creates, what legacy applications exist and how each application functions or operates. Without the technical knowledge, it's difficult to develop a plan that works. Include integration in the planning and investigate which type is best for the applications the organizations uses and produces in order to have an efficient and effective move into the cloud computing world.