Craig Burton

Logs, Links, Life and Lexicon

1 8 9 10

This is a joint post with 3scale’s Steven Willmott (njyx on twitter). I dreamt up the original idea of the five axioms and we have been iterating 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.

 

This is a joint post with 3scale’s Steven Willmott (njyx on twitter). I dreamt up the original idea of the five axioms and we have been iterating since.

The API Economy is a phenomenon that is starting to be covered widely in technology circles and spreading well beyond, with many companies now investing in API powered business strategies. There are also a number of definitions of the term API Economy that are useful (including here and here). As the term catches hold however, it makes sense to step back and reflect what the API Economy actually is and what effect it might have on organizations, individuals and the Internet/Web as a whole.

To do this, we’ve tried to describe the nature of the API Economy in the form of five axioms we believe are true and a number of conclusions that can be drawn from these axioms. We’ll be publishing the axioms and our conclusions in a series of posts here to try to make them more digestible. The thoughts here are somewhat raw so we’re hoping for feedback and debate. The axioms and conclusions are a result of discussions between Craig Burton, Steven Willmott and others.

While producing a set of Axioms may seem a rather theoretical exercise, we believe it is a useful endeavor since, when talking about something as complex as the interactions between many new types of service providers and consumers, solid foundations are very valuable. The API Economy is already turning out to be clearly different from the human powered “Web Economy” we see today – transactions are happening faster and at greater scale, but they are distributed differently.

We begin with an overview of the API Economy, name the five Axioms and finish with the details of the first Axiom. The remaining Axioms and what we can derive from them will be posted here in the next few weeks.

The API Economy

As software and technology become ubiquitous in today’s business processes, the means by which organizations, partners and customers interface with this software and technology is becoming a critical differentiator. The Application Programming Interfaces (APIs) that form these interfaces are the means to fuel internal innovation and collaboration, reach new customers, extend products and create vibrant partner ecosystems. The shift in the way business works this creates is giving rise to huge new opportunities for both individual organizations and global commerce – it is difficult to understate the importance of this change.

Added to this, the computing trifecta of mobile, social, and cloud computing is changing the landscape of computing and business. The combination is having a huge impact on the nature of data and control flows between servers, resources, devices, products, partners and customers. Many previous notions of how an organization might set up its internal systems or deliver services / products to its customers are having to change, with APIs becoming the what enable an organization to define how data passes between their internal systems, to and from their partners and to / from their customers.

Lastly, and most importantly from the API Economy perspective, it is becoming obvious that the APIs deployed by one company do not just affect its own pre-existing internal teams, customers and partners. Very often APIs open the door to large new product, partner and customer opportunities. When deployed, these APIs then also become part of a wider ecosystem of available building blocks for other organizations to build new exciting services on top of – many with, in turn, their own APIs.

As a result of these shifts, it is critical that organizations understand the emerging API Economy, its implications and what actions should be taken to embrace its rapid emergence.

The Five Axioms of the API Economy

To try to capture the dynamics of this world, we’re starting with five axiom we think are true today or rapidly becoming true. Things which underpin the notion of the API Economy

  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.

This is the first blog post in this series and we’ll follow up regularly,with more blog posts covering axioms #2, #3, #4, #5 and then the consequences of these Axioms.

Axiom #1: Everything and Everyone will be API-enabled

In other words, every crafted object, structure, and every individual person as well as many natural objects, structures, objects and beings will become addressable by API and make use of APIs. Not only that but the infrastructure used to create and manage APIs for everything and everyone will also be API enabled.

On the surface this looks like an impossibly bold claim – why would this occur and how? On closer examination however, it becomes obvious that this is the inevitable outcome current strong technology trends.

There are three forces driving the “api-ification” of everything:

  1. The emergence of wireless mobile devices as the dominant form of interface technology for most computing systems.
  2. The explosion in connected device numbers, configurations, types and form factors – from large to incredibly tiny – driven by the Internet of Things.
  3. The extension and adaptation of integration technologies previously only used in large enterprises into more open forms that permit cross department and cross organizational systems integration at a fraction of the costs of previous technologies.

The first driving force means that networked communication at distance without wires has become ubiquitous in almost all modern environments. In other words devices can communicate and act at distance near seamlessly. The second force has made it possible for many computing form factors to be deployed in these wireless environments – some in the form of large objects such as televisions or cars, some in powerful small mobile devices such as phones, others as tiny passive sensors or identifiers. The last force is the increasing ease of software-to-software communication between systems operating on these diverse devices and/or on remote servers many miles away.

Devices tie into the identities of individuals and objects, sometimes even just to physical spaces and are able to transmit and receive data. This data in turn permits not only information capture, but also control of actions to be taken (for example thermostat to automatically change a temperature setting using settings inferred on a cloud server from data captured the previous day or the proximity to home of a smartphone using owner).

Each compute enabled device, each software application running on such a device or a remote server, and each networked environment provides interfaces to the outside world that can be identified and accessed.

Mobile and Wireless Computing

