1
DEVELOPER WORKSPACE CODE & IMAGE LIFECYCLE WITH CONTAINERS SOURCE CODE MANAGEMENT Continuous Delivery CONTINUOUS INTEGRATION CODE QUALITY ANALYSIS PACKAGING AND BUILD AUTOMATION TESTING FRAMEWORKS ARTIFACT AND IMAGE REGISTRY RELEASE AUTOMATION OPERATIONS TOOLS 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. Containers have not yet significantly changed source code management. Codenvy RESTful workspaces built with Docker containers Eclipse Che hosted workspaces using containers for microservices JetBrains IntelliJ IDEA manages Docker containers from IDE Vagrant Docker provisioner VMware AppCatalyst desktop hypervisor optimized for containers Nitrous Docker containers as workspaces Drone.io open source continuous integration built on Docker Electric Cloud plug-in to invoke containers while building XebiaLabs Overcast Docker for integration testing with other services CloudBees Jenkins CI builds slaves runnable within containers CircleCi supports Docker-based dev, test and deploy workflow Codeship ParallelCI parallel testing with containers Shippable automated DevOps with Docker Wercker containerized build pipeline Codefresh Docker-based continuous integration for NodeJS Code Climate static analysis with containers SonarQube code quality with containers Atlassian Bamboo uses Docker containers to create build agents Bitnami image cloud hosting Gradle build management through Docker Docker Hub hosted registry service Docker Trusted Registry private dedicated image registry Google Container Registry secure Docker image storage JFrog Artifactory doubles as Docker and artifact registry Quay.io secure hosting for Docker registries Tutum Registry private Docker registry 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 CenturyLink Labs Panamax tools to visualize & manage containers New Relic distributed container monitoring and analytics Sysdig Cloud distributed container monitoring SignalFx streaming analytics of Docker apps AppDynamics extension for Docker monitoring CONTINUOUS DEVELOPMENT CONTINUOUS INTEGRATION CONTINUOUS DEPLOYMENT Salt allows unit testing within containers Selenium-env can be run through docker instead of installed PhantomJsEnv can be run through docker instead of installed PhantomJsEnv RoboCI aimed to run travis ci builds locally inside docker containers RoboCI Amazon OpsWorks application management for container & VM infrastructure Ansible playbooks will generate consistent app in containers & VMs Chef container management, provisioning and automation Puppet Labs Puppet Forge Docker management Salt container management, provisioning and automation 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 CONTAINERS MAKE TOOLING CONSISTENT 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 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. CONTINUOUS DELIVERY AND DEVOPS WITH CONTAINERS Containers are being used by the products below to evolve and revolutionize the continuous delivery and DevOps pipelines. ARTIFACTS AND SOURCE INJECTED DEPENDENCY Containers provide a common set of building blocks that can be reused in any stage of development to recreate identical environments for development, testing, staging, and production. Containers extend the idea of write once; deploy anywhere, to an infrastructure abstraction that application developers can easily consume and operations professionals can predictably manage. Containers provide a disposable, reusable unit that can execute a segment of a delivery pipeline. Critical code quality, analysis, build, and test functions can be consistently reused within developer workspaces, continuous integration systems, and release management tools. Service injection into containers allows developers to code more productively and tooling vendors to provide value throughout the pipeline. CONTAINERS MAKE ENVIRONMENTS CONSISTENT 1 CLONE 2 EDIT 3 ANALYZE 4 BUILD 5 PACKAGE 6 RUN 7 DEBUG 8 COMMIT 9 PUSH THE CODE LIFECYCLE 1 CLONE 2 EDIT 3 BUILD 4 LABEL 5 PUSH THE IMAGE LIFECYCLE ActiveState Stackato agile PaaS platform optimized for containers Brightbox high performance and flexible cloud servers and storage Alpine Linux lightweight operating system container-optimized Amazon EC2 Container Service Docker extension tools Apache Mesos distributed systems and container kernel Apache Zookeeper centralizes container configurations CenturyLink Cloud cloud management service with container support Ceph distributed block storage for Docker ClusterHQ Flocker open source container data volume manager CoreOS Tectonic kubernetes cluster for Docker CoreOS flannel cross-container communication Datawise.io Project 6 deploy and manage Docker containers across clusters Docker Compose define and running multi-container applications Docker Machine automated Docker provisioning Docker Swarm native clustering for Docker EngineYard Deis open source PaaS for Docker Joyent Triton elastic container infrastructure Google Compute Engine PaaS with container managed service Google Kubernetes orchestration of services running pods of containers HashiCorp Packer image construction automation HashiCorp Consul discovery and configuration infrastructure services IBM Bluemix hybrid PaaS based upon CloudFoundry and Docker Jelastic multi-container orchestration platform Microsoft Azure PaaS with container-managed services Mesosphere DCOS data center OS works with Docker Nirmata application deployment and operations with Docker OpenStack Nova launches containers on a massive scale Pertino builds container-level VPC networks Portworx PWX scale out block storage for Docker Rackspace Managed Cloud management software RancherLabs Rancher infrastructure platform for Docker RancherLabs RancherOS Linux distribution that runs OS as Docker containers Red Hat Atomic lightweight immutable platform for running containers Red Hat OpenShift hybrid PaaS based on Docker VMware Photon lightweight Linux host for containers Weave creates a network of Docker containers

