Upgrade to Pro — share decks privately, control downloads, hide ads and more …

KubeCon EU 2016: Killing containers to make wea...

KubeCon EU 2016: Killing containers to make weather beautiful

The Met Office Informatics Lab includes scientists, developers and designers. We build prototypes exploring new technologies to make environmental data useful. Here we describe a recent project to process multi-dimensional weather data to create a fully interactive 4D browser application. We used long-running containers to serve data and web pages and short-running processes to ingest and compress the data. Forecast data is issued every three hours so our data ingestion goes through regular and predictable bursts (i.e. perfect for autoscaling).

We built a Kubernetes cluster in an AWS group which auto-scales based on load. We used replication controllers to process the data. Every three hours ingestion jobs are added to a queue and the number of ingestion containers are set in proportion to the queue length. Each worker completes exactly one ingestion job from the queue and then exits, at which point Kubernetes creates a new one to process the next message. This has allowed us to remove the lifespan logic from the containers and keep them light, fast and massively scalable. We are now in the process of using this in our production systems.

Sched Link: http://sched.co/6BWQ

Jacob Tomlinson

March 25, 2016
Tweet

More Decks by Jacob Tomlinson

Other Decks in Technology

Transcript

  1. Docker Host nginx System Capacity Docker Host nginx System Capacity

    Docker Host nginx System Capacity worker worker worker worker worker worker worker worker worker worker worker worker
  2. Docker Host nginx System Capacity Docker Host System Capacity Docker

    Host System Capacity worker nginx nginx worker worker
  3. Docker nginx System worker Docker System worker nginx Docker System

    worker nginx Docker System worker worker worker worker worker
  4. Docker System worker Docker System worker Docker System worker Docker

    System worker nginx worker nginx nginx nginx worker worker worker
  5. Short containers Long containers Daemon processes which listen to requests

    Asynchronous processes doing repetitive workloads