Dion Hinchcliffe presented a keynote titled Transforming Software Architecture with Web as Platform today at QCon London 2009 conference, focusing on how advances in the web space affect software companies and their products.
Hinchcliffe started by saying that “no small system can stand sustained contact with a much larger system without being fundamentally changed”, and argued that the since the web is now much bigger than enterprise systems,it has a significant impact on enterprise architectures.
Quoting Dare Obasanjo, Hinchcliffe said that “my web site is bigger than your enterprise”. The biggest IT centres are not in the enterprise, they are web sites. Web is today a software platform bigger than any operating system, with half a billion hosts and “has all your customers, all your competitors and all the ideas and innovation”. However, Hinchcliffe thinks that there are “only a few proven strategies for long-term competitive advantage” and the community has only now figured out how to use it.
As the requirements for modern software architecture, Hinchcliffe pointed out:
- highly distributed and federated
- have a social architecture
- built from cutting edge platfoms and parts
- have to scale globally
- set with expectations that are very high for functionality and low for the cost to develop/own new apps
- created with productivity-oriented development tools
Enterprise dependencies are now used live with federated online systems, not by linking to libraries. Hinchcliffe gave an example of clickatell.com, a world leader in mobile messaging which is used as an online service through a HTTP API, not integrated traditionally. Because of that, a big new challenge for software companies is that they need to become very good at operations as well as developing software.
The value in software systems has, according to Hinchcliffe, moved up the stack. It’s no longer about the processes but about the data. Facebook, Youtube and Google are examples of leading online systems which are based around data, not processes. To get there, software architecture has to be designed for participation. All top online leaders have the architecture designed for participation. Twitter launched with an API straight away, and the majority of its uses comes from the API. Youtube is the biggest video repository in the world but they haven’t built up the library themselves, they got there through an architecture of participation. Companies like Harley Davidson and IKEA get customers to create the data, organise communities and provide support. The architecture is there to enable that. The World Bank has a developer network.
Another interesting thing is that the expectations of high productivity make software companies make some strange choices, at least from the classic enterprise perspective. Facebook is built in PHP. Twitter is build with Rails. Most enterprise architects would not choose those platforms to build systems as big as Facebook or Twitter. However, these systems are still market leaders. There is an increasing move to assembly and integration over development of the new code. Architectures have to be designed to support rapid change. Flickr adds changes to production sometimes every thirty minutes. Hinchcliffe said that Flickr is continuously in beta. [Fair enough, but none of those systems actually takes money from people and works with financial accounts. I’m not so convinced that we could keep a transaction processing system in “constant beta”].
As key advances that are changing the landscape and will change the landscape in the future, Hinchcliffe pointed out:
- cloud computing
- non-relational databases
- new productivity oriented development platforms
As the key factors for success, he pointed out
- peer production and crowdsourcing
- owning your classes of data on the network
- using new distribution models to leverage the web as your platform
- social systems
- opening supply chains and 3rd party sourcing (programmableweb.com)
I will be covering QCon London 2009 in detail on this blog. Click here for other news and reviews from the conference
I'm Gojko Adzic, author of Impact Mapping and Specification by Example. My latest book is Fifty Quick Ideas to Improve Your User Stories. To learn about discounts on my books, conferences and workshops, sign up for Impact or follow me on Twitter. Join me at these conferences and workshops:
Specification by Example Workshops
Product Owner Survival Camp
Conference talks and workshops