How developers build websites and other digital experiences is moving from monolithic applications to a microservices architecture in which they combine multiple APIs. We decided to explore this space and create a map of API services developers can use to shorten time to market.
Petr PalasMar 21, 2017
In our series on cloud-first headless CMS, we talked about the growing importance of the Content as a Service approach. In this blog post, we will take a broader look at the whole ecosystem of API-first products developers can use to build modern digital experiences, whether it's a website, mobile app, or any other digital touchpoint.
From Static Websites to Multichannel Digital Experience
In the past, the only digital experience most companies provided was their website. The website was typically built on top of a CMS. Any custom code was tightly connected with a CMS and glued to its monolithic architecture.
That was a good solution for many years. However, the world has changed. A static brochure website is no longer enough. Websites need to provide a dynamic and highly personalized digital experience. They need to connect seamlessly to other enterprise applications, such as CRM or ERP, as well as external services for things like marketing automation, billing, shipping, booking systems, etc.
Moreover, brands need to provide a seamless experience across multiple channels, such as mobile applications, point-of-sale systems, social media, Internet of Things devices, virtual reality, digital assistants, or chatbots. The growing number of customer touchpoints requires companies to provide a much broader set of applications.
Microservices Become the New Normal
That has lead developers to rethink the architecture and adopt the microservices approach where they create their applications as a combination of multiple services, instead of building a website on top of a CMS. The recently published Chef Survey 2017 revealed that 67% of respondents have re-architected monolithic applications into microservices or plan to do so.
They can create their own microservices, or they can use external services through their API as building blocks for their application. Instead of writing code from scratch or including some third-party libraries in their code, they can simply call cloud-based services that do the job.
Here are some examples of APIs you can use to make your life easier:
- Authentication—almost every application that works with customer data needs to manage user accounts and provide things like login form, forgotten password, etc. Rather than building your own user management, you can use an external service that provides most of that, while following all the security best practices.
- Transactional Emails—rather than running your own SMTP server and making sure you follow all the rules to maximize email deliverability, you can simply call an API and have someone else take care of the whole delivery process.
- Subscription Billing—instead of writing your own code for managing customer subscriptions and billing their credit cards, you can leverage a specialized solution and simply integrate it into your application through its API.
With the recent growth of headless CMS, Content Management becomes one such service, losing its centralized position in the digital experience solution architecture.
From Plug-ins to APIs
In the past years, we've seen a dramatic growth of API-first cloud services that enable this new paradigm. They allow companies to outsource various components of their digital experience technology stack to specialized best-of-breed vendors. The question is no longer "Which plug-ins do we use for this website?", but "Which APIs do we use for our applications?"
APIs for Digital Experience Market Landscape 2017
Websites like StackShare or ProgrammableWeb provide a catalog of thousands of APIs you can use for your applications. We decided to map the top scenarios that are relevant to creating digital experiences—whether it's a website, mobile app, chatbot, or any other scenario.
While there are many APIs you can use, we're a little picky here. We are only looking for broadly available API services that developers can easily buy and use. We defined the following inclusion criteria:
- Cloud-first: It must be natively built as a multitenant Software as a Service application—no managed hosting or PaaS.
- API-first: It must be built with an API-first mindset, i.e. the API is not just an add-on.
- API documentation is publicly available for the service.
- Available today: beta versions are excluded.
- We selected a maximum of 10 services per category.
One huge category that we intentionally omit in our market landscape is a broader marketing technology market with tools like marketing automation, email marketing, or social media management. While many of these tools provide their own API for integration, they were built primarily for marketers, not as a building block for developers. These tools are better covered by Scott Brinker in his Marketing Technology Landscape.
And here's the market landscape graphics (for a large version, click the image or download the PDF):
This is the first version, and we've certainly missed some important services. So we would like to ask you for help—which services do you use that meet the criteria above and that should be included on the map? Please post your comments below.