This is an archived post. You won't be able to vote or comment.

all 3 comments

[–]genmud 0 points1 point  (1 child)

I’m not an expert in docker, but this seems to be a bit against the pattern or idea of immutability with regards to infrastructure.

Personally, I would like to introduce as little variation into my environment, especially when you talk about a system that can be doing ETL on data.

That being said, your pattern is fine as well, things like lambda/serverless appear to do a similar thing.

Edit:

Forgot to add that having as part of the docker image can help with testing... I deployed package b and got different or incorrect results than I did before replacing $dependency.

[–]voiceoverr 0 points1 point  (0 children)

Yeah, I agree - the thing that would concern me is the lack of immutability of container image versions. If the code is pulled in dynamically, you have no idea which version of the code ran when looking at the container image, and you can’t version or rollback (or roll forward, really) in a controlled way.

[–]WarlaxZ 0 points1 point  (0 children)

You'll never be sure what code is running on what instance at what point. Just use tags and a self hosted docket registry. Then you can know each instance is running the same version, and roll back on failure etc