Eric Lewis

Web Developer

Interactive News @ The New York Times

@ericandrewlewis (short for Eric Andrew Lewis not Eric and Rew Lewis!)

Kubernetes in use at The New York Times

Interactive News

Developer-Journalists

assisting with novel forms of news coverage

The (Photo) Backpack

Parsing election data

https://github.com/newsdev/elex/

Quizzes

Election result data collation

Quiz

maker

Watermark

tool

Live Coverage

Realtime Q&A 

NYTimes en Español

+ many more

Lots of applications

We're generalist, web-leaning developers

In a deadline-driven environment, developers need concentrated responsibility.

We wanted a self-service, dev-friendly application platform

  1. Give developer an application server
  2. Give developer an application server without root access
  3. Let developer provision a server with Chef
  4. Automate the use of Chef
  5. Use containers loaded via Fleet
  6. Use containers loaded via Kubernetes

A brief history of our infrastructure

Containerization breaks down barriers between developer and sys admin

Containers let you run Varnish in minutes to debug VCL

Single App VM

Single App VM

Single App VM

Single App VM

Single App VM

Single App VM

Single App VM

Single App VM

Single App VM

Self-service in VMs vs Kube

app

app

app

app

app

app

app

app

app

Single App VM

Single App VM

Single App VM

Single App VM

Single App VM

Single App VM

Single App VM

Single App VM

Single App VM

Apps in VMs are expensive

"You need sign off to create an app because a VM costs money"

Single App VM

Single App VM

Single App VM

Single App VM

Single App VM

Single App VM

Single App VM

Single App VM

Single App VM

VMs require configuration

"We need to set up networking for your app"

"Only I have the cloud provider credentials to do that"

Creating an app in Kubernetes is nominal

We wanted more than kubectl

App = service + rc

Opinionated Deploys

Add secrets

Next step: start using Kube Dashboard

Request Flow

some-app.pub.prod.int.nytimes.com
=>
some-app.pub.svc.cluster.local

Default service domain names

www.nytimes.com/something => some-app

Path-based service routing

Redirects + Static asset proxy

Eric Lewis

@ericandrewlewis

Kubernetes at The New York Times

By Eric Lewis

Kubernetes at The New York Times

  • 2,814