Disrupting DevOps Infographic - CloudBees

  • Upload
    lamnhan

  • View
    220

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Disrupting DevOps Infographic - CloudBees

D E V E L O P E R W O R K S PA C E

C O D E & I M A G E L I F E C Y C L E W I T H C O N TA I N E R S

S O U R C E C O D E M A N A G E M E N T

ContinuousDelivery

C O N T I N U O U S I N T E G R AT I O N

C O D E Q U A L I T Y A N A LY S I S

PA C K A G I N G A N D B U I L D A U T O M AT I O N

T E S T I N G F R A M E W O R K S

A R T I FA C T A N D I M A G E R E G I S T R Y

R E L E A S E A U T O M AT I O N

O P E R AT I O N S T O O L S

C O N TA I N E R I N F R A S T R U C T U R E

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.

Containers have not yet significantly changed source code management.

Codenvy RESTful workspaces built with

Docker containers

Eclipse Che hosted workspaces using

containers for microservices

JetBrains IntelliJ IDEA manages Docker containers

from IDE

VagrantDocker provisioner

VMware AppCatalyst desktop hypervisor optimized

for containers

Nitrous Docker containers as

workspaces

Drone.io open source continuous

integration built on Docker

Electric Cloud plug-in to invoke containers

while building

XebiaLabs Overcast Docker for integration testing

with other services

CloudBees Jenkins CI builds slaves runnable within

containers

CircleCi supports Docker-based dev,

test and deploy workflow

Codeship ParallelCI parallel testing with containers

Shippable automated DevOps

with Docker

Wercker containerized build

pipeline

Codefresh Docker-based continuous

integration for NodeJS

Code Climate static analysis with containers

SonarQube code quality with containers

Atlassian Bamboo uses Docker containers to

create build agents

Bitnami image cloud hosting

Gradle build management

through Docker

Docker Hub hosted registry service

Docker Trusted Registry private dedicated image

registry

Google Container Registry secure Docker image storage

JFrog Artifactory doubles as Docker and

artifact registry

Quay.io secure hosting forDocker registries

Tutum Registry private Docker registry

DevOpsPipeline

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

ACCEPTANCETESTING

DEPLOY TOPRODUCTION

MANAGEMENT & MONITORING

CenturyLink Labs Panamax tools to visualize & manage

containers

New Relic distributed container

monitoring and analytics

Sysdig Cloud distributed container

monitoring

SignalFx streaming analytics of

Docker apps

AppDynamics extension for Docker

monitoring

