Longer-form notes on the systems I run in production — orchestration, web tiers and Java
middleware. Written from incidents, load tests and the configuration files that caused them.
Rolling updates tell you a pod is healthy, not that a release is good. This walks through progressive delivery on Kubernetes — replica-ratio canaries, ingress weighting, service-mesh traffic splitting and automated analysis with Argo Rollouts — plus the failure modes that catch teams out.
How the worker MPM actually allocates processes and threads, how to size MaxRequestWorkers from measured throughput instead of guesswork, how to read the scoreboard, and how to align the web tier with the backend pool so a slow application never becomes a queue collapse.
A walk down the Catalina stack — Server, Service, Connector, Engine, Host, Context, Wrapper — following a single HTTP request from the acceptor socket through the poller, the pipeline of valves, the classloader hierarchy and into your servlet, then back out.