Monday, December 29, 2003

Economics of Service Oriented Architecture

Service Oriented Architecture (SOA) is changing how enterprise software is being designed and deployed. Part of the success of SOA is in the technology and is due to the convergence of web services standards creating a common interoperable set of technologies to build SOAs on. The other part of the success of SOA arises from its superior economic model for enterprises. SOA is evolving to the point where new applications will not be deployed as monolithic instances but will become a collection of services woven together in a loosely coupled framework. Applications are becoming virtualized and being made available on-demand this will break the current technological and economic bottleneck caused by the traditional enterprise software model. This problem does not reside with enterprise IT organizations but rather with the enterprise software model as a whole. In most cases though corporate IT is made the scapegoat for the problems with the enterprise software model. Until now there has not been an alternative to the traditional model of deploying silos of functionality now IT organizations have a choice and a way out of the current web of complexity.



The service based model of software is here and forward looking enterprises are rapidly adopting it as a means to streamline operations, reduce costs and provide significant differentiation in the marketplace. Successful companies are investing in services that differentiate the company, and outsource commodity services to organizations that deliver them more reliably, and more cost efficiently. Who today would invest in building an overnight parcel delivery service? Likewise who wants to invest millions of dollars in the design and implementation resources in a CRM system when you can get a service from one of several vendors for a fixed monthly fee that scales dynamically with the growth of your organization? This approach is going to solve several significant problems with todayÂ’s enterprise software when it is broadly applied to the enterprise infrastructure. CRM is just a small example and the tip of the iceberg, when software as a service is used to build and deploy applications the economics are such that it becomes fiscally irresponsible not to consider this approach.



The current model of enterprise software is not aligned with the needs of corporate IT organizations its inefficient, cumbersome, and non responsive to the needs of companies. Measurements of return on investment (ROI) are, in many cases, optimistic at best. The percentage of failed projects by some accounts exceeds successful projects. While there have been and there will continue to be many successful deployments they are the result of careful planning and significant investment of a companies best and brightest IT personnel to ensure success. If the best and brightest are used to ensure successful rollouts - who is creating the business processes and applications that make the business successful? What percentage of the total IT effort is devoted to this?



Apart from the time to deployment and the inherent complexity of the current enterprise software offerings there is an even larger hidden problem. The actual value delivered when taken, as part of the total costs of development of the software is low. Enterprises pay a “portability tax” when buying software, the more complex the software the higher the “tax”. This “tax” is the costs that go into making the enterprise software portable and compatible with the underlying operating systems, databases, application servers, mail servers, directory servers, etc. These costs contribute almost no value to the business objectives of the enterprise yet they can be a significant part of the cost model.



When these costs, of developing, deploying and supporting enterprise software are taken into account the amount devoted purely to ensuring that the software is designed to be run, deployed and supported on a variety of platforms is significant. Based on many years of experience I would estimate that anywhere between 30-70% of the total costs are devoted to cross platform issues. The upper range is for software that utilizes as many native (propriety) platform features as possible and the low end for software designed with a lowest common denominator approach. While this estimate may seem high, consider not just the actual coding efforts but all the other efforts. How much time in the requirements phase is spent discussing and evaluating which combination of platforms to support, which patch releases to support, and then how to design the software to support these features. Every time a new feature is added there is a design discussion on the cross platform impact. Add to this the test matrix and support infrastructure the costs continue to mount, but the value to the consumer of the software does not.


The impact of all this on the customer is that a significant part of the cost of enterprise software provides no significant business value to the enterprise. This has not been questioned, as there has been no viable alternative to this model. Now a viable alternative is being widely deployed through software as a service model.



Software as a service has become viable through three trends that have converged to create an opportunity for enterprises to drive significant costs out of their software purchases, provided faster response to market conditions, and reduce infrastructure. The three trends are SOA, broad availably high-speed connections, and web services. These trends enable software to be delivered as a service – producers of services make services available on a SOA backbone, and then consumers can use the features inherent in the network to create applications by weaving together different services. Applications can now be created that are totally virtual and do not require hardware or software installation or deployment. Companies such as Grand Central are making the network smarter by deploying the necessary services for a SOA backbone. This is aligned with the objectives of corporate IT to build and deploy services that provide differentiation and leverage the services provided by others. The necessary framework to make this happen is not core to any one organization and as such should be shared infrastructure.



Deploying software as a service removes the significant problems with enterprise software as services only need to run on a single platform, therefore a larger percentage of the effort is in creating useful business applications not portable ones. Using shared infrastructure and other business services enables us to leverage the work of others in ways that have not been possible with the current model. The time to market or time to respond to market demands is shortened considerably as once again we are leveraging the services of others.



