In his session at NGINX Conf 2019, Felix Colaci, Enterprise Architect at mobilcom-debitel, shared how the company successfully replaced Apigee with NGINX Plus as its API gateway solution. If you’re wondering why and when to use NGINX Plus over a more complex API management solution like Apigee, read on!
Felix described his company’s journey, highlighting:
- Why mobilcom-debitel needed an API gateway
- The challenges they faced with Apigee
- What made NGINX Plus the better solution
- How the rip-and-replace paid off
In this blog we highlight some key takeaways from Felix’s session. You can watch the complete video here:
The Need: API Management
In 2012, mobilcom-debitel decided to rethink its application delivery strategies and focus on a company‑wide API architecture to replace the many different systems in place across its infrastructure. A key goal was to accelerate application development, delivery, and integration, not just among its own applications but also with those of its partners. The company also wanted to enable decoupling across its systems. The core component of the architecture was an API gateway to handle four key use cases:
- Request routing
- Traffic monitoring
From the API management solutions available at the time, mobilcom-debitel chose Apigee.
The Challenge: Apigee Was Too Complex
Unfortunately, over time mobilcom-debitel realized that Apigee was not the right solution for its API management needs. Why? In short, it was too complex.
In addition to the four key use cases, mobilcom-debitel only needed Apigee’s orchestration and developer portal capabilities, and not the API monetization tools that Apigee also provides. The product’s broad functionality came at the cost of a complex architecture that was difficult to manage, configure, and customize – to the extent that Felix had to devote 50% of a team member’s time to maintaining it.
Apigee consisted of seven separately configured services, plus the developer portal, and required more than 30 virtual machines (VMs) for one logical environment. There were also technical and portability shortcomings (which Felix noted might be addressed in more recent versions of Apigee): OpenID Connect was not fully implemented, there was no support for configuration as code, it didn’t run on Windows (the framework used by most of mobilcom-debitel’s developers), and it was supported only on Red Hat Enterprise Linux, not any free open source operating systems.
In addition, Felix’s team found Apigee’s reliability and support to be lacking. Updates sometimes caused platform crashes and had to be rolled back. The services were tightly coupled, so if one of them had an issue it affected the whole platform. Felix was also not satisfied with Apigee Support’s response time.
Focus on What Matters Most
In 2017, Felix and team decided to find a new API gateway. But they had learned from their experience with Apigee, and this time went about the process a little differently. In addition to the four key use cases, they also thought about how they wanted to empower and impact their business. Ultimately, they decided to prioritize testability, manageability, and developer experience.
Enter NGINX Plus.
The Solution: NGINX Plus
With NGINX’s simple yet powerful solution, Felix’s team was able to make it easy and convenient for developers to publish their own APIs. They gained multiple lines of defense to prevent bad code from getting into production. And because NGINX Plus is a single component, it was really easy to manage. Let’s look at how NGINX Plus enabled each priority.
The NGINX Plus data plane (API gateway) – the fastest on the planet – can be deployed in multiple environments, including Docker, for preliminary testing. By deploying a passive instance in a Docker container, Felix can easily ensure an API configuration works exactly as intended without impacting users.
Just one service instead of seven, and simple analytics integration, made configuration and visibility a breeze. Using OAuth and OpenID connect, the NGINX Plus API gateway handles authentication and application‑level authorization, and Felix’s team took advantage of the supported Lua dynamic module to implement user‑level authorization.
Because NGINX Plus supports configuration as code, it fits seamlessly into mobilcom-debitel’s software delivery pipelines and CI/CD processes. Developers can now easily and efficiently manage testing and releasing their APIs through the usual pipelines. And thanks to the Lua scripting, all a developer has to do to enable authorization is edit the highlighted settings in the NGINX Plus configuration shown in the screenshot.
The Results: How the Rip‑and‑Replace Paid Off
You might think that replacing an underperforming API gateway isn’t worth the time and effort, but Felix provided some compelling contradictory data points! Migrating 80 APIs from Apigee to NGINX Plus took only 8 months, with no downtime or production impacts. Felix summed up the experience in one compelling statement:
Mobilcom-debitel is enjoying long‑term benefits of switching to NGINX Plus as well. A huge one is the six‑figure cost savings – the number of VMs per environment is reduced from 30+ to 2, lowering both server and license costs and slashing maintenance costs by 60%. On the operations side, the timeline for releasing code changes is just minutes from dev to production. NGINX Plus is also more reliable than Apigee, and Felix has found NGINX Support “outstanding” on the rare occasions when his team needed help.
Felix’s final advice to API platform teams is:
For all the details and more tips on API management, watch the complete video:
Start Using NGINX Software for API Management
Ready to explore NGINX solutions for your API management needs?