Ever thought about how you can often alter the behavior of your app without modifying the code?
I'm sure many of you know this, employing configurations during deployment to adjust the code's behavior.
This means your Docker image remains the same, but your app's behavior differs.
Image Reuse
We are pleased to introduce image reuse.
TL;DR: If your build inputs across different app environments are identical, we will wait for the first build to complete and then simply reuse the image in all app environments, regardless of where they are located within your account.
Assume you have an app deployed with two unique configurations:
- Jobs: run background jobs;
- WebApp: run your entry points for user interaction;
In this scenario, every time you build your apps, you are essentially building the same one.
Before, zCloud would build your image twice, resulting in two identical outputs. Given that these builds could compete for computing power, you are wasting time, processing power (and energy).
From now on, zCloud will automatically determine when it's possible to reuse an image.
All the rules we apply can be found in our docs, where you can also learn about the changes in the UI when this happens (tip: you will observe the activity titled 'Waiting for image').
We have numerous clients in this scenario who can now deploy multiple apps (up to 10 in some cases) with a singular build.
Fun fact: The zCloud web app consists of three application environments, all running the same code. Therefore, a single build powers all three environments.
Enjoy.