SlideShare a Scribd company logo
The Future of the Dynamic
Application Server, NGINX Unit
Kevin Jones

Global Solutions Architect, NGINX / F5 Networks

14:00 - 14:25
About Me
Kevin Jones

Global Solutions Architect for NGINX

• Has worked at NGINX for 4 years

• History in Site Reliability Engineering

• From Los Angeles, but currently living in San
Francisco, California

• Photographer / Filmmaker
Agenda
● Modernization: The state of the application
ecosystem and how its changing

● Unit architecture and features

● Q&A
NGINX Open Source 
NGINX Plus
NGINX Unit
NGINX Controller
● Refactoring of services

● Move to agile deployments

● Requirement for versatile deployments

● Demand for security
Modernization
86% of enterprises expect
microservices to be their default
architecture within 5 years. 
— Global Microservices Trend Report, Light Step
Refactoring:
Microservices Today
● Modern apps: built distributed

● Legacy apps: being modernized

● Ability to communicate is crucial
Amazon deploys a new or
updated application
every 11.7 seconds
Agility:
Agility is key
● As services get smaller, code
testing cycles are getting
shorter, deployments are
getting faster

● Programability and
orchestration has to be
automated

● Zero downtime a must
Versatility:
“multilingual strategy improves business
velocity; enables flexibility, portability, and
interoperability; and attracts the best
developers”
— Developer Language Report, The Cloud Foundry Foundation
Polyglot Environments
● New languages for new goals 

● Legacy/modern apps coexist

● Different tasks, different stacks
It’s estimated that almost 46% of
all web applications have a high
security vulnerability
— Web Application Vulnerability Report,
Acunetix
Security:
Security Is Multi-Faceted
● Apps are becoming isolated 

● Need for manageable limits

● Complex orchestration impacts
performance

● Today complexity makes
security difficult
Introducing NGINX Unit…
Built From Scratch
Rooted in NGINX development culture

Dynamic multilingual server, designed for modern
applications

Focuses on performance and optimization

Open-source initiative and actively developed
Unit Architecture
$ ps aux --forest | grep unit | grep -v grep
root 5355 0.0 0.1 8448 2268 Ss 14:32 0:00 unit: main v1.9.0 [./unit/sbin/unitd]
kjones 5357 0.0 0.0 18692 1844 S 14:32 0:00 _ unit: controller
kjones 5358 0.0 0.1 166288 3724 Sl 14:32 0:00 _ unit: router
pyuser 5368 0.0 0.3 19360 8032 S 14:32 0:00 _ unit: "ftm" application
gouser 5369 0.0 0.2 306080 5044 Sl 14:32 0:00 _ /home/kjones/demo/go/unit-fc
phpuser 5374 0.0 0.8 211744 17772 S 14:32 0:00 _ unit: "mainpage" application
APIdays Helsinki 2019 - The Future of the Dynamic Application Server, NGINX Unit Kevin Jones, NGINX
APIdays Helsinki 2019 - The Future of the Dynamic Application Server, NGINX Unit Kevin Jones, NGINX
Unit Features…
Multilingual
● Perl, PHP, Python, Ruby, Go, ...

● Side-by-side language versions

● Uniform app configuration

● Apps run on the same server
Dynamic by Design
● Instant reconfiguration in
memory

● No reload or restart required

● Less overhead during updates

● Zero-interruption reconfigure
API-Controlled
● RESTful API

● Does not rely on config files

● Methods: GET, PUT, POST,
DELETE

● Familiar JSON payload
Listeners object
● Defines ip/ports to listen on

● Maps connection to the specific
application or route object
$ curl 127.1:8443/config/listeners
{
"*:8080": {
"pass": “applications/mainpage”
},
"*:8081": {
"pass": "applications/ftm"
},
"*:8082": {
"pass": "applications/fc"
}
}
Applications object
● Defines name and type of
application

● Defines user account to run
that application

● Other application specific
configurations
$ curl 127.1:8443/config/applications
{
"ftm": {
"type": "python 2.7",
"module": "wsgi",
"user": "pyuser",
"path": "/apps/python"
},
"fc": {
"type": "external",
"user": "gouser",
"executable": “/apps/go/unit-fc”
},
"mainpage": {
"type": "php",
"user": “phpuser",
"root": "/apps/php",
"script": "index.php"
}
}
Built in routing
(added in Unit 1.8 & 1.9)
● routes object, internal routing
between listeners and apps

