What to expect in this chapter?

Docker, and more generally containerization, establishes a new paradigm for packaging, running, and coordinating pieces of software. It is no surprise that this has a major impact on the way we deliver and manage software running in production. If you are inexperienced with operations, particularly now that Docker is in the mix, this world can feel like a maze.

So, before we get our hands dirty with preparing to deploy our app in a production-like environment, we first need to familiarize ourselves with the lay of the land. In this chapter, we will start with a refresher on what it means to deliver and run the software in production.

Next, we will explore how Docker shifts that landscape, and what delivery looks like if you embrace Docker. We will cover the various hosting options, the tools you will encounter (and their purpose), and the trade-offs you will need to consider when choosing what you will use for your production environment.

This chapter is unique in so much as it is purely informational: there are no practical steps to follow along with. So put your feet up, relax for a moment, and enjoy the change of pace.

The “Ops” in DevOps

Our focus as software developers is often on the development phase, its discovery, analysis, testing, and building activities. Depending on your work environment, you may or may not be heavily involved in Operations—or just Ops—which involves delivering and running software in production.

Breaking Ops in different areas

We can break delivering and running software in production down into a number of different areas:

Get hands-on with 1400+ tech skills courses.