Abstract: Cloud Computing is intrinsically service-based. But this is not just in the highly generalized sense of the term ‘service’, but also in the more specific Service Oriented Architecture (SOA) use of the term, where capabilities are provided via published service interfaces. In this research note we consider why SOA should not be forgotten just because more fashionable terms have risen to the top of the toybox.
It might be easy to conclude that SOA was yesterday’s issue. In fact according to some pundits SOA is dead and business transformation, application and IT modernization, and Cloud Computing are more fashionable terms today. But SOA hasn’t gone away! Achieving business improvement, modernized applications and leveraging cloud computing requires a solid foundation based on SOA. Most larger organizations have already adopted SOA to some extent, but few have achieved the critical mass that delivers on the original SOA vision. Moreover, organizations need to understand that all roads still lead to SOA. This is the key architectural style that is intrinsic to all strategic initiatives that will deliver radical improvements in cost and agility.
Figure 1 - The Service Oriented Cloud
The service-based business needs to be elastic, able to scale capabilities such as manufacturing in line with demand. The Service-based business therefore outsources non-core capabilities to specialist business service providers. It participates in global supply chains leveraging the business services provided by its business partners. It constantly seeks additional or alternative sources of capability to improve quality, reduce cost, or to support new requirements.
To operate in near real-time, and reduce operational expenditure, the service-based business must be highly automated. As Figure 1 illustrates, the IT solutions that enable the service-based business are therefore assembled from the software services offered by multiple providers. In turn, the service-based business must also offer software services to its own partners and customers.
Whilst most end-users interact with SaaS offerings largely via a browser UI, many SaaS vendors also offer service interfaces that allow the capabilities provided and the information stored to be integrated with other applications. Increasingly SaaS offerings will expose their entire functionality as sets of business services. We refer to this concept as Business as a Service (BaaS) which enable a solutions platform for end-users and partners to layer extend and customize. Salesforce.com is a notable example.
The leading platform offerings, particularly Amazon, Microsoft and Oracle, show that Cloud-based solutions are synonymous with SOA. These leading IaaS and PaaS platforms are all completely service-oriented and demonstrate sophisticated, next generation SOA implementations where all the platform capabilities are delivered and consumed as services.
But SOA is not new. So what is different in the Service Oriented Cloud this time?
Figure 2 – Achieving Transformation and Modernization Goals Requires Service-based Thinking
The inherent nature of SOA in cloud architecture means service-based thinking permeates across the architecture views.
Each architecture view is an independent service architecture, offering services to the other layers, as illustrated in Figure 2.
Business transformation, application and IT modernization initiatives such as the use of Cloud Computing can often be seen to have common goals (even though the specific outcome might be different). For example, regardless of whether the outcome is business or IT focused, the intention in all cases is to
Figure 3 – Achieving Transformation and Modernization Goals Requires the Interdependency of Service Architectures
Consequently, there is often an interdependency across these initiatives and upon SOA, as illustrated in Figure 3.
Many projects, programs and enterprises have made good progress with SOA, but many have found difficulty in adhering to the principles and policies. Critical business pressures, lack of ownership, conventional program and project management practices have all exerted negative pressure on the delivery of the ideal service architecture.
Cloud Computing is currently receiving widespread attention primarily because of opportunities to reduce IT costs. However for many organizations IT cost reduction is a less important issue than business transformation. And here CIOs and business managers need to look very closely at cloud initiatives to ensure that critical architecture patterns and best practices are addressed in order to deliver on this bigger objective.
Key actions are needed to ensure cloud computing delivers the promise of the Service Oriented Cloud
The Service Oriented Cloud demonstrates the delivery of all the baseline SOA principles. To benefit, organizations need to ensure the adhere to the following principles,
There is little point in modernizing current systems if the end result is yet another legacy system, albeit re-architected and migrated to a new platform.
Whilst the end-user may choose to deploy conventionally architected applications to the cloud, they would be highly suboptimal in terms of cost, portability and business agility. Just hosting them in the cloud won’t make them any more service-oriented than they already are. Nor will it fully leverage the cloud platform and infrastructure services on offer.
Rather they should be deploying service-oriented business applications that can make best use of the cloud capabilities on offer whilst also enabling integration with other on- or off-premise applications, as well as providing or consuming business services within their ecosystem.
Though re-deployment will be a valid first step to reduce OpEx, it shouldn’t be the last step in the transition to the cloud.
A published service is not necessarily a well-formed service. Though business benefits will outweigh IT concerns, both business and IT should nevertheless still evaluate services to see whether they conform to principles. There is no point in using cloud services only to find there is just as much lock in and tight coupling as there was with the inflexible in-house systems that are being replaced.
Attempting business transformation, application and IT modernization, or taking advantage of Cloud Computing requires the application of service-based thinking.
Failure to deliver or take advantage of a well-formed Service Architecture at each layer will lead to sub-optimal results, and reduced agility to meet ever-changing needs.
Organizations need to carefully evaluate existing applications to determine suitability for Cloud Computing deployment. Optimizing applications to take advantage of the benefits offered by Cloud Computing Infrastructure Services is likely to require application modernization.