Nginx was once perhaps best known as an open-source web server, but that’s now only one of many things that Nginx Inc. is developing and supporting for customers.
Nginx provides a suite of web application delivery services and capabilities, with the company’s Nginx Controller, which was first announced in 2017, at the core of an emerging set of features. Thus far this year, the company has announced its new API Management Module for Nginx Controller, providing organizations with an integrated approach to define, publish and manage APIs on top of Nginx.
“If you look at our API Management product, we don’t have the multiple layers between the control plane and the data plane; we have a very clean architecture,” Gus Robertson, CEO of Nginx, told eWEEK. “We believe that our architecture delivers performance without compromise that is more resilient because there is no single point of failure.”
Nginx has been steadily growing its commercial portfolio since August 2013, when the company released the Nginx Plus server, which provides commercial tools and support that go beyond what is available in the open-source version of the Nginx web server. Nginx is the second-most-popular web server tool in the world for active sites, with a 22 percent market share, according to the January 2019 Netcraft Web Server Survey.
When Robertson started as CEO of Nginx in December 2012, the company had no paying customers, but that’s no longer the case in 2019. Robertson said that Nginx now has more than 2,000 customers, with approximately 150 of them ranked among the top 2,000 global companies.
Nginx Application Platform
The Nginx Application Platform is a combination of multiple technologies that help organizations manage application workloads. Among the components is the Nginx Plus offering on the data plane for application delivery. On top of that sits Nginx Controller, which provides deployment, management, analytics and policy for the data plane.
“Nginx is a very generally applicable tool, it has a footprint of roughly 1.6MB, and yet it still had over 700 directives for managing traffic in different ways,” Robertson said. “So the wonderful thing about Nginx is that it can do so many different things but it’s also a difficult thing from the organizational perspective when you’re talking to customers about use cases.”
To that end, Nginx is targeting three core use cases for the Nginx Application Platform, with the first being application delivery, which includes load balancing and caching. The second core use case is API management, which is now available. The third use case is for service mesh, which will be formally announced later in 2019.
API Gateway
Nginx is providing a native API gateway module to improve performance and manageability for customers, Robertson said. He noted that many of the existing vendors in the API management space are using Nginx as the underlying data plane.
Robertson said that since his company understands the core Nginx code base better than anyone else, it is able to create a simplified architecture for API management with high performance.
Service Mesh
In the emerging world of service mesh technology, the open-source Istio project that works alongside the Kubernetes container engine is one of the early entrants that has already gained the backing of major vendors, including IBM, Cisco and Google. According to Robertson, Istio is “interesting” and is a good test case to help understand how a service mesh can work, but it’s not the approach that Nginx is taking.
“We do see Nginx being used in a service mesh architecture today without Istio, running on Kubernetes,” he said. “We believe there is a simpler solution than Istio.”
Robertson said that the Nginx service mesh that is under development will initially be deployed in a manner that is somewhat similar to how Istio is deployed today, albeit with improved performance and management capabilities. Istio runs in a manner known as a sidecar proxy, where a container is set up inside of a Kubernetes pod alongside the application containers to help direct traffic to the service mesh, which routes and manages the traffic flow. The Nginx approach will use the Nginx controller as the engine for enabling the service mesh.
The Nginx approach will be a service mesh 2.0 model, and the company will be talking more about the specifics toward the end of 2019, he said.
Serverless
Nginx has also been working on an open-source effort called Nginx Unit, which Robertson positioned as a polyglot application server for different programming languages including Python, PHP, Perl, Ruby, Go and JavaScript. Moving forward, he said Nginx will be extending Unit in 2019 to support Java as well. Unit today fits the microservices container use case and might be a good fit to help enable serverless as well, he said.
“Unit is an application server that can be brought up to just run an event and then be brought down again,” Robertson said.
Serverless, also sometimes referred to as functions-as-a-service, is an approach where long running servers are not needed to execute a function event. Rather, the function runs as a service, with a short-lived application server or container enabling the event transaction.
“We are looking at serverless, and Nginx Unit has the opportunity to do that, but it’s not our core focus today,” Robertson said.
Sean Michael Kerner is a senior editor at eWEEK and InternetNews.com. Follow him on Twitter @TechJournalist.