CONTINUOUS DEVELOPMENT

CONTINUOUS INTEGRATION

CONTINUOUS DEPLOYMENT

Salt allows unit testing within

containers

Selenium-env can be run through docker

instead of installed

PhantomJsEnv can be run through docker

instead of installed

PhantomJsEnv

RoboCIaimed to run travis ci builds

locally inside docker containers

RoboCI

Amazon OpsWorks application management for

container & VM infrastructure

Ansible playbooks will generate consistent

app in containers & VMs

Chef container management,

provisioning and automation

Puppet Labs Puppet Forge Docker management

Saltcontainer management,

provisioning and automation

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

C O N TA I N E R S M A K E

TO O L I N G C O N S I S T E N T

How Containers are Disrupting DevOpsDevOps 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 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.

C O N T I N U O U S D E L I V E R Y A N D D E V O P S W I T H C O N TA I N E R S

Containers are being used by the products below to evolve and

revolutionize the continuous delivery and DevOps pipelines.

ARTIFACTS AND SOURCE INJECTED

DEPENDENCY

Containers provide a common set of building blocks

that can be reused in any stage of development to

recreate identical environments for development,

testing, staging, and production. Containers extend

the idea of write once; deploy anywhere, to an

infrastructure abstraction that application

developers can easily consume and operations

professionals can predictably manage.

Containers provide a disposable, reusable unit that can

execute a segment of a delivery pipeline. Critical code

quality, analysis, build, and test functions can be

consistently reused within developer workspaces,

continuous integration systems, and release management

tools. Service injection into containers allows developers

to code more productively and tooling vendors to provide

value throughout the pipeline.

C O N TA I N E R S M A K E

E N V I RO N M E N T S C O N S I S T E N T

1 CLONE

2 EDIT

3 ANALYZE

4 BUILD

5 PACKAGE

6 RUN

7 DEBUG

8 COMMIT

9 PUSH

THE CODE LIFECYCLE

1 CLONE

2 EDIT

3

BUILD

4 LABEL

5 PUSH

THE IMAGE LIFECYCLE

ActiveState Stackatoagile PaaS platform optimized

for containers

Brightboxhigh performance and flexible

cloud servers and storage

Alpine Linux lightweight operating system

container-optimized

Amazon EC2 Container Service

Docker extension tools

Apache Mesos distributed systems and

container kernel

Apache Zookeeper centralizes container

configurations

CenturyLink Cloud cloud management service

with container support

Cephdistributed block

storage for Docker

ClusterHQ Flocker open source container data

volume manager

CoreOS Tectonic kubernetes cluster

for Docker

CoreOS flannel cross-container communication

Datawise.io Project 6 deploy and manage Docker containers across clusters

Docker Compose define and running

multi-container applications

Docker Machine automated Docker

provisioning

Docker Swarm native clustering

for Docker

EngineYard Deisopen source PaaS

for Docker

Joyent Tritonelastic container

infrastructure

Google Compute EnginePaaS with container

managed service

Google Kubernetes orchestration of services

running pods of containers

HashiCorp Packer image construction

automation

HashiCorp Consul discovery and configuration

infrastructure services

IBM Bluemix hybrid PaaS based upon

CloudFoundry and Docker

Jelastic multi-container

orchestration platform

Microsoft AzurePaaS with container-managed

services

Mesosphere DCOS data center OS works

with Docker

Nirmataapplication deployment and

operations with Docker

OpenStack Nova launches containers on a

massive scale

Pertino builds container-level

VPC networks

Portworx PWX scale out block storage

for Docker

Rackspace Managed Cloud management software

RancherLabs Rancher infrastructure platform

for Docker

RancherLabs RancherOS Linux distribution that runs OS

as Docker containers

Red Hat Atomic lightweight immutable platform

for running containers

Red Hat OpenShift hybrid PaaS based

on Docker

VMware Photon lightweight Linux host

for containers

Weave creates a network of

Docker containers