Microservices and DevOps accelerate API-first movement

Switching over to microservices and DevOps might be costly. But not doing so might be even worse. Jerome Louvel explains why API-first is catching on and why we all should embrace the microservice revolution.

API-first software offers companies a way to distribute their software between client and server parts using the HTTP protocol, get agreement on client requirements before implementing the server, parallelize the implementation of client and server parts, allows more efficient test automation of this software compared to UI testing or server-side testing, and improves overall continuous delivery of software in production.

API-first software achieves accelerated software delivery, which is one of the main reasons companies move to microservices.

The rise of microservices

Developers are moving away from monoliths in favor of microservices architecture, a way of building software applications so they consist of reusable, independently deployable, and updatable services. These services each run an unique process and communicate through small APIs to serve business goals. Monolithic applications are always built as single, autonomous units, which means that change cycles end up being tied to one another. A modification to one section might require an entire rebuild and deployment often leading to maintenance windows.

Microservices allow developers to work on individual components of the application, dismissing the need for synchronized updates so that each component’s team can work on their own best schedule. Microservices are small and flexible, which means you don’t have to interact with a huge code base every time your team wants to make a change. Instead, development teams can choose exactly the pieces of code they want to interact with.

The move to microservices is helping companies deliver product value and innovation to customers faster, in a way that scales to meet peak demand on multiple devices.

In order to handle the increase in the number of those services, companies are turning to DevOps.

DevOps for continuous delivery

Microservices are pushing IT departments to align their staff and workflows across development, QA and technical operations. By merging the function and people together, companies can automate delivery of software.

APIs play a key part in automation and software delivery. Initially automation was limited to continuous integration and agile methodologies. Today, this automation includes as well the deployment of the tested software in production to achieve continuous delivery.

DevOps covers a large number of tools and processes. Inside of the DevOps ecosystem are famous companies that include GitHub for source code collaboration, Atlassian for issue tracking and agile project management, and Jenkins or TravisCI for build automation. APIs are central to every part of the ecosystem. To continuously deliver APIs, DevOps involves API design, testing, deployment, monitoring and documentation.

DevOps and microservices are a good match. Teams building microservices are organized around business capabilities and business priorities. In monolithic applications, teams are isolated.

Dominance of APIs

DevOps and microservices are changing the software development model and pushing APIs into the center stage, especially REST APIs. There are new practices for API design, documentation, test and development. Two common REST API specification standards are RAML and OAS. Standards foster the growth of an ecosystem. Tools from many open source projects and commercial vendors are available to help with every step of the process from initial API planning to testing and deployment. It’s a great time to move to an API-first development model.