Containers were made for gaming. They reduce system overhead, have faster deploy times and empower your development teams to think less about deployment and more about the content they are deploying. It’s no surprise many AAA game developers, like League of Legends’ Riot Games, are starting to incorporate them into their devops stack.
If you’ve thought about making the move to containers, but don’t know how to get started, here are 3 tools you’ll find helpful.
If an article is written about containers and doesn’t mention Docker… is the article really that useful? Docker’s open source container engine has been arguably the biggest driving force behind the upswing in containerization. DockerEngine has been downloaded well over a million times, making their happy whale logo a nod to their whale of a user base.
Docker is extremely simple to get up and running with, and you can run it on *anything*. We’re also a big fan of their documentation – take a look and you can follow along to get your first container set up within minutes.
Recent improvements in Docker include support for Windows OS and a GUI for visualizing Docker processes called Kitematic.
2. A Deployment Manager
In order to manage your containers, you’ll need a deployment manager that supports them. There are many options out there, but they come in a few different flavors.
Possibly the simplest option, Swarm allows you to take your existing Docker infrastructure and manage it all through their product. It used to be a separate plugin, but Docker 1.2 (the latest version) now includes it by default.
If you need a bit more power from your manager, Rancher is a more advanced option for bigger shops. Rancher is compatible with other container tools like Swarm allowing you to manage a large number of Docker containers across multiple hosts.
You can also use a more traditional manager like Google’s Kubernetes or Apache Mesos with Docker, even if they aren’t purpose-built for the task. Usually, you’ll build your architecture using their product, and then incorporate Docker – rather than building with Docker and then using a service to manage it.
3. An Image Stack
One of the great things about containers is how easily they work with some of the best open source technologies available. Simply install the image and every container you deploy will automatically include the services you need to run your code. It’s reliable and scalable. Here are five open source images that you’ll want to think about including in your first Dockerfile:
Registry – The most widely used Docker image – 21% of companies running Docker are using Registry. It’s essentially a git repository for container images.
NGINX – Free, open source and high performance. There’s no surprise that NGINX is widely used by the Docker community.
Redis – An in-memory key database that works particularly well with other open source databases (like MySQL or NoSQL).
Elasticsearch – A powerful full-text search engine that is continuing to gain popularity, especially in the container world.
MySQL – The world’s most popular open source database is also one of the most popular for Docker containers.
Sometimes, the best tool is knowledge. Here are a few resources we’ve found helpful.
If you’re still not quite sure what all the fuss about Docker is (or what it really even does. It’s okay, we’ve all been there) this video is for you. Eric breaks down containerization is an easy way to understand. After watching his DockerCon talk, you’ll just get it.
The aptly titled “Awesome Docker” project, contains everything you could ever want. It’s got cheat sheets, examples, tutorials and more. Definitely give this a bookmark for when you’re getting started!
If you like your information in a more step-by-step format, the free Blindside tutorials will walk you through getting Docker setup and teach you the fundamentals and beyond.