The Five Axioms of the API Economy, Axiom #2— APIs are core to any cloud, social and mobile computing strategy

The API Economy

This is a joint post by Guest Author Craig Burton who writes at http://www.craigburton.com/ (craigburton) and 3scale’s Steven Willmott (njyx on twitter). The original axiom approach was dreamt up by Craig and we’ve iterated together since.

The Five Axioms of the API Economy

This blog post is the second in a series of five blog posts outlining the axioms of the API economy. The post follows on from the first Axiom posted here (also see an intro to the series). The five axioms we’re covering are as follows, in order:

  1. Everything and everyone will be API enabled.

  2. APIs are core to every cloud, social and mobile computing strategy.

  3. APIs are an economic imperative.

  4. Organizations must provide their core competence through APIs.

  5. Organizations must consume core competences of others through APIs.

Axiom #2  focuses on the fact that APIs are an integral part of what are arguably the three major forces currently transforming the Web and IT  – The Computing Trifecta—Mobile, Social and Cloud Computing. These transformations have been underway for a while but they are combining increasingly strongly and the effects are still getting deeper.

Axiom #2: APIs are core to every cloud, social and mobile computing strategy

Early Web systems were single destinations acting as self-contained silos within which a browsing user could act – consuming information, uploading data or authorizing transactions. Many current systems still function this way. However, while this metaphor functioned credibly for a “human powered” Web, it provides no support for the software-to-software interactions that that are increasingly occurring between devices and web services.

As web interactions become more automated, higher velocity and more fragmented (many smaller transactions like sending a tweet – versus large ones  like downloading and browsing an entire web page) software-to-software interactions are a clear requirement for success. Humans in the loop simply cannot effectively keep up with the velocity and accuracy required. Nowhere is this better exemplified than the implementation of what are commonly the three largest Information technology challenges faced by organizations today: cloud computing, social and mobile.

APIs in the computing trifecta — cloud, social and mobile computing

“Cloud Computing” is a term used so much that its meaning can often be obscured or misunderstood. It is generally accepted that cloud computing be thought of as a stack of services classes. The three classes of services are Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), and Infrastructure as a Service (IaaS).

Figure 1 illustrates the idea of Cloud Computing being a stack of service classes. Cloud Figure 1—Cloud Computing Service Classes Source: Burtonian Here is how we view these services classes.

  • SaaS—applications designed for end users, delivered over the web.

  • PaaS—tools and services designed to make coding and deploying SaaS applications quick and efficient.

  • IaaS—hardware and software that powers it all—servers, storage, networks, and operating systems.

While for illustration purposes, a diagram showing clear cut differences between these classes is useful, in reality the lines between these service classes  is getting blurry and will continue to do so in the future. However, the distinction is still useful in understanding how cloud computing and its services classes relate to APIs. In their earliest incarnations, SaaS variants of cloud started with hosted email, blogging and other tools but quickly progressed to key enterprise applications such as CRMs, HR, accounting and other functions. Many of the earliest SaaS apps began life as a browser based alternative to desktop software – and hence human interaction with the application through the browser was their key use.

Modern SaaS apps have evolved way beyond this and providing the means for software integration with a SaaS app for customers and/or partners is table stakes in almost every sector. Further, for PaaS and IaaS layers, the means to integrate with the platform/infrastructure via APIs is in many cases the key driving factor in adoption decisions:

  • SaaS: APIs are crucial for adoption since they enable customers of the service to carry out bulk operations, integrate tightly with other SaaS applications and internal processes, as well as providing an extra level of comfort with respect to platform lock-in. Almost every major SaaS offering is now deploying at least customer facing APIs to permit easy integration. Many also have or plan to have partner ecosystem APIs enabling third parties to develop add-ons and modules that benefit their customers.

  • PaaS: Platforms provide compute, storage, messaging and other services and essentially act as hosted APIs onto which developers can layer their code. APIs for PaaS essentially fall into two categories – those available to the code effectively running on the provided PaaS servers themselves, and those available to push-pull data into and out of the service. This access may be for other parts of the application that are not hosted on the PaaS, mobile applications calling the PaaS or for bulk control, management or monitoring operations.

  • IaaS: Last but not least, as with PaaS services, APIs play a key role in remote access to the infrastructure being provided. In this case most IaaS providers are providing raw compute power, storage and networking as a resource – so application development for code which is to run on the IaaS is often directly using the operating system primitives available (Linux, Windows etc.) rather than some higher level, more abstract API as they do in the PaaS. However the external APIs for bulk operations, control, management, monitoring remain critical.

In each of these cases, while it is still technically possible to use a cloud hosted service in a way in which everything about the application is hosted within that single cloud service and requires no external integration, this mode of operation is insufficient for almost all significant use cases. Trends in the market also shows a strong correlation between the strength of a cloud service provider’s APIs and their relative success in the market.

Social and APIs

Social media has clearly had an enormous impact on both consumer Internet usage and enterprise applications. Facebook now counts more than 1.2 billion users, Twitter 230M, Instagram 15M and popular messaging app Whatsapp was just acquired by Facebook for $19B. On the enterprise side, social integration with mainstream networks as well as “social” features to enterprise products are all now table stakes for most organizations. Diverse examples of enterprise social products include:

  • In-enterprise social network products such as Salesforce Chatter, Yammer and others

  • Code collaboration products such as Github and Altlassian’s Bitbucket

  • Collaboration tools including wikis and task managers

