The idea of service provisioning for the clients based on similar grounds such as using electricity service or water, where in clients can consume as much of resources as needed and are only required to pay for what is being used, is considered as ‘Utility Computing’.
Whenever an operation or a service becomes an absolute necessity for an enterprise to function, and the abundance and standardization of such services drives the ubiquity of such service, then, it will make the most sense for an organization to obtain such services from an utility source. (Ex: Electricity)
Any process or offer that can be commoditized as a service can be packaged as ‘probable’ contender for utility computing.
In my view, the utility computing model implies that majority of the services that are ubiquitous across general consumption (e-commerce or enterprise alike) can probable be serviced through a utility computing paradigm.
Such services can then be consumed on a pay-by-the-drink usage model.
Technology (IT) in general can be considered as a usecase for utility computing. IT as a utility is a very highly debatable topic. I do want to suggest that IT as a whole does not fit into the utility model. IT services can be broadly categorized into two systems.
- Systems that provide strategic benefits for an enterprise.
- Systems, which are ubiquitous across enterprises.
The utility computing model best fits the second category of services. In my view, the utility computing model implies that majority of the services that are ubiquitous across enterprises can be outsourced. Such outsourced services can be used based on a pay-by-the-drink usage model. The idea of paying for using applications or compute resources or storage, based on the pay-by-the-drink model sounds great in theory.
‘But does it really work in practice?’
If the fifth utility was to be considered a ‘simulacrum’ then the probable originals could be the following market models:
- Search as a service (Google, Yahoo)
- Email, News and Hosting as a service (gmail, maps, MySpace, youTube)
- Blogging, FeedBurners
- CPI, CPA ad models (AdSense, Amazon Affiliate)
- Search Marketing, Media and Click Streaming (Akamai, Overture, DoubleClick)
- Online Storage (Amazon S3, Gmail plugins)
- Decentralization of data (Napster, Gnutella)
- Virtualization of systems
- Emergence of Web 2.0
The current focus seems to be more towards virtualization of systems as the first step towards utility computing stack. Notice that decentralization of ‘data’ through the usage of torrents or similar P2P networks (Ex: Naptster) is a way towards virtualization of data. Also the emergence of Web 2.0 is pushing the industry further towards ‘Web as a platform’ for provisioning the service. Web 2.0 in general and probably semantic web in particular does and will have more relevance towards offering the services as utility to be consumed over the web. (More about this in later blogs).
Note that SOA is a technology architecture to enable LOB applications to work within a composite application framework...
Meanwhile, there is a business side of the SOA and the definition of a 'Service' in the business model is more important than the definition of the 'Service' as explained everywhere while preaching SOA. (Check webservices and SOA keywords while searching for technical definition on Google).
What then makes up a business definition of a Service ?
I will present an over simplified version of the key constituents of a ‘Service’. I will call this the first-set
- Service Description
- Service Costing and Pricing
- Objectives of the Services (Also called Service Level Objectives)
- Service Level Agreements
- Service Usage and Consumption plan leading to a Service Offer
- A Master Service Agreement for a Portfolio of Services
- Service Metering (or monitoring)
- Service Lease Agreement
- Service Chargeback or Billing
- Regulatory Compliance
There are many frameworks such as ITIL, COBIT etc that deals with the concept of ‘IT as a service’. Most of these frameworks revolve around the first-set of drivers I have presented. The key theme of service provisioning is based on building a Service Catalog and a CMDB (Configuration Management DataBase). The ServiceCatalog and the CMDB in general is a dichotomy built around what they call as the “front office” and the “back office”.
Most of the front office activities are addressed by building a service catalog. This includes creating a service portal as a single pane of glass across functions such as:
- Help Desk and Requisition
- Self Service
- Auditing (for compliance)
- Financial Accounting
- Relationship Management
- Vendor Management (Service)
- Inventory Management
- Service Configuration management (CMDB, Bill-of-Materials)
- Capacity Management
- Availability Management
- Incident and Change Management
- Resource Workflows and System Integrations
- Vendor management (Configuration)
This simplification of the service definition also helps us understand that utility definition will not be any significantly different from the functions and operations management of a service, except that not all services are utilities.
In conclusion, the fifth utility as a simulacrum is still in the making, waiting for the Integration of front-office with the back office through the probable emergence of Web 2.0 based platforms which in turn makes the SOA and SOI to happen. In effect, for the pay-by-the-drink paradigm to work, the critical ingredients from the second-set to emerge as a product that best fits into the overall framework must become a reality.
Saying this, there are some successful emergence of utility based usage of Web Services demonstrated by Amazon on their AWS portal. These are some of the trends worth tracking for the simulacra to emerge.