Thursday, September 11, 2014

Meet me at the Docks

This year Docker was a big thing @ OSCON. When I first heard about it the first thought I had was I remember this from Solaris except they call it Zones..Well Docker is a little different first some of the advantages...

Docker brings in an API for container management, an image format and a possibility to use a remote registry for sharing containers. This scheme benefits both developers and system administrators with advantages such as:
  • Rapid application deployment – containers include the minimal runtime requirements of the application, reducing their size and allowing them to be deployed quickly.
  • Portability across machines – an application and all its dependencies can be bundled into a single container that is independent from the host version of Linux kernel, platform distribution, or deployment model. This container can be transfered to another machine that runs Docker, and executed there without compatibility issues.
  • Version control and component reuse – you can track successive versions of a container, inspect differences, or roll-back to previous versions. Containers reuse components from the preceding layers, which makes them noticeably lightweight.
  • Sharing – you can use a remote repository to share your container with others. Red Hat provides a registry for this purpose, and it is also possible to configure your own private repository.
  • Lightweight footprint and minimal overhead – Docker images are typically very small, which facilitates rapid delivery and reduces the time to deploy new application containers.
  • Simplified maintenance – Docker reduces effort and risk of problems with application dependencies.
Docker is seeing significant adoption from service providers. Amazon now offers Linux AMIs with Docker pre-installed, and supports Docker installation via their Elastic Beanstalk deployment service. Rackspace and Google have announced native Docker support for their cloud services. Docker also continues to gain traction with other types of integration partners such as Red Hat and similar Linux distribution providers. This ever-expanding ecosystem of partners positions Docker to become even more pervasive in Linux environments, both on premises and in public clouds.
In a blog post on Tuesday, Google demonstrated its commitment to the platform by announcing a new set of extensions for Google App Engine. Developers working with App Engine can use these extensions to build and deploy Docker images in Managed VMs. Google will also release two open source tools, Kubernetes and cAdvisor, for managing containers and performing analytics on container resource consumption.
There is a great deal of momentum and excitement surrounding the release. The platform has the potential to transform the way you deploy, manage and migrate applications in the cloud, and you are probably eager to try the capabilities firsthand.
Here are three cool ways you can benefit from Docker:
Dev/Ops and Continuous Development
Development, build, test and operations teams have a lot to gain from using container software. Coordination between these groups has become increasingly important in recent years as they struggle with managing application dependencies throughout the development lifecycle.
With Docker, there is no need to change or reconfigure applications for each new environment. Since containers maintain all application configuration settings and dependencies, it is easy to move them from development to test and production environments. This also means that applications don’t break in new environments, and operations teams don’t have to spend time doing manual installation or troubleshooting issues.
Multi-Cloud
As more businesses adopt multiple clouds, application portability is becoming an essential capability. Unfortunately, without the right tools, it has not been easy to lift and shift applications between clouds.
Docker eliminates the need for expensive transformation projects and lets you move applications freely to, from and between Linux-based cloud environments. The Docker Hub also offers curated, popular application images, reducing the deployment process to only a few steps in many cases. Because applications are housed in standard containers, these images are essentially cloud agnostic. This portability also supports hybrid IT scenarios, easing the transition from on-premises environments to a public cloud.
Cloud Efficiency
Using containers in cloud environments can yield unique efficiency benefits, including higher instance utilization. By deploying multiple containerized (aka Dockerized) applications on to a single cloud instance, you can get much closer to achieving 100% utilization. You are paying for the extra capacity, so you might as well get the most from it.
Docker lets you safely run multiple applications on the same cloud instance by abstracting and isolating their dependencies. With growing support from major service providers, including Google and Amazon, Docker containers should become much more ubiquitous, and enable cloud server consolidation as described in this Neovise blog.

Docker should continue to play a growing role in dev/ops, continuous development, multi-cloud management, and cloud server efficiency.

Creating Atlas Cluster GCP /24 in Terraform

  1. Generating MongoDB Atlas Provider API Keys In order to configure the authentication with the MongoDB Atlas provider, an API key must be...