3. 3
“... when I started NGINX,
I focused on a very specific
problem – how to handle more
customers per a single
server.”
- Igor Sysoev, NGINXcreator and founder
5. 62%
of the Top 10,000 most visited websites
Source: : W3Techs Web Technology Survey136
6. 54%
of the Top 100,000 most visited websites
Source: : W3Techs Web Technology Survey137
7. 40%
of all instances on Amazon Web Services
Source: : Sumologic: The State of Modern Applications in AWS Report138
8. About NGINX, Inc.
• Founded in 2011, NGINXPlus first released in
2013
• VC-backed by enterprise software industry
leaders
• Officesin SF, London, Cork, Singapore and
Moscow
• 1,400+ commercial customers
• 200+ employees
8
18. 18
• Simple and easy to setup
• Limited to layer 4 load balancing
• If you need advanced load balancing
consider using an Ingress controller so you
can bring your own!
Built-in load balancing
25. 25
Ingress
• Pluggableload balancer implementation:
• NGINX/NGINX Plus
• GCE HTTP load balancer
• HAProxy
• … and others
- A load balancer is integrated via an Ingress controller that
you must deploy
27. NGINX and NGINX Plus
27
NGINX
• Load balancing w/ SSL/TLS
termination
• WebSocket and HTTP/2 support
• Layer 7 Routing/ Modification
NGINX Plus
• Session persistence
• JWT authentication
• 24/7 support, no additional cost
• Advanced Monitoring… and more!
28. 28
NGINX Ingress Controller
• Runs in a container
• Well designed, fast and efficient golang script under the hood
• Community driven codebase
• Available for NGINX and NGINX Plus
https://github.com/nginxinc/kubernetes-ingress
30. 30
My demo today…
• URL based routing
• Hostname based routing
• SSL termination at LB
• Support for scaling of replicas at LB via dynamic reconfiguration
../examples/complete-example/
31. 31
My demo today…
• Café themed application
• Two services (URL routing)
◦ /Tea
◦ /Coffee
33. 33
Data store + template
• Register services with a data
store (aka etcd or consul)
• Template the NGINX
configuration and manage
NGINX service via CLI (confd
or consul template)
datastore
Services(containers)
NGINXOpenSource
34. 34
We love APIs!
• Services availabilityis
managed by kubernetes and
availablevia API
• Orchestration script can be in
any language
• NGINX Plus upstreams
managed dynamically without
configuration reload
Services(containers)
NGINXPlusAPI
KubernetesAPI
Orchestration(script)
35. 35
Service Discovery ;D
• Built in DNS resolver
• Control over TTL
• Easily Integrates with existing
DNS based service discovery
tools