How Containers are Disrupting DevOps

DevOps is implemented through continuous delivery software pipeline. Continuous delivery encompasses continuous development, integration and deployment. With the rapid adoption of containers we asked ourselves, “How do containers redefine DevOps?”

CONTAINERS MAKE CONTAINERS MAKE ENVIRONMENTS CONSISTENT TOOLING CONSISTENT

Containers provide a common set of building blocks Containers provide a disposable, reusable unit that can that can be reused in any stage of development to execute a segment of a delivery pipeline. Critical code recreate identical environments for development, quality, analysis, build, and test functions can be testing, staging, and production. Containers extend consistently reused within developer workspaces, the idea of write once; deploy anywhere, to an continuous integration systems, and release management infrastructure abstraction that application tools. Service injection into containers allows developers developers can easily consume and operations to code more productively and tooling vendors to provide professionals can predictably manage. value throughout the pipeline.

CODE & IMAGE LIFECYCLE WITH CONTAINERS Containers defined by recipes allow developers to edit, version and commit changes in the same way they do code leading to a similar (and sometimes dependent) image lifecycle.

THE CODE LIFECYCLE THE IMAGE LIFECYCLE

1 CLONE 1 CLONE

2 EDIT 2 EDIT

3 ANALYZE

4 BUILD DEPENDENCY 3

BUILD ARTIFACTS AND 5 PACKAGE SOURCE INJECTED

6 RUN

7 DEBUG

8 COMMIT 4 LABEL

9 PUSH 5 PUSH

CONTINUOUS DELIVERY AND Continuous DEVOPS WITH CONTAINERS DevOps Delivery Pipeline Containers are being used by the products below to evolve and revolutionize the continuous delivery and DevOps pipelines.

CONTINUOUS AUTHOR CODE DEVELOPMENT & CHECK-IN

DEVELOPER WORKSPACE

Codenvy Eclipse Che JetBrains IntelliJ IDEA RESTful workspaces built with hosted workspaces using manages containers Docker containers containers for from IDE CHECK OUT & BUILD CODE

Nitrous Vagrant VMware AppCatalyst Docker containers as Docker provisioner desktop hypervisor optimized workspaces for containers

SOURCE CODE MANAGEMENT

Containers have not yet significantly changed source code management. UNIT TEST

CONTINUOUS INTEGRATION

CONTINUOUS INTEGRATION

CircleCi CloudBees Jenkins CI Codefresh supports Docker-based dev, builds slaves runnable within Docker-based continuous test and deploy workflow containers integration for NodeJS

QUALITY CONTROL

Codeship ParallelCI Drone.io Electric Cloud parallel testing open source continuous plug-in to invoke containers with containers integration built on Docker while building

Shippable Wercker XebiaLabs Overcast automated DevOps containerized build Docker for integration testing with Docker pipeline with other services

PACKAGE AND CODE QUALITY ANALYSIS ARCHIVING

Code Climate SonarQube static analysis with containers code quality with containers

PACKAGING AND BUILD AUTOMATION

INTEGRATION TESTING

Atlassian Bamboo Bitnami Gradle uses Docker containers to image cloud hosting build management create build agents through Docker

TESTING FRAMEWORKS

PhantomJsEnv RoboCI

PhantomJsEnv RoboCI can be run through docker aimed to run travis ci builds DEPLOY TO TEST instead of installed locally inside docker containers ENVIRONMENT

Salt Selenium-env allows unit testing within can be run through docker containers instead of installed

CONTINUOUS DEPLOYMENT

ARTIFACT AND IMAGE REGISTRY

DEPLOY TO PRE- PRODUCTION

Docker Hub Docker Trusted Registry Google Container Registry hosted registry service private dedicated image secure Docker image storage registry

JFrog Artifactory Quay.io Tutum Registry doubles as Docker and secure hosting for private Docker registry artifact registry Docker registries

ACCEPTANCE RELEASE AUTOMATION TESTING

Ansible Chef Amazon OpsWorks playbooks will generate consistent container management, application management for app in containers & VMs provisioning and automation container & VM infrastructure

Puppet Labs Puppet Forge Salt Docker management container management, provisioning and automation DEPLOY TO PRODUCTION

OPERATIONS TOOLS

AppDynamics CenturyLink Labs Panamax New Relic extension for Docker tools to visualize & manage distributed container monitoring containers monitoring and analytics

MANAGEMENT & MONITORING

SignalFx Sysdig Cloud streaming analytics of distributed container Docker apps monitoring

CONTAINER INFRASTRUCTURE

Many vendors provide tools and platforms to support the building, networking, hosting and running of containers. These foundational products are leveraged throughout the DevOps pipeline.

ActiveState Stackato Alpine Linux Amazon EC2 Apache Mesos agile PaaS platform optimized lightweight operating system Container Service distributed systems and for containers container-optimized Docker extension tools container kernel

Apache Zookeeper Brightbox CenturyLink Cloud Ceph centralizes container high performance and flexible cloud management service distributed block configurations cloud servers and storage with container support storage for Docker

ClusterHQ Flocker CoreOS Tectonic CoreOS flannel Datawise.io Project 6 open source container data kubernetes cluster cross-container deploy and manage Docker volume manager for Docker communication containers across clusters

Docker Compose Docker Machine Docker Swarm EngineYard Deis define and running automated Docker native clustering open source PaaS multi-container applications provisioning for Docker for Docker

Joyent Triton Google Compute Engine Google Kubernetes HashiCorp Packer elastic container PaaS with container orchestration of services image construction infrastructure managed service running pods of containers automation

HashiCorp Consul IBM Bluemix Jelastic Microsoft Azure discovery and configuration hybrid PaaS based upon multi-container PaaS with container-managed infrastructure services CloudFoundry and Docker orchestration platform services

Mesosphere DCOS Nirmata OpenStack Nova Pertino data center OS works application deployment and launches containers on a builds container-level with Docker operations with Docker massive scale VPC networks

Portworx PWX Rackspace Managed Cloud RancherLabs Rancher RancherLabs RancherOS scale out block storage management software infrastructure platform Linux distribution that runs OS for Docker for Docker as Docker containers

Red Hat Atomic Red Hat OpenShift VMware Photon Weave lightweight immutable platform hybrid PaaS based lightweight Linux host creates a network of for running containers on Docker for containers Docker containers

Codenvy connects developer workspaces to the continuous delivery pipeline with on-demand developer environments that are replicable, collaborative and constraint-free. www.codenvy.com

Have ideas or feedback? Submit pull requests on GitHub: https://github.com/codenvy/container-devops

© 2010-2015 Codenvy, Inc. - All Rights Reserved