I'm subscribed to Docker's Youtube channel where they share some fascinating conference videos. The video embedded above is from that channel and it shows how docker can be used to run development environments.

As a software developer, this is fascinating stuff. I've suggested similar at our company but with our infra setup, it makes it a little more difficult. I haven't had some time to try this out yet so it's awesome that some companies are already trying it. The benefits on creating local and development environments dockerized would be amazing.

Ideas for Docker

Below are some neat ideas where docker can be a major help in the software dev cycle.

Scenario 1: Dependencies.

Your application consumes 5 internal web services. 1-2 of them always goes down often as there are code changes being deployed frequently. If you're in your testing phase of a sprint cycle, this can be extremely frustrating. Now, what if we can spin up the last stable release of that web service? Testing can proceed. Everyone is happy.

Scenario 2: Setup.

You're a new hire. You have to install and setup an IDE, build tools, sdk, a web server and a seemingly insane amount of configuration files. What if we had (most) of those dockerized? No more hunting for installers. No more trying to follow some documentation that hasn't been updated in a decade. You'd spend much less time trying to figure out why your app doesn't build and more time trying to figure out the application architecture.

Scenario 3: Load balancing and instantaneous new environments

Ok so maybe not exactly development environment related. Let's say you have 10 instances for your application. Those 10 would be used varyingly throughout the day. At 1am, those 10 won't be all needed. At peak 6-10pm, maybe we need way more. What if you integrate docker with your load balancer? Not a lot of hits? Destroy a few instances. Save up resources for other things or save cost if you're on AWS. Getting hit a lot? Make new instances.

And Many More...

Those are some just initial ideas. There's a ton more where it can benefit different scenarios. What's your ideas?