Social logins such as Facebook Connect, Twitter Auth, Google Login and Github Auth are being used with increasing frequency to manage work related identities for enterprise SaaS products, media access and almost everywhere that a user login-in is required. A third dimension of social surrounds the gigantic amounts of data that are produced by social media applications. Companies such as GNIP (now part of Twitter) and DataSift have sprung up to process the real-time streams produced by large social networks. Other companies such as Marketwired’s Sysomos, Radian6 (now part of Salesforce), and Klout (now part of Lithium) analyze these data flows and provide value added aggregate information on top.

As user behavior continues to reinforce the growth and importance of social media and the value of enterprise social increases, companies and individuals are compelled to include social integration options in their own workflows and products. Such an integration or addition requires the use of APIs – either by integrating APIs provided by third parties or (in the case of products with a social dimension) providing a new API. At their core, social systems provide a range of key functions:

  • Messaging and notifications

  • Media sharing

  • Collaboration

  • Search and monitoring

  • Data aggregation

Each of these functions can be a means in itself (a discrete task carried out by an individual) or part of a large workflow:

  • Tweeting out the result of a process, or arrival of a new piece of content or an opinion or comment

  • Pushing out a Facebook post when an Instagram photo is published

  • Updating a Github work ticket when a software integration test passes

  • Regularly search on the same set of keywords for mentions of a company’s brand

  • Tracking statistics of certain behaviors across different social networks

As a social strategy evolves, it invariably requires processes to be established and made replicable. Hence APIs become central as these small individual actions are strung together into a larger flow. In other words, the bite-sized nature of many of these interactions make them key components in larger processes. In a similar way, any new product with its own social features (e.g. a new code collaboration tool) will quickly run into the need for integration with existing other tools in the workflows which are already established. As a result, an API becomes an indispensable part of the product. Conversely shipping a product with pre-existing integrations to the APIs of other tools in the workflow is a major added value for a product.

Mobile Computing and APIs

For the final category, it goes without saying that mobile is a huge driver of API adoption. However, it may not be 100 percent clear as to why this is so for an individual company – after all, it is rare that an organization sets out to build an API if their focus is putting an application in a user’s hands. However, APIs are at the heart of such projects since they provide the server-side synchronization point with which applications communicate.

Going back to 2008 and the launch of the iPhone with the first generation of apps, and even further back to early feature phones Blackberry and  Palm Pilot, the vast majority of apps were software that ran in a self-contained manner on the mobile device. In other words the app’s value was solely in the software executing on the device.

Through 2009, and to this day, a continuing transformation has taken place in that almost all meaningful apps are composed not only of software executing on the device, but also server-side services that provide support services. Everything from backup to live data or ecommerce transactions functions this way. This server connection requires an API to receive and respond to traffic. With the rise of Android and the proliferation of the number of device types that can run mobile apps, there are often many versions of a mobile app that are available at any one time – all of which need to be able to access server-side components.

A modern mobile strategy is therefore increasingly like the one shown in Figure 2, with an API-driven core and a wide variety of different clients calling the API.

Platform

Figure 2—API Driven Platforms Power Broad Mobile Strategies Source: 3scale

These trends in APIs are likely to be at the heart of many of the major strategic IT initiatives most companies have planned. This is becoming increasingly true as the number of end devices, operating systems and frameworks a given company wants to deliver mobile functionality to also increases, and so the value of an API increases rapidly if it can be shared by different clients.

Summary

As with the first axiom, the truth of this axiom may seem obvious – but this is part of the point. APIs are often “in the picture” of transformative strategies in mobile, social and cloud, but rarely mentioned. Every organization is evolving strategies to deal with the Trifecta—cloud, social and mobile computing— and these come in varying shapes and sizes. However, it is critical they they be viewed from a perspective of being API-centric, since APIs are a key glue which make each of them stick.

Axiom #3 will be up next week.

  • http://platformulagroup.com/ Platformula1

    This is a an incredibly relevant piece of real thought leadership by a real tech innovator.

    The only thing I would modify is this.

    From a landscape perspective there are not 3 but 4 primary ‘service classes’. The 4th service class is XaaS or anything as a service. This is the real ‘quiet riot in cloud’.

    Within the large XaaS wave is the ‘API as a product’ model which is currently leading the way in XaaS innovation. But other packaging models also exist in the market place and this should be taken into account.

    Especially when you get into the domain of monetization—it’s important that innovators think in terms not just of platform but ‘platformula’, i.e.how to incentivize and retain their upstream developer and business partners who adopt their XaaS ‘ingredients’.

    Having said that, this article series should be a must read for any cloud ingredient innovator—whether their offering is packaged as an API, an AWS AMI, a white label SaaS offering, an OpenStack distro and beyond.

    Ingredient innovation within the context of cloud/mobile distributed architectures is the next big thing and having what we call a holistic ‘Distribution @ the Core’ strategy is how to win and keep winning.

    • http://www.3scalesolutions.net stevenwillmott

      Thanks for kind comments and thoughts Platformula – agreed Xaas is a nice way to put where this is headed. If Xaas subsumes SaaS-PaaS agreed APIs are the flue for them. In general I think it is that the idea of (remote) components to build you platform or product is really now coming to the point where it can genuinely work.

  • Pingback: The Five Axioms of the API Economy: Axiom #2 | ...

  • Pingback: The Five Axioms of the API Economy: Axiom #33scale – The API Management Solution Experts

  • Pingback: The Five Axioms of the API Economy: Axiom #43scale – The API Management Solution Experts