Data about mobile and wireless growth abounds, for example an article in Forbes by Cheryl Snapp Conner provides shows what is happening in the mobile segment of the market.

  • There are 6.8 billion people on the planet at present. 4 billion own mobile phones. (But only 3.5 billion use a toothbrush. Oy!) (Source: 60SecondMarketer.com).
  • Twenty five percent of Americans use only mobile devices to access the Internet. (Source: GoMoNews.com)
  • There are 5x as many cellphones in the world as PCs. (Source: ImpigoMobile).
  • 82 percent of U.S. adults own a cellphone. (Source: Pew Reports 2010).
  • There are 271 million mobile subscribers in the U.S. alone.

Gartner also recently published these numbers.
World Wide Devices Shipments by Segment (Thousands of Units):

mobiledevices

These numbers are staggering: 2.4 billion devices in 2013 and 2.5 billion in 2014. Gartner also predicts that there will be over 81 billion apps downloaded in 2013.

In terms of raw volume of wirelessly network devices, we are clearly well past the tipping point of adoption and on the road to near ubiquitous deployment of such technology.

A Myriad of Devices

High mobile computing growth is one of the most important forces driving growth in both wireless networking and devices. As the data indicates, the mobile device is rapidly becoming the preferred entry point to information and the Internet. In today’s world, information rarely remains static, it is in a state of constant change. People use many tens of mobile apps to keep track of and manage all sorts of relevant information for their day-to-day routines. This information includes location, intention, scheduling, contacts, meetings, business, context, shopping and relationships to name but a few. This information is always changing, using mobile software apps on mobile devices to track and manage these changes.

However, smart phones are only the tip of the Iceberg in terms of what computing devices are being distributed in the world. The number of devices that will be a part of the Internet of Things will be even greater. These numbers do not include the devices shown in table 1 part but are “things” that will be connected to the Internet. These devices have form factors of everything from lightweight plastic fitness trackers such as the Fitbit, to Low Power Bluetooth beacons such as the Estimote. Many everyday objects now come with sensors and networking capability embedded. Sensor density is also rapidly increasing with compact gadgets such as the wireless Quirky Sensor now packing Humidity, Light, Sound, Motion sensors into a package for under $50.

In addition the new “hobbyists and maker community” — driven by the Raspberry Pi, Arduino and other high function and affordable micro-controller devices.

Cisco predicts that by 2020 there will be 50 billion devices connected to the Internet of Things.
This is a huge number of potential compute enabled endpoints.

Cisco Devices

Software-to-Software Communication

Since its emergence and mass adoption, interactions on the World Wide Web have been fundamentally human driven. Human users browse information, upload content, download and browse data, click controls in order to generate effects: both virtual (such as a video playing) and physical (such as a purchased book being shipped from a warehouse). This setup enabled a huge diversity of applications since on the basis of a few simple rules and patterns a vast number of different services can be built and human users were flexible enough to understand the purpose of the sites/applications. They can then act accordingly to operate the service.

Today however, human driven Web Activity is rapidly being caught up by software-to-software activity: traffic between systems with no human in the loop and automated transfer of data and control actions. This is occurring because:

  • Mobile devices are increasingly acting autonomously and pre-emptively to fetch data from and deliver data to remote systems.
  • Many new device form factors include no keyboards, screens or other means of data input/output – and are hence their onboard software is only able to communicate with other specialized software on other devices or on remote servers.
  • Many modern applications require high rates of highly accurate transaction flow – with millions of similar calls per day which must be carried out stably and efficiently in a way no human could drive.
  • Almost no modern software application developed today – Web Applications and those running locally on a device – functions in a completely standalone manner any more. That is, it is very often the case that some part of the functionality requires direct, coordinated communication with some other piece of software.

Why APIs will be Ubiquitous

As these trends continue they all continually reinforce the need for APIs for every device and person. For devices, almost all devices will require:

  • A hardware substrate of some kind.
  • Control software.
  • An interface by which the device can be reached.
  • A number of remote interfaces the device may call from time to time.
  • One or more identities by which the entity can be addressed.

For a natural person (or potentially another creation or natural object), they may become associated with one or more digital devices that can receive incoming messages and conversely send data to one or more remote systems.

Existing identity mechanisms such as email addresses, twitter handles, phone numbers and the like already permit data exchange and as devices become more customized and embedded about the person, the ability for an individual to receive information (which is some cases will cause them to act) and stream data to a remote location will increase.

It is hard to imagine, how with this growth we will not enter a situation where almost every individual and object will have some kind of addressable set of interfaces associated with it.

Summary

As we’ve already pointed out the claim that everything and everyone will be API enabled is mind-boggling within itself – at least it seems impossibly bold. However as we can see above, it seems inevitable as we move down the path of universal connectivity collaboration interoperability that this example come to pass. That is not to say there are not huge obstacles in accomplishing this grand vision but it seems nonetheless this is the path we are on.

Axiom number 2 “APIs are core to every cloud, social and mobile computing strategy” is up next.

1 8 9 10

Still Not Dead

Calendar

June 2017
M T W T F S S
« Nov    
 1234
567891011
12131415161718
19202122232425
2627282930