We are having increasing problems with
balena deploy timing out. We are using a microservices application with about 8 services. Every service is built upon the same common base image that we call the
runner image that include all our dependencies. The
runner image is about 800 mb in size and we rely on docker layer caching hoping it will not need to upload 8x800 mb when we do a
In this situation we are lacking the following:
It would be nice if the
balena deploy command could show progress on how much data it has uploaded so far.
A confirmation of our assumption that layer caching will be used when deploying microservices applications where the service images share 90% of their docker layers with a common base image.
The assumption is that we are uploading 1x base image layers and not Nx base image layers if there are N services.
When reviewing the source code of balena cli it seems
balena deploy will push every image in the
docker-compose.yml file in parallel to the balena registry. This is problematic when you use a microservices application with many services that are all built on top of the same large common base image. It seems that when pushing the images in parallel it cannot be taken advantage of the large common layers in the images.