Many enterprises are embarking on a digital transformation journey. According to a survey conducted by Gartner in late 2016, 42% of CEOs had started digital transformation initiatives, 56% said that digital improvements were enhancing profitability, and 20% were taking a ‘digital‑first’ approach to business change.
Rapidly developing and deploying new applications and capabilities enables organizations to reap the benefits of their digital transformation efforts. These efforts help enterprises increase revenue through digital channels, gain a competitive edge, and achieve scale, ensuring that they deliver the best possible experience to their customers at all times.
Transforming applications from a monolith to a microservices‑based approach requires modernizing underlying IT infrastructure to enable agility and scale. There is a wide range of tools available to help accomplish this transformation, with more emerging all the time.
While enterprises have recognized the need to upgrade their IT infrastructure, neither IT nor app development teams are interested in using tools that require constant care and feeding. For both, the priority is to build applications and deploy new capabilities, not to spend a lot of resources on building and maintaining complex infrastructure.
These users want simple, easy‑to‑use tools to deploy and operate their networks, virtual machines, load balancers and other infrastructure components. To help meet this need, today we are launching NGINX Controller.
The Cost of Downtime, Poor Performance, and Complexity
According to a survey about enterprise applications conducted by Information Technology Intelligence Consulting, a single hour of downtime per year costs an enterprise over $100,000, on average. One‑third of survey respondents indicated that hourly downtime costs their firms from $1 million to $5 million or more. Here at NGINX, we’ve even had one of our customers, a leading ecommerce and Internet advertising business, tell us that downtime costs them $1 million per minute! And this doesn’t even touch on the hidden costs of poor performance, lost productivity, and lost customers or users when apps are up, but operating too slowly to meet user expectations.
In addition to the cost of downtime and poor performance, there’s also the cost of complexity. Consider these two illustrative examples, from NGINX users:
- A large multinational hospitality company. This chain wants to equip their team of IT generalists with tools that simplify their jobs and free up time to focus on strategic digital transformation initiatives. While these IT generalists have a broad set of skills, they are not experts or power users of any specific technology. They don’t have the time to acquire technology skills that involve a steep learning curve.
- A large consumer Internet service. To maintain a large website, this customer currently has to use 13 disparate solutions to accomplish the work of a content delivery network (CDN), network (Layer 4) load balancer, application (Layer 7) load balancer, API gateway, web application firewall (WAF), reverse proxy, web server, application server, and microservices sidecar proxy. Each solution requires a management tool. They plan to consolidate these 13 solutions into three solutions, using NGINX Plus for most of the required capabilities. Using fewer components in the data plane and fewer management tools in the control plane reduces both capital and operational costs. They expressed a need for a unified, simple interface to manage the multiple ways they plan to operate NGINX Plus.
Reducing Costs and Improving Uptime with NGINX Controller
The survey data and customer challenges highlight a need for a tool to better deploy, validate, manage, and troubleshoot application delivery technologies like NGINX Plus.
NGINX Controller is that tool. It helps customers:
- Configure and deploy NGINX Plus instances quickly
- Trigger alerts to meet service level agreements (SLAs) by quickly identifying and fixing performance issues
- Create dashboards to report the health of applications to senior management
- Reduce complexity when troubleshooting NGINX Plus issues
We’ve developed NGINX Controller to directly address these requirements. Controller enables IT ops and DevOps teams to manage the entire lifecycle of NGINX Plus – from deployment to validation to ongoing troubleshooting. Users can easily manage multiple NGINX Plus servers across a multi‑cloud environment.
Using an intuitive, wizard‑style interface, users can create new instances of NGINX Plus and centrally configure features such as load balancing, URL routing, and SSL termination with just a few clicks. Controller has rich monitoring and alerting capabilities that help you ensure the availability, performance, and reliability of your applications.
Not only does Controller provide deep visibility into key metrics, it also provides preemptive recommendations to resolve misconfigurations and security issues, based on best practices synthesized from handling thousands of NGINX support cases and consulting engagements.
The result? Teams can proactively mitigate performance and availability issues and more quickly troubleshoot any issues that arise.
NGINX Controller supports a policy‑driven approach to management. Configurations can be created for test, staging, and production environments, thereby preventing misconfiguration issues and ensuring consistency. IT ops staff can develop configurations for specific applications while still retaining control, enabling DevOps teams to quickly deploy their applications without having to configure or reconfigure NGINX Plus.
The Vision for NGINX Controller
Managing load balancers is the first step in our journey toward helping you manage your infrastructure. As you know, NGINX Plus is not only a web server and load balancer – it serves as a cache, an API gateway, a web application firewall, a Kubernetes Ingress controller, and even a sidecar proxy component in a microservices architecture. In fact, we estimate three million instances of NGINX and NGINX Plus run in production microservices environments already.
Given the flexible nature of our flagship product, we want to create an equally flexible management solution. There are three areas in which we’ll develop NGINX Controller:
- Multi‑use management. Just as Controller manages load balancers with this release, it will manage more and more NGINX Plus use cases in future releases. Controller’s extensible framework allows us to develop management functionality for various NGINX Plus capabilities. Think of Controller as the overarching management plane that supports the data‑plane infrastructure for all your applications.
- Advanced analytics. We will build out our analytics capabilities, such as baselining and anomaly detection to quickly identify root causes and troubleshoot performance issues. Analytics and management go hand in hand – for instance, if a threshold for a specific metric is breached, then you can modify the server configuration to fix the issue.
- Intent‑based policies. We intend to get to a state where our customers just indicate what it is they want to set up and manage – whether it’s a load balancer, API gateway, or service mesh – and Controller automatically deploys it, with configurations that support the right SLAs. For instance, if a user wants six‑nines availability, Controller will automatically create and configure the appropriate number of NGINX Plus instances. This approach is often referred to as intent‑based policy management.
We believe this initial version of Controller fulfills a much sought‑after “ask” by our customers. Ultimately, we will introduce new capabilities based on what our customers want. Please keep an eye out for the powerful new capabilities that we plan to roll out for Controller at a regular cadence.
Attend our webinar for an in‑depth look at and demo of NGINX Controller. Watch our video for a quick overview of NGINX Controller. And attend NGINX Conf 2018 to learn more about the past, present, and future of NGINX Controller.
Thoughts on how to better manage your NGINX Plus environment? Leave comments below. We’d love to see how we can help you get the most value from NGINX.