In Part 1 of this blog, we saw how companies today are appreciating APIs as a business necessity, while also helping them identify new sources of revenue. I had also talked about a DevOps approach to API management solutions and how it could shrink the release cycles. Let us see the approach in action in this second part.
Sources of revenue re-imagined
Our client, a telecommunications giant, built its brand on voice-enabled networks. However, increasingly it found itself competing with a new generation of companies that were leveraging high speed IP networks, and providing a host of communication applications—WhatsApp, Facebook, Viber, Skype, to name a few—to their customers across mobile devices. Faced with a sharp decline in voice traffic, the company wanted to explore new channels of revenue. The company decided to expose its assets and services such as messaging, location, payments, device check, user contacts and other applications using REST APIs. The telecom company wanted to build more than 75 APIs, using Apigee Edge1—a robust and highly-scalable, intelligent API platform.
Manual processes hindering business
Working from API specifications in Word documents, the creation of API proxies in Apigee confirmed the specifications to expose business services and assets as REST APIs. API policies were manually added in the proxy which contained all the logic for implementing security, transformation, routing and orchestration. And, deployment of the solution, following Agile methodology, happened in short sprints. Finally, the solution was tested against a set of test cases covering both positive and negative scenarios. However, the client soon realized that developing and deploying API proxies to different environments manually using the Apigee UI console would be highly time consuming, prone to errors, and plagued with numerous problems. It would also lead to a longer release cycle, and increase the development cost.
For instance, in the absence of an API specifications document in Swagger and RAML to facilitate the API-first development approach, Word documents would have to be relied on, which were not machine readable. Due to certain restrictions in the Apigee UI console—for example, unavailability of inbuilt SCM plugins—additional manual steps would be needed to maintain a repository of API proxy configuration in GitHub. Furthermore, since the Apigee UI console did not allow simultaneous collaborative development of the API proxy, enhancements and bug fixes could not be done in parallel by multiple API team members. These and many other related shortcomings of the manual process convinced the client to explore an alternative approach.
Quicker release cycle
To bring in agility and automation in the API development process, and speed up the company’s journey to digital transformation, a DevOps approach was adopted. As a result, releases were small, rapid and iterative. Moreover, the DevOps approach helped break down the barriers between the development and operations teams, which in turn helped release more reliable applications faster and more frequently. Introducing technologies such as Eclipse,2 GitHub, Apache Maven,3Jenkins and Jmeter, helped develop API proxies in parallel, and automate the process of API development, testing and deployment. Additionally, enhancements to the deployment process dynamically updated environment-specific variables, eliminating the need for any code changes in the proxy bundle, thereby saving on time and effort. The API proxy configuration was checked into a GitHub branch by all developers as soon as their changes were done. Frequent check-ins and continuous deployment helped reduce unexpected errors.
The DevOps approach paid off. As illustrated in Table 1, it helped the telecom giant reduce time and effort in each API development phase.
Table 1: API Management Effort Saving with Partial Adoption of DevOps
The DevOps approach helped shorten the API Delivery lifecycle significantly, and enabled the company to go faster to the market with API products and services.
API on demand
With businesses becoming aware about the crucial role APIs can play in expanding the scope of their offerings and increasing revenue, there is growing demand for faster development and deployment of APIs. To achieve this, it is imperative to employ DevOps. This means using appropriate automation technologies, and creating a culture of end-to-end collaboration among development and deployment teams. Companies that master both will be in a positon to create and deploy APIs in the shortest possible time frame—a critical business requirement for shorter time to market—and, “API on demand” will be within their reach.