Written by Alex Iskold and edited by Richard MacManus.
The Web computing platform today encompasses a wide range of functions, a lot of which are accessible via APIs (Application Programming Interface). From the relatively simple bookmarking service del.icio.us, to more complex functionality like Amazon S3's complete virtualization of data storage - it's amazing what can be done nowadays using Web APIs.
In this post, I've categorized the Web platform into 6 infrastructure building blocks and I will briefly outline some of the products that define each one. The common thread is that each product mentioned has an API, which means it can be integrated as a part of other services.
The storage services focus on abstracting and virtualizing memory. The leader in this space is Amazon S3, which I discussed in depth in my article in Web 2.0 journal. For developers, S3 offers a minimalistic API that resembles a basic hashtable - allowing you to easily store and retrieve information.
Another interesting service is openemy, which provides a File System-like API, but adds the ability to tag files. Earlier this year TechCrunch profiled other online storage services. But really we haven't yet seen the most disruptive storage services - GDrive from Google and LiveDrive from Microsoft are rumored to be in the works. And both will likely have APIs.
Messaging services are analogs of the classic middleware concept. They have not been developed as much yet, because they are more complex from both a technical and business perspective. An example of the type of web-based communication services that we will see in future is Amazon Simple Queue Service. This service abstracts and facilitates secure and scalable queue-based communication between arbitrary applications.
There are no generic examples of black-box compute services that are available today on the web via API. However, there are several technologies that point in this direction. First is the Alexa Vertical Search platform, which will be discussed more in the Search Services section below. The second is grid computing technologies like Sun Grid, DataSynapse's GridServer or Platform's Symphony.
Encapsulating arbitrary computation [in an API] is a very challenging task and it might take another few years before we will see such services emerge widely.
The Information Services serve huge volumes of specialized information. These include geo data like the popular Google Maps API and product information such as Amazon E-Commerce, Amazon Historical Pricing Services and the recently launched Yahoo! Answers API. What is common between all these services is that they provide a simple API to a wealth of data, enabling unprecedented cross-pollination between previously siloed information.
The Search Services form a key building block of the new web infrastructure, since search is such a basic and ubiquitous component of the web. The Google Search API is the early and now classic example of search abstraction. Another example is the Alexa Search Platform, designed to bootstrap a family of vertical search applications to challenge Google. What is particularly interesting about Alexa Search Platform from a technical point of view is that it is essentially a black-box Compute Service, but specific to the search domain. It hints at other similar services, which offer black-box solutions to (for example) sorting or data transformation problems.
'Web 2.0' Services
The final category of APIs is what I broadly call Web 2.0 services. This is somewhat of a misnomer, but it encapsulates del.icio.us, Flickr, Basecamp. John Musser at ProgrammableWeb has assembled a very impressive collection of these APIs.
These are specialized services that in the future will become customers of the other building blocks described above. But their big value now is that they offer clear, specific and simple APIs to lookup and change the information that each owns. And even though these services are more like molecules than atoms, in today's web they are so basic that it makes sense to group them together as a building block.
Implications of the new web platform
The new web platform is changing the game. The power of the building blocks can be leveraged to roll out complex, intelligent applications in a very compressed time frame. The simple fact that developers do not need to worry about scalability is by itself huge. To put it differently, 10 years of Amazon's expertise in large-scale distributed computing are suddenly available at a very reasonable cost to anyone who is paying attention.
It's now possible to build smart browser-based and desktop applications which utilize the power of web services. Because these applications do not necessarily need to worry about the backbone, they can focus more on usability, ease of use, context and semantics.