Wednesday, April 23, 2008

SaaS, SOA and Cloud Computing - in one breathe

You are a finance manager of small company. You want to give your employees a payroll portal, where they can see breakup of their salary, choose various tax deduction schemes and provide information like bank accounts where salary is to be credited etc.

In earlier era you would buy a software payroll application, buy hardware, hire IT staff to run the application - and all this after very very careful planning. The next version of application comes and you have to plan the migration - safe and non-disruptive. Too much of cost and hassles.

Well, in current era, you would go to a company, say XYZ Payroll and buy a service. The application is hosted, managed and owned by XYZ Payroll. You just get a company setup in it with accounts for all your employees. The data is definited owned by you, but it lives in XYZ Payroll's data center. And you do not pay upfront all the cost, but you pay for subscription - 'Pay as you go' approach. This is SaaS. ASP and onDemand has been precursors of this acronym.

XYZ Payroll doesn't do this just for you, but it has series of clients with same needs. It's software could be multi-tenant or it might host single instances for clients. In either case it benefits from economies of scale, better in former case though.

Now let's say XYZ Payroll doesn't want to invest in hardware and platform management - provisioning systems, managing them etc. So what XYZ Payroll does, it goes to ABC Computing Services and hosts its application there. ABC Computing maintains a huge hardware and has gained lot of expertise in maintaining it. It also provides platform level software services like storage etc. And it gurrantees some availability. What ABC Computing is offering is utility computing, cloud computing, grid computing etc.

What if you were a developer of the application that XYZ Payroll is providing as service? You could design that in traditional way or you could design it in Service-oriented way. That is you build it as a service, using multiple services like say HR&Benefits, Tax etc. This type of Architecture is SOA.

SOA is all about how software is structured and SaaS is all about how software is used.
Bradley F. Shimmin
Principal Analyst of Application Infrastructure, Current Analysis LLC.

No comments: