| ▲ | bedobi 4 hours ago | |
At a previous job, our build pipeline * Built the app (into a self contained .jar, it was a JVM shop) * Put the app into a Ubuntu Docker image. This step was arguably unnecessary, but the same way Maven is used to isolate JVM dependencies ("it works on my machine"), the purpose of the Docker image was to isolate dependencies on the OS environment. * Put the Docker image onto an AWS .ami that only had Docker on it, and the sole purpose of which was to run the Docker image. * Combined the AWS .ami with an appropriately sized EC2. * Spun up the EC2s and flipped the AWS ELBs to point to the new ones, blue green style. The beauty of this was the stupidly simple process and complete isolation of all the apps. No cluster that ran multiple diverse CPU and memory requirement apps simultaneously. No K8s complexity. Still had all the horizontal scaling benefits etc. | ||