Docker – Best practices for scaling a stack application

How to Activate Windows Server 2019

As with most things Docker, there are a few different ways to accomplish desired states for your applications. When you are using Docker stacks, you should always use the same method for updating the application as you did for deploying it. Make any desired state changes in the stack compose file, and then run the exact same command you used to deploy the stack. This allows you to use standard source-code-control features to properly handle your compose file, such as tracking and reviewing changes. And, it allows Docker to do the right things for orchestrating your application. If you need to scale a service up or down within your application, you should update the replicas key in the stack compose file and then run the deploy command again. In our example, we have two replicas for our vote service. If the demands for voting skyrocketed, we can easily scale our application by changing the replica value from 2 to, say, 16 by editing the docker-stack.yml file, then issuing the same command we originally used to deploy the application:

# After updating the docker-stack.yml file, scale the app using the same deploy command
docker stack deploy -c docker-stack.yml voteapp

Now, when we check the services, we can see we are scaling our app:

There you have it, an easy-to-use, easy-to-understand, and very, very powerful Docker application orchestration!

Comments are closed.