SOA and SaaS Bring Cloud Computing to Enterprises

Date:   Wednesday , March 02, 2011

Solution delivery has undergone two significant paradigm shifts in the past few years. One is the notion of breaking down a solution into coarse grained services pushed by SOA, and the other is to deliver software as a managed service, pushed by SaaS. The former influenced the design and architecture of solutions. The latter offered a very effective alternate channel to distribute the software as a managed service, as opposed to the conventional license based model. What is not explored much so far is the synergies that the two offer if they were to co-exist in the solution architecture. This combined with Virtualization brings forth some interesting possibilities.

Enter Virtualization
The accelerator in the SOA SaaS synergies is the rapidly emerging third component, Virtualization. With ever increasing demands for dynamic computing environment there is always a need for additional hardware, CPU, memory or network bandwidth. Hitherto the only solution was to aquire new hardware. Today, Virtualization offers a good alternative, where multiple virtual machines can be created from a single underlying physical hardware.

Virtualization is a powerful capability where it allows having multiple logical hardware images on a single large physical image. It allows for creating a very flexible and scalable layer at both- the physical and the logical levels. So one large multi CPU machine can be made to look like multiple smaller machines in the logical layer. Or, many smaller machines can be made to look like a single large machine at the logical layer. More importantly, this allows for an application provisioning and getting additional local machines, on demand, in real time.

Even better, this virtual hardware needed for the application can be provisioned and accessed on demand and released with ease. Virtualization infrastructure can be created in the enterprise data centers or the same can be provisioned from web based virtualized platform service providers such as Amazon (EC2) or Google (App Engine). For solution providers, Virtualization offers a very good approach for dynamic scaling.

As virtualization becomes a reality in enterprise infrastructure, question of time before most IT solutions are available in the virtual enterprise computing platform.

Be it complete solutions running in SaaS model, or SOA services available on the cloud. These solutions give more power to the end enterprises. Allows users to access the software with zero-hassle and still allows integrating the same with other solutions the user may need (Such as reporting), and allows for services to be on the cloud allowing users to “orchestrate” these into business processes.

SOA meeting SaaS, thru Virtualization
Solutions setup on virtualization platforms, when combined with the emerging SaaS model, provide for clear new layers of abstraction on the software solutions an enterprise needs.

Virtualization fits in naturally with the SaaS model. Though by no means limited to that. As a solution provider, if one chooses to go the SaaS route, then it makes sense to have a virtualization platform underneath. TYhis enables the solution provider to be easily scalable as no upfront nor dedicated hardware is needed for any single client. On an existing virtualized platform, create another logical instance, and setup the solution for the new client. The virtualization platform vendors provide the required systems software to create and manage this abstraction (of logical machines, over the physical hardware).

Making things even more flexible, is the advent of web based virtualization platforms. Where the datacenter is managed by the provider, and using simple interfaces and utilities, can create the logical images for the solution providers.

SaaS and virtualization is straight forward to understand and get the relationship. IN their midst, what is SOA doing? At a high level there doesn’t seem much common between the two. Where they meet is in the emerging virtualized enterprise model.

SOA is service orientation and is a services based enterprise integration approach. SaaS is a deployment and distribution model for software, where the complete software is available as a solution over the web for a cleint enterprise’s private use. And virtualization is a platform for running any application, where the physical hardware is abstracted out and a logical hardware is made available. What this allows is to provide for on-demand additional computing resources. SaaS solutions, that may be on these platforms, could also have services exposed for enterprise integration. The solutions that has SOA services exposed can also be running on this virtualized platforms.

In effect, solutions are accessible over the web, are provided as a managed solution by the SaaS provider, may be hosted on virtualized platforms and may have SOA services exposed. The solutions can be acquired on demand. Can be scaled on demand. Can be integrated with other apps easily. Provide a seamless UI where mashing up info and services from multiple apps is a given. The location of any solution is made fairly irrelevant. All applications will have web based UI. IN the process, completely making the solution scape completely independent of where they are running- in the enterprise, outside, hosted, managed or otherwise.

The resulting enterprise services cloud
With SaaS, Virtualization and web based computing options, the enterprise infrastructure is rapidly morphing into a large computing blurb- a ‘computing cloud’.

This spans dedicated servers, virtualized platforms, web based hosting, solutions in SaaS model, and much of these ready for interactions in a Web2.0 model , and integration using the SOA backbone. This brings forth new possibilities for solution architectures, infrastructure and tools, and a deployment considerations for applications and business applications/products.

If you fast forward a bit and look at the possible enterprise infrastructure, we would
see that there are

* applications running on dedicated hardware

* applications running on virtualization platforms in the intranet

* applications being hosted and managed by SaaS providers over the web

* there may be applications built and run on a Application platform over the web (often referred to as PaaS- Platform as a Service)

Some of the common attributes that run thru many of these are that they be easily scaleable, easy to manage, seamlessly integrate with other solutions in the enterprise, expose services for other applications to access, provide user control in UI, and more.

Solutions in the enterprise co-exist with solutions running on the web. The hardware platform on which the solutions run are virtualized. Enabling on-demand scaling. Solutions may run on web based virtualization platforms such as Amazon EC2. Even more, solutions may even be built on web based app platforms such as Google App Engine.

In effect, the whole IT solution infrastructure is one large blurb. No boundaries. No dedicated hardware. No restrictions on where the app is running (in the enterprise or outside). Solutions all form a seamless services web- all applications have both a simple web based UI and also a clearly defined services layer. All apps are ready for enterprise orchestration. Users can cross-refer multiple UIs using easy UI mashups that span multiple apps.

The Enterprise Services Cloud!
Getting SOA into the “cloud”


And, all of these may provide both the end user’s UI (again, over the web, incorporating many of the present Web2.0 rich UI abstractions), and also provide services for access from other integration solutions and for orchestration of key inter-departmental biz processes, and to also provide visibility into the whole enterprise via the monitoring tools.

SOA brings forth a seamlessly integrated enterprise solution landscape. Each of the solution components could reside in the cloud. Virtualized application components also “in” the same cloud. All the applications will have normal service abstractions. Possibly, Break down the ‘service’ component. As a federated “set” of services in the SaaS cloud! Services, in a SaaS mode, in the cloud. The services across all types of solutions may be Orchestrated to serve biz processing needs. Extending further, one could also look at supporting on-demand orchestration, where the end user can define the specific business flows that the user needs.

Conclusion

SOA brought forth an enterprise wide integration fabric. Be it a simple WS based environment or a more elaborate and evolved ESB fabric with a messaging backbone. With SaaS added to the picture, this fabric is now extended to beyond the enterprise. With virtualization, the underlying operating hardware and OS is also abstracted. Not only is the service interface and location transparent to the consumer, now with Virtualization, even the hardware and OS on which the software/SOA services are running is also abstracted. This brings forth multiple layers of abstractions in the org creating a virtual dynamic environment.

The author is the VP, Products and MD, Progress Software