type an address in your browser? The TCP/IP Stack: Data Link, Network, Transport, Application (also Physical, Session, Presentation) This is called the OSI model.
sends "packets" Packets must be of a certain size (~1500 bytes, 64k max) Only a certain amount of packets are allowed "in flight" Packets are guaranteed delivery, in-order (different than UDP) Starts with a Three-Way handshake. Syn -> Syn Ack -> Ack
in vacuum: 27ms, RTT in fiber: 41.04ms IP and Routes add delay. (Check out Ping and Traceroute) Remember the three way handshake? Latency. Bandwidth may not matter Connections are scarce, precious resources! (Why we have connection pooling)
requests and responses sit on top of TCP Http 1.1: Keep-alive, pipelining Browsers 6-8 connections per server Think of 1mb of data split 1, 10, 100 ways
managing TCP connections. Networking isn't just about a browser and a server. Intra- and inter- data center connections are important! Optimize for throughput: keep data small, reduce latency, reduce connections.
requests. Application servers run programs which produce dynamic content. Think Thin, Unicorn, Puma, Node, etc. Sometimes it's a blurry line. Depends on architecture.
Load Balancer Distributes Requests Web Servers (nginx/haproxy/varnish) handles connections, static content Application Servers or Process Pools respond to requests
apps? What control do you want or need? Other AWS Services: ElasticCache, R53/ELB, ASG, Search, CloudFormation, OpWorks, Multi-AZ, Multi-Region Cloud Services: Most tech is offered as SaaS NewRelic, Loggly