● Route based on…

- Arguments

- Cookies

- Headers

- Hostname

- Method

- URI
{
"routes": [
{
"match": {
"host": "example.com",
"uri": “/admin/*”,
"arguments": {
"site_access": "yes"
}
},
"action": {
"pass": “applications/php5_app”.
}
},
{
"action": {
"pass": "applications/php7_app"
}
}
]
}
● SSL/TLS (OpenSSL 1.0.1+)

● Add/Change/Remove
Certificates in memory

● Zero downtime

Secure
● No shared credentials required

● Independent, manageable apps
Secures and Isolates
● One app fails, affects no others

● Server is uniformly configurable

● Goal: cgroups support

Secures and Isolates
Whats next?
● Websocket support

● Proxy enhancements

● Static files

● New languages?? :) Maybe…
Obtaining Unit:
unit.nginx.org

github.com/nginx/unit

docker run nginx/unit
Help and support:
unit@nginx.org

github.com/nginx/unit/issues

nginx.com

nick@nginx.com
Thank you for coming!
Kevin Jones 

@webopsx / @kmjones1979

@kevinjonescreates

More Related Content

PPTX
APIdays Helsinki 2019 - Beyond REST: GraphQL API Management with Amit Acharya...
PDF
5 Pillars of Building Enterprise0grade APIs
PPTX
Tools and techniques for APIs
PPTX
Design and Evolution of APIs in Microservice Architecture
PPTX
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
PDF
Api Gateway
PPTX
The Effect of Microservices on API Design
PPTX
apidays LIVE Australia 2020 - Productising your Microservices as API Products...
APIdays Helsinki 2019 - Beyond REST: GraphQL API Management with Amit Acharya...
5 Pillars of Building Enterprise0grade APIs
Tools and techniques for APIs
Design and Evolution of APIs in Microservice Architecture
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
Api Gateway
The Effect of Microservices on API Design
apidays LIVE Australia 2020 - Productising your Microservices as API Products...

What's hot (20)

PPTX
APIdays Helsinki 2019 - Impact of Microservices Architecture on API Managemen...
PPTX
Mule soft meetup_chandigarh_#7_25_sept_2021
PDF
[API World 2021 ] - Understanding Cloud Native Deployment
PDF
TDD for APIs in a Microservice World (Short Version) by Michael Kuehne-Schlin...
PDF
[APIdays INTERFACE 2021] Now that we have K8s, can we stop re-inventing API p...
PPTX
Kochi Mulesoft Meetup #6
PPTX
Service Mesh - Why? How? What?
PDF
[Open Source Summit 2019] Microservices with Ballerina
PDF
Tools for designing and building great APIs
PDF
apidays LIVE Australia 2020 - Data with a Mission by Matt McLarty
PDF
API Management for GraphQL
PDF
[apidays Live Australia] How do you enhance customer experience through event...
PDF
Continuous Integration and Continuous Deployment (CI/CD) with WSO2 Enterprise...
PDF
apidays LIVE Australia 2021 - Modernising development using API First & Lesso...
PDF
Trouble with Performance Debugging? Not Anymore with Choreo, the AI-Assisted ...
PDF
[WSO2 Integration Summit San Francisco 2019] Cloud-native Integration for the...
PDF
Voxxed Days Minsk. Microservices:
 The phantom menace
. Istio Service Mesh: 
...
PPTX
Continuous Integration and Delivery at Shapeways (Matt Boyle)
PDF
apidays LIVE Australia 2020 - Building a scalable API platform for an IoT eco...
PDF
Exposing Lambda Functions as Managed APIs
APIdays Helsinki 2019 - Impact of Microservices Architecture on API Managemen...
Mule soft meetup_chandigarh_#7_25_sept_2021
[API World 2021 ] - Understanding Cloud Native Deployment
TDD for APIs in a Microservice World (Short Version) by Michael Kuehne-Schlin...
[APIdays INTERFACE 2021] Now that we have K8s, can we stop re-inventing API p...
Kochi Mulesoft Meetup #6
Service Mesh - Why? How? What?
[Open Source Summit 2019] Microservices with Ballerina
Tools for designing and building great APIs
apidays LIVE Australia 2020 - Data with a Mission by Matt McLarty
API Management for GraphQL
[apidays Live Australia] How do you enhance customer experience through event...
Continuous Integration and Continuous Deployment (CI/CD) with WSO2 Enterprise...
apidays LIVE Australia 2021 - Modernising development using API First & Lesso...
Trouble with Performance Debugging? Not Anymore with Choreo, the AI-Assisted ...
[WSO2 Integration Summit San Francisco 2019] Cloud-native Integration for the...
Voxxed Days Minsk. Microservices:
 The phantom menace
. Istio Service Mesh: 
...
Continuous Integration and Delivery at Shapeways (Matt Boyle)
apidays LIVE Australia 2020 - Building a scalable API platform for an IoT eco...
Exposing Lambda Functions as Managed APIs
Ad

Similar to APIdays Helsinki 2019 - The Future of the Dynamic Application Server, NGINX Unit Kevin Jones, NGINX (20)

PPTX
What's New in NGINX Plus R10?
PDF
Pivotal Platform: A First Look at the October Release
PDF
Easy Microservices with JHipster - Devoxx BE 2017
PDF
Devoxx Belgium 2017 - easy microservices with JHipster
PPTX
Replacing and Augmenting F5 BIG-IP with NGINX Plus
PDF
Engage 2020-nerd-for-move-on-from-x pages
PPTX
5 things you didn't know nginx could do
ODP
Twelve Factor App With Lagom
PPTX
The FN Project by Maximilian Jerg
PDF
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
PPTX
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
PDF
Flink powered stream processing platform at Pinterest
PDF
Data Con LA 2018 - Enabling real-time exploration and analytics at scale at H...
PPTX
Delivering Cloud Native Batch Solutions - Dodd Pfeffer
PPTX
Comment déployer une stratégie microsoft en mode appliance
PDF
Cloud-Native Patterns and the Benefits of MySQL as a Platform Managed Service
PDF
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
PDF
Replacing and Augmenting F5 BIG-IP with NGINX Plus - EMEA
PPTX
Enhancing AI-Driven User Engagement with Real-Time Data Streaming via Flink.pptx
PDF
MRA AMA: Ingenious: The Journey to Service Mesh using a Microservices Demo App
What's New in NGINX Plus R10?
Pivotal Platform: A First Look at the October Release
Easy Microservices with JHipster - Devoxx BE 2017
Devoxx Belgium 2017 - easy microservices with JHipster
Replacing and Augmenting F5 BIG-IP with NGINX Plus
Engage 2020-nerd-for-move-on-from-x pages
5 things you didn't know nginx could do
Twelve Factor App With Lagom
The FN Project by Maximilian Jerg
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
Flink powered stream processing platform at Pinterest
Data Con LA 2018 - Enabling real-time exploration and analytics at scale at H...
Delivering Cloud Native Batch Solutions - Dodd Pfeffer
Comment déployer une stratégie microsoft en mode appliance
Cloud-Native Patterns and the Benefits of MySQL as a Platform Managed Service
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
Replacing and Augmenting F5 BIG-IP with NGINX Plus - EMEA
Enhancing AI-Driven User Engagement with Real-Time Data Streaming via Flink.pptx
MRA AMA: Ingenious: The Journey to Service Mesh using a Microservices Demo App
Ad

More from apidays (20)

PDF
apidays Munich 2025 - The Physics of Requirement Sciences Through Application...
PDF
apidays Munich 2025 - Developer Portals, API Catalogs, and Marketplaces, Miri...
PDF
apidays Munich 2025 - Making Sense of AI-Ready APIs in a Buzzword World, Andr...
PDF
apidays Munich 2025 - Integrate Your APIs into the New AI Marketplace, Senthi...
PDF
apidays Munich 2025 - The Double Life of the API Product Manager, Emmanuel Pa...
PDF
apidays Munich 2025 - Let’s build, debug and test a magic MCP server in Postm...
PDF
apidays Munich 2025 - The life-changing magic of great API docs, Jens Fischer...
PDF
apidays Munich 2025 - Automating Operations Without Reinventing the Wheel, Ma...
PDF
apidays Munich 2025 - Geospatial Artificial Intelligence (GeoAI) with OGC API...
PPTX
apidays Munich 2025 - GraphQL 101: I won't REST, until you GraphQL, Surbhi Si...
PPTX
apidays Munich 2025 - Effectively incorporating API Security into the overall...
PPTX
apidays Munich 2025 - Federated API Management and Governance, Vince Baker (D...
PPTX
apidays Munich 2025 - Agentic AI: A Friend or Foe?, Merja Kajava (Aavista Oy)
PPTX
apidays Munich 2025 - Streamline & Secure LLM Traffic with APISIX AI Gateway ...
PPTX
apidays Munich 2025 - Building Telco-Aware Apps with Open Gateway APIs, Subhr...
PPTX
apidays Munich 2025 - Building an AWS Serverless Application with Terraform, ...
PDF
apidays Helsinki & North 2025 - REST in Peace? Hunting the Dominant Design fo...
PDF
apidays Helsinki & North 2025 - Monetizing AI APIs: The New API Economy, Alla...
PDF
apidays Helsinki & North 2025 - How (not) to run a Graphql Stewardship Group,...
PDF
apidays Helsinki & North 2025 - APIs in the healthcare sector: hospitals inte...
apidays Munich 2025 - The Physics of Requirement Sciences Through Application...
apidays Munich 2025 - Developer Portals, API Catalogs, and Marketplaces, Miri...
apidays Munich 2025 - Making Sense of AI-Ready APIs in a Buzzword World, Andr...
apidays Munich 2025 - Integrate Your APIs into the New AI Marketplace, Senthi...
apidays Munich 2025 - The Double Life of the API Product Manager, Emmanuel Pa...
apidays Munich 2025 - Let’s build, debug and test a magic MCP server in Postm...
apidays Munich 2025 - The life-changing magic of great API docs, Jens Fischer...
apidays Munich 2025 - Automating Operations Without Reinventing the Wheel, Ma...
apidays Munich 2025 - Geospatial Artificial Intelligence (GeoAI) with OGC API...
apidays Munich 2025 - GraphQL 101: I won't REST, until you GraphQL, Surbhi Si...
apidays Munich 2025 - Effectively incorporating API Security into the overall...
apidays Munich 2025 - Federated API Management and Governance, Vince Baker (D...
apidays Munich 2025 - Agentic AI: A Friend or Foe?, Merja Kajava (Aavista Oy)
apidays Munich 2025 - Streamline & Secure LLM Traffic with APISIX AI Gateway ...
apidays Munich 2025 - Building Telco-Aware Apps with Open Gateway APIs, Subhr...
apidays Munich 2025 - Building an AWS Serverless Application with Terraform, ...
apidays Helsinki & North 2025 - REST in Peace? Hunting the Dominant Design fo...
apidays Helsinki & North 2025 - Monetizing AI APIs: The New API Economy, Alla...
apidays Helsinki & North 2025 - How (not) to run a Graphql Stewardship Group,...
apidays Helsinki & North 2025 - APIs in the healthcare sector: hospitals inte...

Recently uploaded (20)

PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Electronic commerce courselecture one. Pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
KodekX | Application Modernization Development
PPTX
Big Data Technologies - Introduction.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Cloud computing and distributed systems.
PDF
Unlocking AI with Model Context Protocol (MCP)
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Dropbox Q2 2025 Financial Results & Investor Presentation
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
MYSQL Presentation for SQL database connectivity
Electronic commerce courselecture one. Pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Understanding_Digital_Forensics_Presentation.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Chapter 3 Spatial Domain Image Processing.pdf
cuic standard and advanced reporting.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
KodekX | Application Modernization Development
Big Data Technologies - Introduction.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
NewMind AI Weekly Chronicles - August'25 Week I
Reach Out and Touch Someone: Haptics and Empathic Computing
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Cloud computing and distributed systems.
Unlocking AI with Model Context Protocol (MCP)

APIdays Helsinki 2019 - The Future of the Dynamic Application Server, NGINX Unit Kevin Jones, NGINX

  • 1. The Future of the Dynamic Application Server, NGINX Unit Kevin Jones Global Solutions Architect, NGINX / F5 Networks 14:00 - 14:25
  • 2. About Me Kevin Jones Global Solutions Architect for NGINX • Has worked at NGINX for 4 years • History in Site Reliability Engineering • From Los Angeles, but currently living in San Francisco, California • Photographer / Filmmaker
  • 3. Agenda ● Modernization: The state of the application ecosystem and how its changing ● Unit architecture and features ● Q&A
  • 4. NGINX Open Source NGINX Plus NGINX Unit NGINX Controller
  • 5. ● Refactoring of services ● Move to agile deployments ● Requirement for versatile deployments ● Demand for security Modernization
  • 6. 86% of enterprises expect microservices to be their default architecture within 5 years.  — Global Microservices Trend Report, Light Step Refactoring:
  • 7. Microservices Today ● Modern apps: built distributed ● Legacy apps: being modernized
 ● Ability to communicate is crucial
  • 8. Amazon deploys a new or updated application every 11.7 seconds Agility:
  • 9. Agility is key ● As services get smaller, code testing cycles are getting shorter, deployments are getting faster ● Programability and orchestration has to be automated ● Zero downtime a must
  • 11. “multilingual strategy improves business velocity; enables flexibility, portability, and interoperability; and attracts the best developers” — Developer Language Report, The Cloud Foundry Foundation
  • 12. Polyglot Environments ● New languages for new goals ● Legacy/modern apps coexist ● Different tasks, different stacks
  • 13. It’s estimated that almost 46% of all web applications have a high security vulnerability — Web Application Vulnerability Report, Acunetix Security:
  • 14. Security Is Multi-Faceted ● Apps are becoming isolated ● Need for manageable limits ● Complex orchestration impacts performance ● Today complexity makes security difficult
  • 16. Built From Scratch Rooted in NGINX development culture Dynamic multilingual server, designed for modern applications Focuses on performance and optimization Open-source initiative and actively developed
  • 18. $ ps aux --forest | grep unit | grep -v grep root 5355 0.0 0.1 8448 2268 Ss 14:32 0:00 unit: main v1.9.0 [./unit/sbin/unitd] kjones 5357 0.0 0.0 18692 1844 S 14:32 0:00 _ unit: controller kjones 5358 0.0 0.1 166288 3724 Sl 14:32 0:00 _ unit: router pyuser 5368 0.0 0.3 19360 8032 S 14:32 0:00 _ unit: "ftm" application gouser 5369 0.0 0.2 306080 5044 Sl 14:32 0:00 _ /home/kjones/demo/go/unit-fc phpuser 5374 0.0 0.8 211744 17772 S 14:32 0:00 _ unit: "mainpage" application
  • 22. Multilingual ● Perl, PHP, Python, Ruby, Go, ...
 ● Side-by-side language versions ● Uniform app configuration ● Apps run on the same server
  • 23. Dynamic by Design ● Instant reconfiguration in memory ● No reload or restart required ● Less overhead during updates
 ● Zero-interruption reconfigure
  • 24. API-Controlled ● RESTful API ● Does not rely on config files ● Methods: GET, PUT, POST, DELETE ● Familiar JSON payload
  • 25. Listeners object ● Defines ip/ports to listen on ● Maps connection to the specific application or route object $ curl 127.1:8443/config/listeners { "*:8080": { "pass": “applications/mainpage” }, "*:8081": { "pass": "applications/ftm" }, "*:8082": { "pass": "applications/fc" } }
  • 26. Applications object ● Defines name and type of application ● Defines user account to run that application ● Other application specific configurations $ curl 127.1:8443/config/applications { "ftm": { "type": "python 2.7", "module": "wsgi", "user": "pyuser", "path": "/apps/python" }, "fc": { "type": "external", "user": "gouser", "executable": “/apps/go/unit-fc” }, "mainpage": { "type": "php", "user": “phpuser", "root": "/apps/php", "script": "index.php" } }
  • 27. Built in routing (added in Unit 1.8 & 1.9) ● routes object, internal routing between listeners and apps ● Route based on… - Arguments - Cookies - Headers - Hostname - Method - URI { "routes": [ { "match": { "host": "example.com", "uri": “/admin/*”, "arguments": { "site_access": "yes" } }, "action": { "pass": “applications/php5_app”. } }, { "action": { "pass": "applications/php7_app" } } ] }
  • 28. ● SSL/TLS (OpenSSL 1.0.1+) ● Add/Change/Remove Certificates in memory ● Zero downtime Secure
  • 29. ● No shared credentials required ● Independent, manageable apps Secures and Isolates
  • 30. ● One app fails, affects no others
 ● Server is uniformly configurable
 ● Goal: cgroups support Secures and Isolates
  • 31. Whats next? ● Websocket support ● Proxy enhancements ● Static files ● New languages?? :) Maybe…
  • 32. Obtaining Unit: unit.nginx.org github.com/nginx/unit docker run nginx/unit Help and support: unit@nginx.org github.com/nginx/unit/issues nginx.com nick@nginx.com
  • 33. Thank you for coming! Kevin Jones @webopsx / @kmjones1979 @kevinjonescreates