The ability of Docker containers to scale seamlessly is one of Docker’s main selling points. But scalability only matters for companies that need large deployments. This begs the question: Can containers benefit smaller companies, too?
Compared to virtual machines, containers scale much more easily. That is because you can spin up a new container in seconds to increase the capacity for a running service. Virtual machines take minutes to start.
In addition, you can move containers quickly between host environments to respond to a hardware failure or increase load. Migrating virtual machines is possible, too, but it is more complicated and data-intensive because virtual machine images are larger. Plus, live migration can be particularly tricky with virtual machines because you have to contend with changes in the host environment.
All of the above means that Docker can scale more easily and reliably than virtual machines (as well as bare-metal servers, which lack a significant degree of any type of scalability). Docker’s ability to scale is important if you’re an enterprise that needs to be able to support thousands or hundreds of thousands of users with your applications.
Docker for Startups
But what if you’re a startup or a small or medium-sized business? What if your user base never exceeds a couple thousand users? Or perhaps you run an internal app that only supports a few dozen users inside your company.
In these cases, scalability is generally less important. Smaller-scale application deployments can be supported with virtual machines as effectively as they can with Docker, because Docker’s scalability advantages don’t come into play when the user base is small.
On the other hand, scalability is not Docker’s only benefit. Small companies can still benefit from the ability of containers to simplify software testing and deployment by providing environment parity between development and production.
They can also take advantage of containers to build microservices apps that are more agile. You don’t have to be a large company to benefit from agility.
That said, smaller companies have to weigh the cost of migrating to Docker against the benefits. If refactoring or rebuilding apps to work with containers will require a great deal of effort and money, the resulting advantages may not be worth it if scalability is not an important factor. But this calculus will vary from company to company.
So, yes, startups and small companies can benefit from Docker. They may miss out on Docker’s scaling advantages, which are a significant part of Docker’s value, but they’re not the only one. However, because scalability is not as important a factor for smaller companies, migrating applications to Docker may not always be worth the effort and investment required.