This will not happen overnight, nor am I suggesting that we rip out the current installed base of enterprise software. Far from it because the current installed based provides the core set of services required by the corporation and its partners today. The task is rather deciding which services are core to your business and investing in them and using services from others where appropriate. As in all technology revolutions the last generation usually remains a vital part of the infrastructure but not the only part. Software as a service is going to significantly reduce the need for enterprise software but not eliminate it. Software as a service is a more economically responsive model to the needs of IT and enables the corporation to focus more on the business process and the applications rather than the deployment of more enterprise software


Thursday, October 23, 2003

Keeping my Identity

DIDW was very thought provoking and I keep coming up with new issues. The latest being who do I trust to keep my identity? This has both legal and social implications. I see my identity as a cloud of facts that surrounds me and changes in both time and space. The major reason I do not manage my identity is that I do not want to be responsible for it. This is both a data management issue and a legal responsibility issue.


Many people worry about third parties such as banks and the government managing parts of their identity. I would worry more if I had to manage my identity, keep it secure and be legally responsible for it. There is a lot to be said for having multiple third parties being your trusted identity providers.

Monday, October 20, 2003

Personal Identity - who am I....

I spent some time last week at Digital ID World. I was there to be part of a panel on Web Services and Identity that focused on enterprise issues. The other part of the conference was looking at the issues of personal identity and how it related to the digital world. The danger of the identity problem is over-simplification.


The nature of personal identity is really around a collection of facts about me, with axes in time and space. At different times I have different identities, a friend, an employee, a customer, a relation etc. In different places, native, business traveler, tourist, etc. Which facts about me are both necessary and provable to determine my identity to solve the problem at hand.


I am not sure the problem can be solved by either a single device or a static set of assertions. I need to be able to reach into the network and present a set of provable assertions to define my identity and other parties need to be able to ask for a collection of assertions. Once provided the provable assertions they identity consumer needs to be able to state what they are going to do with the information, i.e. how persistent it is and will it be attached to my identity cloud.


The idea of an identity cloud that has clusters of provable facts in time and space is the mental model I am creating around identity as anything else is too simplistic.

Sunday, October 19, 2003

Is persistence becoming a commodity..

Several announcements such as this one Big Blue retools database pricing | CNET News.com are pointing in the direction of databases becoming a commodity. The next step is just making persistence a part of the information flow. One of the major advantages of XML and XML Schema is that they are all readable and can be persisted in a single step from the information flow.


This is a disadvantage for the database vendors as they have profited from the complexity of storage. Now if it becomes a commodity in the cloud, a part of the fabric of the network, then what is the actual value of persistence?

Saturday, October 11, 2003

Is Google a more dangerous monopoly than Microsoft?

As a monopoly Microsoft controls the tools and platform the majority of people use to access the internet. While this has significance in terms of how the browser and the desktop evolves it is not nearly significant as the control of how we discover information. This thought was sparked by the article Google CEO speaks out on future of search where Eric Schmidt talks about the need for personalization in search. and Google's acquisition of Kaltix a personalization technology for search.


Google is becoming the gatekeeper of information for the new millennium. The first place I, and many others go to find something is Google - the power and responsibility this gives Google is enormous. The view I and others now have of the world is to some extent controlled by Google. This control of information dwarfs any monopoly Microsoft has of the desktop. There are two filters Google is starting to put on my information flow - one is advertising and the other is personalization.


The lure and power of advertising dollars has resulted in a media industry that (IMHO) is bland and vapid. The content of television is extremely bland due to the power of the advertisers - lets not offend anyone. Already we are starting to wonder if search results are being ordered by dollars rather than relevance in Google. Can Google resist the power of the advertisers, today yes perhaps as a private company. When they become public the need to deliver quarterly numbers will put tremendous pressure on them will the separation of commerce and search survive?


Personalization of search results also worries me as if I people are only served information that pleases them there is a strong tendency for us to believe that our world view is correct. I look to a search engine to expand my horizons not shrink them into my safe zone. Personalization has a tendency to link us to others that thing the same and have similar tastes. Is there a personalization setting to challenge my thinking?


Google is doing the right thing to generate revenue and compete economically but is this the best thing for society as a whole?. I, and I am sure others treat Google like a library - an impartial source of information, it is now becoming a bookstore that tries to merchandise the information it is offering. What happens when the library disappears and we only have the merchandising?. If Google is the only search engine around we are suddenly in a world where our information access is controlled by a single entity that has at the heart of its economic model advertising dollars. If Google does not serve up the information - does the information exist?


If Google does become an information filter - we need another way to have direct un-filtered access to information - the PBS of search. One interesting project in this area is Nutch founded by Doug Cutting the creator of Lucene. A free society requires free access to information - lets make sure information access stays open.