Everything open source
May 16–17, 2016: Training & Tutorials
May 18–19, 2016: Conference
Austin, TX

Blocks in containers: Lessons learned from containerizing Minecraft

Julia Ferraioli (Google)
2:40pm–3:20pm Thursday, 05/19/2016
Architecture
Location: Meeting Room 12 Level: Intermediate
Average rating: ****.
(4.11, 18 ratings)

Prerequisite knowledge

Attendees should have a grasp of virtualization technology and of how basic web servers function, as well as a very cursory understanding of containers and the container ecosystem. Experience with Minecraft is not necessary.

Description

It’s clear containers are here to stay for building reliable, scalable applications. When starting from scratch, the obvious choice is to build for containerization at the outset, but what about applications developed prior to the advent of containerization? Most of us face the challenge of how (and if!) to containerize existing production applications without committing to completely rearchitecting.

Using Minecraft as her example, Julia Ferraioli explains why retrofitting technology for containers poses conceptual and practical challenges that require an approach different than starting container native. While a fun way to pass time, Minecraft is simply a Java application that wasn’t built with containerization in mind. As such, it’s a great example to explore the basics of Docker containers, find and handle the pitfalls that occur, and iteratively embrace container features in a manageable way. Julia then demonstrates how to use Kubernetes, an open source orchestration framework, to handle the scheduling and health of our Minecraft server.

Topics include:

  • The why and how of containers
  • Basics of a Minecraft server
  • Anatomy of the first container
  • First run failure: fixing the general case
  • Data-only containers and Minecraft
  • Orchestration and health of the server with Kubernetes
  • Bonus: it’s (recursive) Minecraft all the way down
Photo of Julia Ferraioli

Julia Ferraioli

Google

Julia Ferraioli is a senior developer advocate with Google Cloud Platform. Julia is a polyglot, though in code only, and is excited about machine learning, containers, whiskey, and sprinkles (in roughly that order). Her super powers are finding ways to incorporate her interests into her work and estimating how much stuff can fit inside a container.