As a systems engineer, I enjoy building deploying production and pre-production services. These production services tend to be built at scale in a highly redundant architecture. The problem has always been how do we give developers a sandbox that matches production in all the ways that matters– but without the pain (and love), overhead, compute and networks resources actual production environments require. Moreover, how does one snapshot this environment so it can be recreated at will. This has been a holy grail in IT for a while. While there have many, many attempts at solving this problem, they all seem to have pitfalls and don’t really serve the purpose.
Enter the CDK…
An exciting development in this space is the Red Hat Container Development Kit. Langdon White, Platform Architect at Red Hat gave his presentation on using CDK 2.0, which is a container CDK based on Vagrant, Docker, Kubernetes, and OpenShift. It also has Eclipse integration… basically, everything someone needs to build production-quality applications for use on OpenShift.
Langdon starts with decomposition being a major driving factor in today’s software development world. Docker gives us a major step-forward in decomposition and helps with the separation between system errata updates and what the application actually requires. The CDK will help in your journey to re-architect your applications and “sprinkle in some devops” (one of my favorite new phrases from the DevNation keynote).
The CDK runs on Windows, Mac and Linux (of course). It ships with Vagrant files allowing you to easily execute the CDK VMs without having to install everything yourself. The CDK Eclipse has plugin integration for Vagrant, allowing one to run the VMs from within Eclipse, which is kind of cool. From there you can start the OpenShift Local VM for deploying your code, mimicking a production push.
Still within Eclipse, you can define your Dockerfile, giving your container all the dependencies your application requires, including the base image. Of course, you can define multiple ones of each tier of your application, all without leaving your development environment.
Continue reading “DevNation Live Blog: CDK 2.0: Docker, Kubernetes, and OSE on your desk”