There are some tricky bits to migrating service-oriented architecture (SOA) applications to virtual resource pools, including the cloud. Probably the largest problem in dealing with elastic resource pools in SOA applications is the mistaken view that the SOA publication/registration process handles resource issues fully, when in fact it can complicate things considerably.
In many cases the changes needed to optimize SOA applications for virtual resources are limited to the publication/syndication and orchestration processes, and application architects can easily plan for and drive them to prepare better for the future. In special situations such as cloud bursting, or where component changes can alter state-keeping, special procedures may be in order. It’s up to application architects to decide when virtual-resource accommodations are needed and how to optimize them
Performance Workflows And Dynamic Resources
All dynamic resources are not created equal; in VM movement applications, it’s typical to move a machine only within the data center, but in the cloud, a component’s host might move thousands of miles. The problem with this type of elasticity lies in its impact on optimizing application workflows for performance.
One solution to this is to adapt the WSDL to include at least geographic “zone” references for hosting so that applications running in a given geography will select component copies from that same geography. Another is to adapt the subscribe-side handling of the registry process to return components that match the geography of the requester.
SOA Orchestration And Cloud Bursting
Orchestration itself can be a complicating factor in SOA/virtual-resource applications. Because message flows coalesce on the service bus, the location of the point of orchestration can be a major factor in performance if the middleware imposes a truly centralized bus architecture.
A more distributed form of message management that allows for direct passing of messages to successor components isn’t practical for many SOA applications because they impose message-steering logic via business process execution language (BPEL) or other workflow languages. For these cases, picking where an application is orchestrated may be critical in adapting SOA to dynamic resources.
Why SOA Applications Are Easy To Migrate To Cloud
The advent of cloud computing has not only expanded the service-oriented architecture (SOA) vision geographically, it’s actually driven all of SOA toward a cloud-based application-to-resource relationship. SOA applications, then, are the easiest of all to migrate to the cloud.
Even though it is easiest, migration is not automatic. Exploring SOA’s basic elements, componentization and resource classes, this tip can help put cloud application architects, developers and DevOps managers on the path to simpler SOA-based cloud migration.
SOA infrastructure consists of four basic elements: the processor server system; storage’ OS and middleware; and user-to-application mapping and load balancing. Obviously these are the same four elements that make up any IT infrastructure, but SOA changes the way that businesses should balance their capabilities in each of these areas to optimize availability and performance while controlling costs. Often the way this is done depends on the SOA architecture model and the way applications are componentized and deployed.
On the database side of SOA infrastructure there are also “virtual” and “physical” issues to be considered. Data grid technologies that allow applications to access data that is highly distributed geographically, such as Hadoop, will often distribute applications to multiple nodes to run in parallel, then collect and correlate the results. This creates a need for a hybrid compute and storage node. On the other hand, many “big data” and analytics applications today are based on appliances or special-purpose nodes accessed via a query language. This allows SOA application components to be divorced from the data analytics function, which reduces the need for special data interfaces or CPU and GPU analytics features.
This expert e-guide provides best practices for developing and migrating SOA apps in cloud infrastructures. Additionally, discover why even though SOA apps are the easiest of all to migrate to the cloud, migration is still not an automatic process.