Verified Commit 1c7d3ce4 authored by MrMan's avatar MrMan

More writing

parent 711e170e
......@@ -42,7 +42,7 @@ Backend can refer to a lot of things, but we'll be mostly focusing on backends a
A backend looks like a lot of things to different parts of a team but it has to do one very specific thing -- **answer requests from clients**.
# A simple Python backend #
# A minimal example, in Python #
\tiny
......@@ -102,13 +102,14 @@ We'll pretend this server worked much like (as the fundamentals are the same) th
\scriptsize
https://en.wikipedia.org/wiki/CERN_httpd
https://www.w3.org/Daemon
# What did we gain? #
Not to be understated, but as you might expect, building web servers is fundamental to the emergence of the World Wide Web.
At this point, backends can **receive a request and return responses** (remember, this is technically all it takes to have a "backend" as we've defined it).
We've achieved the basic functionality required of any backend -- **receive a request and returning responses**.
# The Past - Java & Servlets (~199x) #
......@@ -149,7 +150,7 @@ https://en.wikipedia.org/wiki/Java_servlet
Building servers in Java enables:
- Memory Safe(r) web servers
- Memory safe web servers
- Modular, pluggable web servers
- Making web server development more approachable for developers
......@@ -197,7 +198,7 @@ The emergence of Apache and the CGI pattery is yet another step change in ease o
Backends we write with the support of CGI can ***focus on business logic (leaving request/response wrangling to an "outer" web server)**, while achieving all our previous goals.
# The Past - LAMP #
# The Past - LAMP (2000+) #
One of the biggest step changes in productivity after CGI was the discovery/adoption of the LAMP stack:
......@@ -221,7 +222,11 @@ With the adoption of LAMP:
Backends we write now can **more easily render webpages, perform complex data operations, and run cheaply on commodity hardware**, while achieving all our previous goals.
# The Past - Reverse Proxies #
# The Past - Reverse Proxies (2004+) #
NGINX was written with the explicit goal of outperforming Apache
C10K problem
NGINX's workder thread & event loop driven approach allowed massive scale with limited resources, but it achieves this by doing *less* (it doesn't handle dynamic content).
http://radar.oreilly.com/2006/08/programming-language-trends.html
......@@ -229,6 +234,11 @@ Processes aren't really the past, per-say -- in the end *some* process is runnin
NGINX config example with upstream backends
\scriptsize
\* https://www.digitalocean.com/community/tutorials/apache-vs-nginx-practical-considerations
# What did we gain? #
With the adoption of reverse proxies we gained:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment