Software as a Service (SaaS)

The maturing of the internet has enabled a new business model for the software industry: Software-as-a-Service, or SaaS refers to the practice of deploying software over the Web, rather than through an on-premises server installation.  Salesforce.com is one of the most well known examples of a software business that is run completely on a SaaS basis. 

There are many potential business benefits to SaaS, most oriented around reducing the time and expense of running common business applications.  Software updates can be disseminated instantly through SaaS, versus a slow and often costly deployment for on-premises software. In pure financial terms, it may be more attractive to pay a yearly per-user rental fee for a SaaS product than to make the large investment in server licenses and the associated overhead of maintaining the software on-premises. 

Getting SaaS to work involves being able to match the desired functionality of SaaS services with ever-shifting enterprise IT requirements.  Hitting this moving target and reaping the financial and agility benefits of SaaS presents some challenges, though.  SaaS services should be considered Enterprise Services, even if they are delivered from remote third parties.  Their use needs to be governed across their service lifecycle stages of plan, build, and run, regardless of where they are actually developed or hosted.  Their remoteness just makes the SOA Governance issues all the more relevant. 

For example, enterprise IT requirements might call for an ERP application to invoke a service that will provide contact information for customers.  The service could either be on-premises, or SAAS.  The choice to use the SAAS service could be validated, or questioned, through the use of an SOA Governance solution that worked across the service lifecycle.  Planners should use a planning governance solution to review the service inventory and the roadmap of planned services to determine whether it was beneficial to use a SAAS service or a service that already existed, or was about to be created.   

Once you have decided to use SaaS services, development governance will provide a searchable catalog of available providers that potential consumers can use to find authorized SaaS providers.  Development governance provides a workflow process where authorized approvers can grant or deny request for consumer applications to consume SaaS services.  An upshot of this process is the ability to map and manage service consumer/provider relationships, which in turn enables the analysis of the impact of changes on applications and infrastructure.

SaaS services should appear to consumer applications as if they were any other enterprise service.  An operational governance solution will provide virtual service endpoints inside the enterprise network allowing a single point of control for the consumption of external services.  This solution will need to provide extensive federation and mediation capabilities to ensure the security, reliability, and performance of the external services.

A unified governance solution provides consistent, uniform policy definition, validation, implementation and enforcement throughout the plan-build-run stages of the enterprise service lifecycle.  For example, policy governance for SaaS services will allow architects, developers, and operations staff to confidently leverage SaaS services in their consumer applications without worrying about service levels.

SOA Software’s product suite manages SOA Governance throughout the plan-build-run service lifecycle, anchoring the process with strong policy governance. In planning, SOA Software’s Portfolio Manager allows planning stakeholders to develop an SOA roadmap, compare it to existing and planned services, and assign priority to selected services.  In development, SOA Software’s Repository Manager makes sure that enterprise services confirm to appropriate standards and guidelines, providing powerful change management capabilities.  It also governs the consumption process, facilitating controlled and measurable asset reuse. When services are deployed, SOA Software’s Service Manager implements and enforces defined policies for security, performance, and reliability to ensure that enterprise services function as intended.  SOA Software’s Policy Manager works in concert with these products to keep policy definitions, and associated metadata, consistent as the service matures from planning through development and then into operation.