What would DevOps look like if Docker didn’t exist? As we mark the fifth anniversary of Docker, that’s a question worth asking. Here are some thoughts on how very different the world of DevOps would be if Docker had never come into it.
Docker Didn’t Invent DevOps
First, let’s observe the obvious: Docker didn’t create the DevOps movement.
DevOps, which originated about a decade ago, came into being before Docker. So you can’t say that DevOps wouldn’t exist without Docker. DevOps got along just fine for years before anyone was talking about Docker containers.
We’d still have concepts such as continuous delivery without Docker. Silos would still have broken down. DevOps spinoffs including DevSecOps and NetOps would still have come into being, broadening the scope of the DevOps movement by extending it beyond application delivery.
Docker Didn’t Invent Containers
It’s worth noting, too, that we’d still have containers even without Docker. Docker didn’t invent the concept of containers—not by a long stretch. LXC, FreeBSD jails and other container-like technology predated Docker by years.
However, Docker’s big contribution was bringing containerization mainstream. When we imagine a world without Docker, we are thinking about a world in which most DevOps engineers don’t think of containers as a production-ready technology, not one in which containers don’t exist at all.
DevOps sans Docker
Now that we’ve covered what would not be different if Docker hadn’t come along, let’s consider how DevOps as we know it in 2018 would look without Docker:
- Old-generation forms of infrastructure would dominate. Without Docker, virtual machines and conventional cloud computing environments would probably remain the go-to application deployment solutions for DevOps engineers. True, these types of infrastructure remain widely used today in addition to containers. But Docker containers have created a third option. They have introduced more agility and opportunity for DevOps teams.
- Technologies like serverless computing may not have entered into widespread use. Like containers, serverless platforms have been around for more than a decade, but it was only with the launch of AWS Lambda in 2014 that they went mainstream. Lambda and other major serverless platforms don’t use Docker, of course, so they might exist without Docker. However, Docker’s role in popularizing the idea of deploying software in discrete pieces running inside isolated environments arguably did much to help DevOps engineers see the value of serverless computing. Serverless achieves similar, albeit not identical, goals as Docker containers.
- CI/CD pipelines would be harder to automate. By providing environment parity and a unified deployment technology that can be used on different types of operating systems, Docker containers make it considerably easier for DevOps teams to automate application release.
- Software monitoring and management would be simpler. The downside of Docker is that most Docker environments are more complex, and therefore more difficult to manage, than old-generation infrastructure.
- There would be fewer DevOps startups. Docker containers—and the monitoring, security, orchestration and other challenges they create—have birthed a host of startups. By extension, they have reduced the influence in the DevOps space of old-school behemoths including Microsoft and VMware. Without Docker, the DevOps marketplace may not be so vibrant.