Nebulaworks Insight Content Card Background - Jack b london building
Wow. Talk about timing. Sometimes, when things line up it is almost like there was divine intervention. Well, that is if you believe in divinity. And in the technology world there is not to much akin to there being a god…unless you are Larry Ellison and you believe yourself to be divine. I digress.
Let’s talk about why I am excited first. There are many reasons, most of which being is that I have been there. No, not from the angle of running an organization which raised some serious VC (congrats to the Docker team, maybe me someday), but rather, from the perspective of sysadmin and team lead facing the challenges which Docker is aiming to solve. Just thinking of the time which I spent preparing for application upgrades, being “on call” (another phrase really meaning you better get your ass on the bridge) to support the developers and DBAs as new rollouts were going live - recounting the countless hours under fluorescent lights freezing my ass off (yes, I had to be in the data center), and walking in a datacenter at dusk and out a day later at noon, not knowing what time it exactly was - makes me cringe. OK, it makes me cry. What if there was a better way to do what countless organizations have done since what seems like going back to the beginning of time? There must be a better way.
Fast forward a decade, maybe a little longer. Seems like over the last ten or so years we have cobbled together ways to make the deployment of applications better. Still, not the optimal way of doing things, but better. Figuring out how to package up apps from the development environment, troubleshooting in test, and hoping that rollout into production is seamless - and that our scripts made sure the operating environment and supporting infrastructure was in fact ready for roll out. Maybe implement SOA (along with all of its standards). And of course I’ve always been a fan of automation. Which sysadmin isn’t? Spend the time to think about all of the various outcomes and develop the logic to handle the situations. Thank you Chef, Puppet, Salt, etc. for making that easier. But it still doesn’t make it dead simple. Like develop; push to test, test; push to production. Not needing to worry (so much) about all of the underlying requirements and the differences between environments. With Platform as a Service we are getting there and we at Nebulaworks have jumped feet first into helping organization make sense of the concepts. We think it is going to be big. But, what about a less complex alternative? Maybe even something tool or process that allows for a phased approach. Time to circle back to Docker.
Take the functionality available in a Linux kernel, add a library, and run multiple isolated applications. Ok, been there done that (see my previous blog post). But where this gets cool is providing a repository for the applications and services. Build your container including your app, add required services to support the bits, and deploy. That is the a-ha moment. Don’t want all of that in a container? Cool…create or pull down a different container with the supporting service and link them together. Let’s do one better - use a layered file system so that we can easily track changes between iterations of that container. Whaaatt? Iterative approach that is visible to not only the developers but also the sysadmins? And add to that - all we need to setup dev, test, and prod is simply install Linux or spin up a VM/instance and manage the underlying capacity? Fantastic. And there are tangible benefits to the organization besides the cool factor: easier manageability, greater density of workloads, faster deployments. Oh, and we haven’t even discussed solving for portability, which we have done so as well.
So about that perfect match. Nebulaworks was founded on bringing creative, cost-effective, cloud solutions to organizations to help them gain agility and innovate. We are engineers with a passion for doing this with our customers. Docker, is looking to let developers and sysadmin build, ship, and run, any app, anywhere. I believe this allows organizations to address challenges creatively and it certainly has the benefit of being cost effective. And it also enables agility. Yes, that is just about a perfect match.
Until next time.
Nebulaworks is a premier consultancy focused on engineering the enterprise adoption of DevOps, Cloud, and Open Source tools to support enhanced business performance. We deliver on difficult technology integration challenges and greenfield lighthouse projects supported by streamlined engagements delivered by a highly-skilled team of engineers, enabling the enterprise to quickly achieve new and enhanced outcomes.