Software Development, Web Design, Training


Into The Box Notes: NGINX The past, present and future of the modern web, Kevin Jones

The Past —

got its start as a static web server and a proxy
Igor Sysoev
apache had a problem where it’d fall over after 10K requests
Igor wrote NGINX to handle proxy connections and do things in a new way.

app architectures are changing
going to micro services

more connections are being made
more ssl

NGINX made for a great platform for that future

completely different architecture than apache

NGINX - open source
NGINX Plus - modified version w/ different features

The Present —

building an app is half the battle; having to deliver that app is the other half

Core NGINX (free, open source)
json logging
stream module (tcp/udp)
thread pools -
- long lasting operations, can offload those to thread pools so they are non-locking
dynamic modules
nginScript - JavaScript based lang to extend NGINX. similar to Tcl or Lua
ECC certificate support
Linux Enhancements
- keep up to date w/ the versioning in the OS

the app that makes money
everything in Core plus…
DNS SRV record support
JWT support (auth)
plus tons more

Complete application delivery platform —
static content (web server)
TCP/UDP load alance
http load balancing (L7)
reverse proxy (advanced L7 routing)
security controls
media delivery (can be used as a streaming media server)
http content caching
modularity (extensible via modules, scripting)

dynamic modules
- Apache can compile a module and load it separately
- now you can do that with NGINX too

solves complexity
a lot of people have a web server, load balancer, media server, caching, etc.
NGINX can do ALL of that

Can easily be deployed inside Docker

300million sites running on NGINX today, and counting
(have already surpassed Apache in certain quadrants.)

53% of the top 10,000 most visited sites are NGINX

binary is 3mb
can be deployed on bare metal and use it really well
can be on a cloud
Microsoft Hyper-V
or in Docker containers
- a lot of people use it as a Reverse Proxy into the Docker container.