The promise of both cloud and service-oriented architecture (SOA) is about delivering services to businesses, within and beyond the enterprise, with increased agility, speed and cost effectiveness, leading to greater innovation, improved collaboration, customer satisfaction and business growth, says Twanette Jurd, technical director at InfoBuild.
The concepts of SOA and cloud
How do these technologies overlap and how do they differ? Service-Oriented Architecture (SOA) and cloud are complementary concepts that share some core principles.
They both emphasise the service concept and both promote loose coupling. They both aim to provide savings and improved agility in making changes faster and more cost-effectively.
However, they differ significantly in the types of services they provide. SOA is an architectural style for developing applications. The services in SOA focus mainly on businesses, that when combined, address a specific business application or solution.
Generally businesses start with a requirement to address a specific business problem and then abstract out the services. These services can be shared with and reused by other applications.
cloud computing is a service-oriented deployment infrastructure – a new consumption and delivery model inspired by consumer internet services. In contrast to SOA, which typically starts with a business problem, you don’t need a problem before defining cloud services.
The definition of the different types of cloud services is based on their roles in the hardware and software stacks and are mostly well defined. These services can be easily accessed and reused by all applications.
Bringing them together
cloud and SOA are similar from the perspective that they ultimately aim to achieve the same business value. However, as indicated above, they are not the same thing.
“cloud is where things are running, SOA is how you get there, and that’s how the two of them fit well together,” Randy Heffner of Forrester Research.
There is certainly a strong view in the industry of synergy between these concepts. Cloud computing, with its elasticity features, addresses a core SOA design issue related to universal access and service scalability.
cloud computing will benefit from the governance, discipline and sound architectural principals of SOA, particularly for shared services.
Adopting a services-based approach
Increasing the adoption of both cloud and SOA requires companies to picture their business as a collection of services by structuring their operating models, processes and technology components as services.
This is already a fairly common paradigm for business people – to think about what is being provided to their customers and partners as services and to think about what they are receiving from other business partners and suppliers as services. This way of thinking needs to be converted to a structured service-based approach.
Are we there yet?
Obtaining and sharing business services through the internet and electronic computing is a natural and obvious progression of global networking with companies and consumers.
People are already building service-oriented architectures in the cloud without realising it.
So it would seem that the rise of the cloud is certainly leading to a services-based approach. Furthermore, companies that have implemented and are running services in SOA will already have seen the value of satisfying these services-based computing requirements.
What is important is that SOA should not only be viewed as a different technique for structuring information systems development. The value of cloud should also not only be viewed as a way to reduce IT operational costs.
The real business value will only be attained by the ‘whole’, by understanding the value proposition of a service-based approach, structuring business components as services, and combining the flexibility and pervasiveness of cloud computing with the sound architectural tenets of SOA.