Designing Self-Orchestrating Applications

Deploying applications in containers and connecting them together is a challenge because it forces developers to design for orchestration. The container ecosystem has largely converged on abstracting orchestration away from the developer and making the infrastructure more intelligent. If instead we push the responsibility for understand startup, service discovery, scaling, and recovery from failure into the application, we can build architectures that empower application development teams to understand how the software they write works in production.

But even if we accept this premise, we can’t simply rewrite all our applications, so we need a way to build application containers that can knit together legacy and greenfield applications alike. In this hands-on workshop, we will build a microservices application. Starting from simple open source components, we’ll add tooling that turns these applications into a modern self-assembling stack.


The workshop will be hands-on. Each attendee will have a remote workspace with all prerequisites installed. The only software required on your machine will be a SSH client and a web browser. Attendees should be familiar with basic shell commands and their choice of text editor (vi/vim, emacs, or nano).



Tim Gross

Tim Gross is a product engineer for Joyent, providers of the Triton Elastic Container Service. Tim previously ran Ops at DramaFever, where he and his scrappy team ran Docker in production to serve a ...