#The Container Disruption. Containers are changing the nature of DevOps and transforming infrastructure. They make tooling and environments consistent by providing common building blocks reusable in any development stage. For tools, containers provide a disposable, reusable unit that modularizes the delivery pipeline. For environments, they extend the write once-deploy anywhere abstraction to infrastructure.
##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
####1) Clone
####2) Edit
####3) Analyze
####4) Build
####5) Package (artifacts and source injected)
####6) Run
####7) Debug
####8) Commit
####9) Push
###The Image Lifecycle ####1) Clone ####2) Edit ####3) Build (dependency) ####4) Label ####5) Push
##Continuous Delivery and DevOps with Containers Containers are simplifying simplify the continuous delivery pipeline.
1st Column ###Continuous Delivery: Continuous Development
Continuous Integration
Continuous Deployment
2nd column ###DevOps Pipeline:
- Author Code & Check-In
- Check Out & Build Code
- Unit Test
- Quality Control
- Package and Archiving
- Integration Testing
- Deploy to Test Environment
- Deploy to Pre-Production
- Acceptance Testing
- Deploy to Production
- Management & Monitoring
###Continuous Development
####Developer Workspace
Codenvy (RESTful workspaces built with Docker containers)
Eclipse Che (hosted workspaces using containers for microservices)
Eclipse for Docker (manages containers and images)
JetBrains IntelliJ IDEA (manages Docker containers from IDE)
Nitrous (Docker containers as workspaces)
Samsung ARTIK IDE (IoT IDE with Docker runtime)
SAP Web IDE (uses Docker to build / run services)
Vagrant (Docker provisioner)
####Source Code Management
Bitbucket Server (version control provided in containers)
Gitlab (version control provided in containers)
###Continuous Integration
####Continuous Integration
CircleCi (supports Docker-based dev, test and deploy workflow)
CloudBees Jenkins CI (build slaves runnable within containers)
Codefresh Codefresh (Docker-based continuous integration for NodeJS)
Codeship (Docker-based continuous integration and delivery)
Drone.io (open source continuous integration built on Docker)
Electric Cloud (plug-in to invoke containers while building)
Shippable (automated DevOps with Docker)
Travis CI (Docker-based continuous integration and delivery)
Wercker (Docker-based dev, build and deploy automation)
XebiaLabs Overcast (Docker for integration testing with other services)
####Code Quality Analysis
Code Climate (static analysis with containers)
SonarQube (code quality with containers)
####Packaging and Build Automation
Atlassian Bamboo(uses Docker containers to create build agents)
Bitnami (image cloud hosting)
Bitnami Stacksmith (image build and packager through API)
Gradle (build management through Docker)
HashiCorp Packer (image construction automation)
####Testing Frameworks
PhantomJsEnv (can be run through Docker instead of installed)
RoboCI (aimed to run Travis CI builds locally inside Docker containers)
Salt (allows unit testing within container)
Selenium (can be run through Docker instead of installed)
###Continuous Deployment
####Artifact and Image Registry
Amazon EC2 Container Registry (managed hosted registry service)
Docker Hub (hosted registry service)
Docker Trusted Registry (private dedicated image registry)
Flawcheck (private container registry with vulnerability scanning)
Google Container Registry (secure Docker image storage)
JFrog Artifactory (doubles as Docker and artifact registry)
Quay.io (secure hosting for Docker registries)
Twistlock Trust (scans images and registries for vulnerabilities)
####Release Automation
Amazon OpsWorks (application management for container & VM infrastructure)
Ansible (playbooks will generate consistent app in containers & VMs)
Chef (container management, provisioning and automation)
Cloud66 (build and deploy containers across clouds)
DCHQ.io (container build and deployment automation)
PuppetLabs Puppet Forge (Docker management)
Salt (container management, provisioning and automation)
####Operations Tools
AppDynamics (extension for Docker monitoring)
CenturyLink Labs Panamax (tools to visualize & manage containers)
Datadog (distributed container monitoring, visualization, and analytics)
Meros (monitoring, logs and alerts for Docker containers)
New Relic (distributed container monitoring and analytics)
Rightscale (docker container management and monitoring)
SignalFx (streaming analytics of Docker apps)
Sysdig Cloud (distributed container monitoring)
##Container Infrastructure. Containers force a rethink of the entire stack, moving towards modular, orchestrated, microservices platforms.
####MINIMAL OS
Alpine Linux (lightweight operating system container-optimized)
Alpine Linux Docker Image (mimialist Docker OS image)
CoreOS (minimal OS for scaling with embedded Docker)
RancherLabs RancherOS (Linux distribution that runs OS as Docker containers)
Red Hat Atomic (lightweight immutable platform for running containers)
Ubuntu Snappy Core (transactional updates from within containers)
VMware AppCatalyst (desktop hypervisor optimized for containers)
VMware Photon (lightweight Linux host for containers)
####CONTAINER RUNTIMES
libvirt LXC (linux container engine)
runC (lightweight container runtime)
Ubuntu LXD (linux container hypervisor)
####CONTAINER SECURITY
CoreOS clair (vulnerability detection in docker containers)
Docker Security Scanning (security profile of Docker images)
Twistlock Runtime (real-time protection of containerized apps)
####CONTAINER STORAGE
Brightbox (high performance and flexible cloud servers and storage)
Ceph (distributed block storage for Docker)
ClusterHQ Flocker (open source container data volume manager)
Portworx PWX (scale out block storage for Docker)
####CONTAINER NETWORKING
CoreOS flannel (cross-container communication)
Pertino (builds container-level VPC networks)
Weave (creates a network of Docker containers)
####SERVICE DISCOVERY
AirBnB SmartStack (service discovery in the cloud)
Apache Zookeeper (centralizes container configurations)
CoreOS etcd (service discovery using consensus algorithm)
HashiCorp Consul (finds and configure infrastructure services)
Mesos-DNS (DNS-based service discovery)
Netflix Eureka (REST-based service discovery)
####ORCHESTRATION, SCHEDULING, AND CLUSTER MANAGEMENT
Apache Mesos (distributed systems and container kernel)
CoreOS Tectonic (kubernetes cluster for Docker)
Docker Compose (define and running multi-container applications)
Docker Machine (automated Docker provisioning)
Docker Swarm (native clustering for Docker)
Google Kubernetes (orchestration of services running pods of containers)
####PLATFORMS
Amazon EC2 Container Service (Docker extension tools)
Apcera (trust and policy-driven platform for container workloads)
CenturyLink Cloud (cloud management service with container support)
ContainerX.io (Container-as-a-Service platform)
Diamanti (http://www.datawise.io/project-6.html) (deploy Docker containers across clusters)
EngineYard Deis (open source PaaS for Docker)
Joyent Triton (elastic container infrastructure)
Giant Swarm (native container infrastructure)
Gigaspaces Cloudify (cloud orchestration with Docker plugin)
Google Compute Engine (PaaS with container managed service)
HP Helion ActiveState (PaaS with container optimizations)
IBM Bluemix (hybrid PaaS based upon CloudFoundry and Docker)
Jelastic (multi-container orchestration platform)
Magnetic.io [VAMP] (http://www.vamp.io/) (microservices platform powered by containers)
Mesosphere DC/OS (data center OS works with Docker)
Microsoft Azure (PaaS with container-managed services)
Nirmata (container deployment and operations platform)
OpenStack Magnum (lauches Kubenetes or Docker ready images)
OpenStack Nova (launches containers on a massive scale)
PaSTA (uses containers to run distributed services)
Pivotal Cloud Foundry (Cloud-native, container-driven application platform)
RancherLabs Rancher (infrastructure platform for Docker)
Red Hat OpenShift (hybrid PaaS based on Docker)
Skippbox (toolkit to deploy Kubernetes and Docker)
Stackpoint.io (universal control plane for Kubernetes)
Spotify Helios (Docker orchestration platform)
[Supergiant] (http://supergiant.io/) (containerizing stateful apps on Kubernetes)
##Footer 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: http://github.com/codenvy/container-devops