All said, the two major camps of technologies ie Enterprise and Web are converging. Web technologies are significantly cheaper to develop in, deploy and maintain. While enterprise technologies require an army of developers, licensing costs and huge maintenance funds.
Before I lay out the argument as to why the two technologies will converge in the near term, let me first state what I regard to be Enterprise technology. Enterprise technology generally consist of both software and hardware configurations and technologies inline with the following set of norms:
a. Unix (few exception with Windows)
c. Java (.net when on Windows)
d. n-tiered architecture
a. Deployment on multiple machines. Multiple webservers, appservers and databases
b. Emphasis on failover and high availability
c. Load Balancers
There is a significant learning curve associated with becoming an enterprise architect ie someone with the ability to develop applications in the enterprise given the variety of technologies and fancy features available.
Web technologies (simply defined as LAMP or equivalent with RoR etc) have matured and are quickly becoming part of the mainstream. These are generally hosted in 3rd party data centers and use "pay as you go" services and infrastructure. Their biggest positive being quick time to market.
The big difference, other than the technologies being used, is the mindset of the architects and the developers. Web technology has an agile and rapid taste to it, while enterprise has a documentation centric, heavy process and cross department coordination and long planning sessions taste.
The phenomenon of these market segments being merged poses a threat to one entity. Since web technologies are the under dogs, the threat is to the enterprise segment. Enterprises now need to reassess how they'll remain competitive in a market moving towards SaaS (software as a service) and where technology costs should further go down to drive the bottom line. Newer competition may leap frog existing technology centric enterprises through the use of cheaper and quick time to market web technologies.
The convergence is imminent because:
- Grid computing is here to stay. This has lead to 3rd parties to build out server farms on a pay-per-use model. The business model requires this to be cheaper compared to an in-house datacenter. While specialization and economy of scale will drive the cost per unit to go down. Since web technologies are grid friendly from the onset; lightweight and single threaded execution model, they can take advantage of these immediately without the need to re-engineer an app as will be required for most enterprise apps.
- Barriers to entry for businesses have been reduced with globalization. With fewer barriers in place, new entrants will make use of low cost web technologies to enter markets with creative ideas. At the end of the day, the end user is concerned with utility and cost, and if newer entrants beat existing enterprises on both, the users will leave for greener pastures. However since the cost of migrating to a different system is non-trivial, existing enterprises can hold onto their customers as long as they keep the cost differential within the threshold. Since enterprise technologies are expensive to maintain and enhance, they've got an uphill battle.
- Opensource is mainly web centric, enabling significant R&D expenditure to be outsourced when using web technologies. While enterprise technologies still require huge licensing costs to offset the R&D costs.
- Web technologies now come with the backing of the industry gorillas like google, amazon and Sun to name a few.