SlideShare a Scribd company logo
www.camunda.comtwitter.com/camundaBPM
18.09.15
Christian Lipphardt
Sebastian Menski
BerlinExpertDays2015
From Virtual Machines to Containers
www.camunda.com
Agenda
• Introduction
• The Dark Age
• The Promising Present
• Lessons Learned
• The Bright Future
-2-
www.camunda.com
Introduction - About Camunda
-3-
2014201320122011201020092008
Incorporation
Camunda Services GmbH
Berlin, Germany
Incorporation
Camunda Inc.
San Francisco, US
BPM Consulting BPM Software Vendor
● 30 Fulltime Employees ● No external funding ● Avg. 50% Turnover Growth per Year
Introduced
Hudson
Adapted
Jenkins
www.camunda.com
Introduction - Camunda BPM
-4-
www.camunda.com
Introduction - What is Camunda BPM
• Camunda BPM is an open source platform
for workflow and business process automation
• Integrates with:
• 7 Application Server (11 different versions)
• 6 Databases (17 different versions)
• 1 Development & 4 Maintained Versions
-5-
www.camunda.com
Introduction - Why CI is Important
• Every Camunda BPM version is tested against:
• 187 combinations of DBs and App Servers
• 11 JDKs
• ~ 400 Jobs per version
• Bi-Annual release of a new Camunda BPM version
• Support for Enterprise Customer (24/7 + Fix Time)
-6-
www.camunda.com
Why our CI had to change
The Dark Age
-7-
www.camunda.com
The Dark Age - The Numbers
• 1 Jenkins Master with lots of plugins
• 8 Jenkins Slaves VMs
• ~1000 Jobs total configured /
manually managed:
• 4 Camunda Versions
• Community Projects
• Websites
• Maintenance
-8-
www.camunda.com
The Dark Age - Isolation Problem
• Unit and Integration Tests need a database/application
server
• Only 1 Instance per Database
• All Jobs use the same Databases
• Every half-year a new Version (~400 Jobs) using same
Databases
-9-
www.camunda.com
The Dark Age - No Scalability
• Total Executors: 12
• 1 Jenkins -> 4 Executors
• 8 static heterogenous slave VMs, each with 1 Executor
• Jobs tied to slaves through labels
• Slaves “restrict” database access by allowing no other build
to run
-10-
www.camunda.com
The Dark Age - Maintenance Problems
• Upgrading Jenkins or any plugin
• Supporting a new Database vendor / version
• Supporting a new App Server version
• Creating jobs for new Camunda BPM version
• Disaster recovery
-11-
www.camunda.com
The Dark Age - The Other Problems
• Slow feedback cycle for developers
• Developers cannot reproduce CI environments
• QA engineers use and maintain separate bloated test build
setup
-12-
www.camunda.com
So …
-13-
www.camunda.com
How we solved our Problem
The Promising Present
-14-
www.camunda.com
The Present - What we achieved
• Configuration & Infrastructure as Code
• Isolated and Reproducible Jobs
• Scalable CI Infrastructure
-15-
www.camunda.com
The Present - Infrastructure as Code
1. Every configuration is checked into SCM
2. Every application/test runs in a Docker Container
3. Every Docker image is build automatically
-16-
www.camunda.com
The Present - Infrastructure as Code
1. Every Configuration is checked into SCM
• Docker for
• Applications
• Test Environments
• JobDSL for
• Jenkins Jobs
-17-
www.camunda.com
The Present - Example - JobDSL
package ci.community
import generator.JobGenerator
import util.*
Server.COMMUNITY().each { server ->
new JobGenerator(
name: "${Version.CURRENT}-webapp-IT-${server}",
pollScmSchedule: null,
pollRemoteJob: RemoteJobHelper.WEBAPP_DISTRO,
rootPom: 'qa/pom.xml',
goals: "clean verify -P${server},h2,webapps-integration",
envVariables: ['DISPLAY': ':0'],
jdkVersion: Tool.JDK_FOR_SERVER(server),
label: Label.CHROME
).build(this)
}
-18-
www.camunda.com
The Present - Infrastructure as Code
2. Every application/test runs in a Docker Container
Images:
• Application (Jenkins, Nexus …)
• Test Env. Images (DB + SSH)
• Build Env. Images
• DIND, QEMU + Packer.io
-19-
www.camunda.com
The Present - Example - DB2
FROM ci1.camunda.loc:5000/camunda-ci-base-centos
ENV DB2_VERSION=10.5 DB_USERNAME=camunda DB_PASSWORD=camunda DB_NAME=engine DB2_HOME=/opt/ibm/db2/V10.5
DB_DIR=/db2_databases
RUN save-env.sh DB2_VERSION DB_USERNAME DB_PASSWORD DB_NAME DB2_HOME
RUN install-packages.sh libaio
ADD etc/db2/db2expc.rsp /tmp/db2expc.rsp
RUN curl https://nginx.service.consul/ci/binaries/ibm/db2/v10.5_linuxx64_expc.tar.gz > /tmp/db2.tar.gz && 
mkdir -p /tmp/db2 && tar xzf /tmp/db2.tar.gz -C /tmp/db2 --strip 1 && 
cd /tmp/db2 && ./db2setup -r /tmp/db2expc.rsp && rm -rf /tmp/db2.tar.gz /tmp/db2 && 
mkdir ${DB_DIR} && chown db2inst1:db2iadm1 ${DB_DIR} && chmod 775 /${DB_DIR} && 
su -l db2inst1 -c "mkdir ${DB_DIR}/engine"
ADD bin/* /usr/local/bin/
ADD etc/supervisor.d/db2.conf.ini /etc/supervisord.d/
EXPOSE 50000
-20-
www.camunda.com
The Present - Infrastructure as Code
3. Every Docker Container is build automatically
• Own Jenkins for Docker/KVM Images
• KVM Images build in Docker Container
with Packer + QEMU
• KVM Images bundled in Docker Image
-21-
www.camunda.com
The Present - Example - SQL Server 2012
FROM ci1.camunda.loc:5000/ubuntu:14.04.2
ENV IMAGE_NAME=sqlserver-2012.qcow2 IMAGE_DIR=/qemu/ RUN_DIR=/qemu/run
RUN mkdir -p $IMAGE_DIR $RUN_DIR
VOLUME $RUN_DIR
ADD bin/* /usr/local/bin/
RUN apt-get update && 
apt-get -y install --no-install-recommends curl qemu-system-x86 qemu-utils && 
apt-get clean && rm -rf /var/cache/* /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN curl https://nginx.service.consul/ci/binaries/microsoft/${IMAGE_NAME} > ${IMAGE_DIR}
/${IMAGE_NAME}
EXPOSE 22 1433 5900
CMD ["/usr/local/bin/start-qemu.sh"]
-22-
www.camunda.com
The Present - The Current Flow
-23-
camunda-ci
camunda
Camunda BPM
Platform
Infrastructure
Jenkins
CI Jenkins
www.camunda.com
The Present - Isolation
One Jenkins per Concern:
• CI
• Release
• Infrastructure
• Community and other Projects
• Marketing
-24-
www.camunda.com
The Present - Isolation & Reproducibility
• Every Jobs runs in an One-Shot Docker Container
• No Interference between Jobs
• The Database Settings are well documented
• Every Docker Image is stored in a private registry
• Developers/QA can use the Docker Images for local testing
-25-
www.camunda.com
The Present - Scalability
• Jenkins uses Docker-Plugin with one Docker Cloud running
on Docker Swarm
• Docker images are added through Groovy scripting
• Running on Commodity Hardware
• 3 Infrastructure Hosts (Jenkins, Nexus, …)
• 4 Docker Hosts as 1 Swarm
-26-
www.camunda.com
The Present - Example - Jenkins Docker Cloud
images.each { imageName, imageValues ->
imageValues.versions.each { version ->
def templateBase = createLinuxTemplateBase(image, privileged)
def image = "${registryUrl}/${imageName}:${version}".toString()
def label = getLabel(imageValues.label, version)
def privileged = imageValues.privileged? imageValues.privileged : false
def remoteFs = '/home/camunda'
def instanceCap = linuxInstanceCap
def template = new DockerTemplate(templateBase, label, remoteFs, remoteFs,
instanceCap, Node.Mode.EXCLUSIVE, 1,
createDockerSshLauncher(),
createRetentionStrategy(), true,
DockerImagePullStrategy.PULL_ALWAYS)
dockerTemplates << template
}
}
-27-
/var/lib/jenkins/init.groovy.d/dockercloud.groovy
www.camunda.com
The Present - Scalability
-28-
www.camunda.com
The Present - CI Cluster
-29-
Docker
Consul
Swarm
Nexus
Registry
ci1
Docker
Docker
Docker
Consul
Swarm
4x
Jenkins
ci2
Docker
Docker
Consul
Swarm
Nginx
ci3
Docker
ci4-7
BIND
Infrastructure Build Slaves
C-Agent
S-Agent
www.camunda.com-30-
Jenkins Demo
www.camunda.com
The Present - Advantages
• Easy to add new Databases/Test Environments
• New Release = New Branch of JobDSL Repository
• Fully parallelized Job Execution
• Accountable Configuration History
• Testable Infrastructure
• Minimize Administration Overhead
-31-
www.camunda.com
The Present - Conclusion
• 2 People + 3 Months of Work
• A fully scalable, isolated and reproducible CI Infrastructure
• Faster Feedback
• Happy Developers and Product Owner
-32-
www.camunda.com
Some advice from us to you
Lessons learned
-33-
www.camunda.com
Lessons learned - Architecture
• Automate as much as you can
• Jenkins config
• Jobs config
• Environment creation
• Design to scale to support the business agility
-34-
www.camunda.com
Lessons learned - Testing
Test everything:
• Jenkins configuration
• required plugin features
• Job generation
• Docker images
• Scalability
• Disaster recovery
-35-
www.camunda.com
Lessons learned - Job DSL
• Unit-test the job generation
• Write JobGenerator classes to abstract the common build
logic of most jobs out of the box
• Use XML diffing to compare previously generated jobs with
new ones
-36-
www.camunda.com
Lessons learned - Docker
-37-
https://github.com/rancherio/vm/
www.camunda.com
Lessons learned - Plugins
• Pin your plugin versions
• Be prepared to contribute to plugin development or
maintain a branch yourself
• Choose the right plugin for the job
Our Top 3 plugins:
JobDSL, Docker-Plugin, Build-Failure-Analyzer
-38-
www.camunda.com
Lessons learned - Control
• Control as much as possible
• Third party binaries vs package manager
• explicit versions
• own mirrors for important packages
-39-
www.camunda.com
What comes next
The Bright Future
-40-
www.camunda.com
The Future
-41-
• Public Community Jenkins
• Internal Webapp for Developers and QA to start
Environments (Dattln)
• Continuous Deployment for Infrastructure Container
• Back to the Datacenter
• Centralized Logging and Monitoring (ELK)
• Secret management
www.camunda.com-42-
Logstash Plugin
www.camunda.com-43-
www.camunda.com-44-
www.camunda.com
Resources
• Camunda CI repository
https://github.com/camunda-ci
• Job DSL gradle example
https://github.com/sheehan/job-dsl-gradle-example
• Camunda BPM Docker image
https://registry.hub.docker.com/u/camunda/camunda-bpm-platform/
-45-
www.camunda.com
We Are Hiring
Come Join Us
@camundaBPM
http://camunda.com/jobs
-46-

More Related Content

What's hot

Camunda for Modern Web Applications by Corinna Cohn and Sowmya Raghunathan
Camunda for Modern Web Applications by Corinna Cohn and Sowmya RaghunathanCamunda for Modern Web Applications by Corinna Cohn and Sowmya Raghunathan
Camunda for Modern Web Applications by Corinna Cohn and Sowmya Raghunathan
camunda services GmbH
 
Camunda in Action
Camunda in ActionCamunda in Action
Camunda in Action
Marvin Kruse
 
CamundaCon 2018: Custom Batch Extension (Holisticon)
CamundaCon 2018: Custom Batch Extension (Holisticon)CamundaCon 2018: Custom Batch Extension (Holisticon)
CamundaCon 2018: Custom Batch Extension (Holisticon)
camunda services GmbH
 
Camunda BPM 7.2: Connectors, Data, Scripting (English)
Camunda BPM 7.2: Connectors, Data, Scripting (English)Camunda BPM 7.2: Connectors, Data, Scripting (English)
Camunda BPM 7.2: Connectors, Data, Scripting (English)
camunda services GmbH
 
Final pre power_group_executing bpm processes with Camunda
Final pre power_group_executing bpm processes with CamundaFinal pre power_group_executing bpm processes with Camunda
Final pre power_group_executing bpm processes with Camunda
Viet Nguyen
 
CamundaCon 2018: Using Zeebe with Spring Boot and Apache Camel (Holisticon)
CamundaCon 2018: Using Zeebe with Spring Boot and Apache Camel (Holisticon)CamundaCon 2018: Using Zeebe with Spring Boot and Apache Camel (Holisticon)
CamundaCon 2018: Using Zeebe with Spring Boot and Apache Camel (Holisticon)
camunda services GmbH
 
[Webinar] Announcing the Camunda Cloud Public Beta - February 2020
[Webinar] Announcing the Camunda Cloud Public Beta - February 2020[Webinar] Announcing the Camunda Cloud Public Beta - February 2020
[Webinar] Announcing the Camunda Cloud Public Beta - February 2020
camunda services GmbH
 
Camunda BPM 7.12 Release Webinar
Camunda BPM 7.12 Release WebinarCamunda BPM 7.12 Release Webinar
Camunda BPM 7.12 Release Webinar
camunda services GmbH
 
Camunda BPM 7.13 Webinar
Camunda BPM 7.13 WebinarCamunda BPM 7.13 Webinar
Camunda BPM 7.13 Webinar
camunda services GmbH
 
BPMN and DMN for Processing Business Data with Camunda
BPMN and DMN for Processing Business Data with CamundaBPMN and DMN for Processing Business Data with Camunda
BPMN and DMN for Processing Business Data with Camunda
André Borgonovo
 
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
camunda services GmbH
 
community day 2013 - Consulting talks about camunda BPM Best Practices
community day 2013 - Consulting talks about camunda BPM Best Practicescommunity day 2013 - Consulting talks about camunda BPM Best Practices
community day 2013 - Consulting talks about camunda BPM Best Practicescamunda services GmbH
 
Tips on how to build Camunda Run for production
Tips on how to build Camunda Run for productionTips on how to build Camunda Run for production
Tips on how to build Camunda Run for production
camunda services GmbH
 
Camunda Product Update – The present and the future of Process Automation
Camunda Product Update – The present and the future of Process AutomationCamunda Product Update – The present and the future of Process Automation
Camunda Product Update – The present and the future of Process Automation
camunda services GmbH
 
CamundaCon 2021 Keynote :From Human Workflow to High-Throughput Process Autom...
CamundaCon 2021 Keynote :From Human Workflow to High-Throughput Process Autom...CamundaCon 2021 Keynote :From Human Workflow to High-Throughput Process Autom...
CamundaCon 2021 Keynote :From Human Workflow to High-Throughput Process Autom...
Bernd Ruecker
 
DMN "on Steroids" bei Kühne + Nagel, Torben Rasche & Stefan Becke
DMN "on Steroids" bei Kühne + Nagel, Torben Rasche & Stefan BeckeDMN "on Steroids" bei Kühne + Nagel, Torben Rasche & Stefan Becke
DMN "on Steroids" bei Kühne + Nagel, Torben Rasche & Stefan Becke
camunda services GmbH
 
community day 2013 - Daniel talks about camunda BPM technical vision
community day 2013 - Daniel talks about camunda BPM technical visioncommunity day 2013 - Daniel talks about camunda BPM technical vision
community day 2013 - Daniel talks about camunda BPM technical visioncamunda services GmbH
 
JavaBin Oslo: Open source workflow and rule management with Camunda
JavaBin Oslo: Open source workflow and rule management with CamundaJavaBin Oslo: Open source workflow and rule management with Camunda
JavaBin Oslo: Open source workflow and rule management with Camunda
Bernd Ruecker
 

What's hot (20)

Camunda for Modern Web Applications by Corinna Cohn and Sowmya Raghunathan
Camunda for Modern Web Applications by Corinna Cohn and Sowmya RaghunathanCamunda for Modern Web Applications by Corinna Cohn and Sowmya Raghunathan
Camunda for Modern Web Applications by Corinna Cohn and Sowmya Raghunathan
 
Camunda in Action
Camunda in ActionCamunda in Action
Camunda in Action
 
Webinar: BPMN with camunda
Webinar: BPMN with camundaWebinar: BPMN with camunda
Webinar: BPMN with camunda
 
CamundaCon 2018: Custom Batch Extension (Holisticon)
CamundaCon 2018: Custom Batch Extension (Holisticon)CamundaCon 2018: Custom Batch Extension (Holisticon)
CamundaCon 2018: Custom Batch Extension (Holisticon)
 
Camunda BPM 7.2: Connectors, Data, Scripting (English)
Camunda BPM 7.2: Connectors, Data, Scripting (English)Camunda BPM 7.2: Connectors, Data, Scripting (English)
Camunda BPM 7.2: Connectors, Data, Scripting (English)
 
Final pre power_group_executing bpm processes with Camunda
Final pre power_group_executing bpm processes with CamundaFinal pre power_group_executing bpm processes with Camunda
Final pre power_group_executing bpm processes with Camunda
 
Camunda bpm 7.0-release-webinar-en
Camunda bpm 7.0-release-webinar-enCamunda bpm 7.0-release-webinar-en
Camunda bpm 7.0-release-webinar-en
 
CamundaCon 2018: Using Zeebe with Spring Boot and Apache Camel (Holisticon)
CamundaCon 2018: Using Zeebe with Spring Boot and Apache Camel (Holisticon)CamundaCon 2018: Using Zeebe with Spring Boot and Apache Camel (Holisticon)
CamundaCon 2018: Using Zeebe with Spring Boot and Apache Camel (Holisticon)
 
[Webinar] Announcing the Camunda Cloud Public Beta - February 2020
[Webinar] Announcing the Camunda Cloud Public Beta - February 2020[Webinar] Announcing the Camunda Cloud Public Beta - February 2020
[Webinar] Announcing the Camunda Cloud Public Beta - February 2020
 
Camunda BPM 7.12 Release Webinar
Camunda BPM 7.12 Release WebinarCamunda BPM 7.12 Release Webinar
Camunda BPM 7.12 Release Webinar
 
Camunda BPM 7.13 Webinar
Camunda BPM 7.13 WebinarCamunda BPM 7.13 Webinar
Camunda BPM 7.13 Webinar
 
BPMN and DMN for Processing Business Data with Camunda
BPMN and DMN for Processing Business Data with CamundaBPMN and DMN for Processing Business Data with Camunda
BPMN and DMN for Processing Business Data with Camunda
 
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
 
community day 2013 - Consulting talks about camunda BPM Best Practices
community day 2013 - Consulting talks about camunda BPM Best Practicescommunity day 2013 - Consulting talks about camunda BPM Best Practices
community day 2013 - Consulting talks about camunda BPM Best Practices
 
Tips on how to build Camunda Run for production
Tips on how to build Camunda Run for productionTips on how to build Camunda Run for production
Tips on how to build Camunda Run for production
 
Camunda Product Update – The present and the future of Process Automation
Camunda Product Update – The present and the future of Process AutomationCamunda Product Update – The present and the future of Process Automation
Camunda Product Update – The present and the future of Process Automation
 
CamundaCon 2021 Keynote :From Human Workflow to High-Throughput Process Autom...
CamundaCon 2021 Keynote :From Human Workflow to High-Throughput Process Autom...CamundaCon 2021 Keynote :From Human Workflow to High-Throughput Process Autom...
CamundaCon 2021 Keynote :From Human Workflow to High-Throughput Process Autom...
 
DMN "on Steroids" bei Kühne + Nagel, Torben Rasche & Stefan Becke
DMN "on Steroids" bei Kühne + Nagel, Torben Rasche & Stefan BeckeDMN "on Steroids" bei Kühne + Nagel, Torben Rasche & Stefan Becke
DMN "on Steroids" bei Kühne + Nagel, Torben Rasche & Stefan Becke
 
community day 2013 - Daniel talks about camunda BPM technical vision
community day 2013 - Daniel talks about camunda BPM technical visioncommunity day 2013 - Daniel talks about camunda BPM technical vision
community day 2013 - Daniel talks about camunda BPM technical vision
 
JavaBin Oslo: Open source workflow and rule management with Camunda
JavaBin Oslo: Open source workflow and rule management with CamundaJavaBin Oslo: Open source workflow and rule management with Camunda
JavaBin Oslo: Open source workflow and rule management with Camunda
 

Viewers also liked

Camunda BPM Platform and Angular.js
Camunda BPM Platform and Angular.jsCamunda BPM Platform and Angular.js
Camunda BPM Platform and Angular.js
camunda services GmbH
 
Camunda BPM in Distributed Applications - Allianz Indonesia
Camunda BPM in Distributed Applications - Allianz IndonesiaCamunda BPM in Distributed Applications - Allianz Indonesia
Camunda BPM in Distributed Applications - Allianz Indonesia
camunda services GmbH
 
Camunda BPM 7.4 - What can you expect from the next release?
Camunda BPM 7.4 - What can you expect from the next release?Camunda BPM 7.4 - What can you expect from the next release?
Camunda BPM 7.4 - What can you expect from the next release?
camunda services GmbH
 
Camunda Docker
Camunda DockerCamunda Docker
Camunda Docker
camunda services GmbH
 
Virtual machines and containers
Virtual machines and containersVirtual machines and containers
Virtual machines and containers
Patrick Pierson
 
OSGI module
OSGI moduleOSGI module
Camunda Community Day_Wiener BPM Offensive
Camunda Community Day_Wiener BPM OffensiveCamunda Community Day_Wiener BPM Offensive
Camunda Community Day_Wiener BPM Offensive
camunda services GmbH
 
Erfahrungsaustausch – Wo ist ACM heute?
Erfahrungsaustausch – Wo ist ACM heute?Erfahrungsaustausch – Wo ist ACM heute?
Erfahrungsaustausch – Wo ist ACM heute?
camunda services GmbH
 
Camunda 7 4 Release Webinar_EN
Camunda 7 4 Release Webinar_ENCamunda 7 4 Release Webinar_EN
Camunda 7 4 Release Webinar_EN
camunda services GmbH
 
Discussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machinesDiscussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machines
Steven Grzbielok
 
Process Monitoring mit Camunda
Process Monitoring mit Camunda Process Monitoring mit Camunda
Process Monitoring mit Camunda
camunda services GmbH
 
Camunda 7 4 Release Webinar
Camunda 7 4 Release WebinarCamunda 7 4 Release Webinar
Camunda 7 4 Release Webinar
camunda services GmbH
 
Camunda BPM in DACH
Camunda BPM in DACHCamunda BPM in DACH
Camunda BPM in DACH
camunda services GmbH
 
DMN in Camunda BPM 7.6
DMN in Camunda BPM 7.6DMN in Camunda BPM 7.6
DMN in Camunda BPM 7.6
camunda services GmbH
 
Sneak Preview: Camunda Optimize
Sneak Preview: Camunda OptimizeSneak Preview: Camunda Optimize
Sneak Preview: Camunda Optimize
camunda services GmbH
 
CMMN in Camunda BPM 7.6
CMMN in Camunda BPM 7.6CMMN in Camunda BPM 7.6
CMMN in Camunda BPM 7.6
camunda services GmbH
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
DuckDuckGo
 
Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...
Jérôme Petazzoni
 
Performance comparison between Linux Containers and Virtual Machines
Performance comparison between Linux Containers and Virtual MachinesPerformance comparison between Linux Containers and Virtual Machines
Performance comparison between Linux Containers and Virtual Machines
Soheila Dehghanzadeh
 
Camunda BPM at bpmNEXT 2016
Camunda BPM at bpmNEXT 2016Camunda BPM at bpmNEXT 2016
Camunda BPM at bpmNEXT 2016
camunda services GmbH
 

Viewers also liked (20)

Camunda BPM Platform and Angular.js
Camunda BPM Platform and Angular.jsCamunda BPM Platform and Angular.js
Camunda BPM Platform and Angular.js
 
Camunda BPM in Distributed Applications - Allianz Indonesia
Camunda BPM in Distributed Applications - Allianz IndonesiaCamunda BPM in Distributed Applications - Allianz Indonesia
Camunda BPM in Distributed Applications - Allianz Indonesia
 
Camunda BPM 7.4 - What can you expect from the next release?
Camunda BPM 7.4 - What can you expect from the next release?Camunda BPM 7.4 - What can you expect from the next release?
Camunda BPM 7.4 - What can you expect from the next release?
 
Camunda Docker
Camunda DockerCamunda Docker
Camunda Docker
 
Virtual machines and containers
Virtual machines and containersVirtual machines and containers
Virtual machines and containers
 
OSGI module
OSGI moduleOSGI module
OSGI module
 
Camunda Community Day_Wiener BPM Offensive
Camunda Community Day_Wiener BPM OffensiveCamunda Community Day_Wiener BPM Offensive
Camunda Community Day_Wiener BPM Offensive
 
Erfahrungsaustausch – Wo ist ACM heute?
Erfahrungsaustausch – Wo ist ACM heute?Erfahrungsaustausch – Wo ist ACM heute?
Erfahrungsaustausch – Wo ist ACM heute?
 
Camunda 7 4 Release Webinar_EN
Camunda 7 4 Release Webinar_ENCamunda 7 4 Release Webinar_EN
Camunda 7 4 Release Webinar_EN
 
Discussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machinesDiscussing the difference between docker dontainers and virtual machines
Discussing the difference between docker dontainers and virtual machines
 
Process Monitoring mit Camunda
Process Monitoring mit Camunda Process Monitoring mit Camunda
Process Monitoring mit Camunda
 
Camunda 7 4 Release Webinar
Camunda 7 4 Release WebinarCamunda 7 4 Release Webinar
Camunda 7 4 Release Webinar
 
Camunda BPM in DACH
Camunda BPM in DACHCamunda BPM in DACH
Camunda BPM in DACH
 
DMN in Camunda BPM 7.6
DMN in Camunda BPM 7.6DMN in Camunda BPM 7.6
DMN in Camunda BPM 7.6
 
Sneak Preview: Camunda Optimize
Sneak Preview: Camunda OptimizeSneak Preview: Camunda Optimize
Sneak Preview: Camunda Optimize
 
CMMN in Camunda BPM 7.6
CMMN in Camunda BPM 7.6CMMN in Camunda BPM 7.6
CMMN in Camunda BPM 7.6
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...
 
Performance comparison between Linux Containers and Virtual Machines
Performance comparison between Linux Containers and Virtual MachinesPerformance comparison between Linux Containers and Virtual Machines
Performance comparison between Linux Containers and Virtual Machines
 
Camunda BPM at bpmNEXT 2016
Camunda BPM at bpmNEXT 2016Camunda BPM at bpmNEXT 2016
Camunda BPM at bpmNEXT 2016
 

Similar to bed-con 2015 - From Virtual Machines to Containers

JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
CloudBees
 
From Virtual Machines to Containers
From Virtual Machines to ContainersFrom Virtual Machines to Containers
From Virtual Machines to Containers
camunda services GmbH
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
NETWAYS
 
Automated CI with AEM Cloud service
Automated CI with AEM Cloud serviceAutomated CI with AEM Cloud service
Automated CI with AEM Cloud service
Jakub Wadolowski
 
Managing your AWS infrastructure at scale
Managing your AWS infrastructure at scaleManaging your AWS infrastructure at scale
Managing your AWS infrastructure at scale
David Mat
 
OpenCms Days 2015 Workflow using Docker and Jenkins
OpenCms Days 2015 Workflow using Docker and JenkinsOpenCms Days 2015 Workflow using Docker and Jenkins
OpenCms Days 2015 Workflow using Docker and Jenkins
Alkacon Software GmbH & Co. KG
 
Advanced Code Flow, Notes From the Field
Advanced Code Flow, Notes From the FieldAdvanced Code Flow, Notes From the Field
Advanced Code Flow, Notes From the Field
Ariel Moskovich
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development Pipeline
Docker, Inc.
 
Francisco Javier Ramirez Urea - Hopla - OSL19
Francisco Javier Ramirez Urea - Hopla - OSL19Francisco Javier Ramirez Urea - Hopla - OSL19
Francisco Javier Ramirez Urea - Hopla - OSL19
marketingsyone
 
Automating That "Other" OS
Automating That "Other" OSAutomating That "Other" OS
Automating That "Other" OS
Julian Dunn
 
Docker HK Meetup - 201707
Docker HK Meetup - 201707Docker HK Meetup - 201707
Docker HK Meetup - 201707
Clarence Ho
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
GlobalLogic Ukraine
 
Microservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesMicroservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing Microservices
QAware GmbH
 
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
COMAQA.BY
 
KubeCon 2017: Kubernetes from Dev to Prod
KubeCon 2017: Kubernetes from Dev to ProdKubeCon 2017: Kubernetes from Dev to Prod
KubeCon 2017: Kubernetes from Dev to Prod
Subhas Dandapani
 
Drinking our own champagne - z Systems Development and Test Environment V10
Drinking our own champagne - z Systems Development and Test Environment V10Drinking our own champagne - z Systems Development and Test Environment V10
Drinking our own champagne - z Systems Development and Test Environment V10
DevOps for Enterprise Systems
 
CI/CD patterns for cloud native apps
CI/CD patterns for  cloud native appsCI/CD patterns for  cloud native apps
CI/CD patterns for cloud native apps
Helder Klemp
 
Migrating deployment processes and Continuous Integration at SAP SE
Migrating deployment processes and Continuous Integration at SAP SEMigrating deployment processes and Continuous Integration at SAP SE
Migrating deployment processes and Continuous Integration at SAP SE
B1 Systems GmbH
 
DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...
DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...
DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...
Docker, Inc.
 

Similar to bed-con 2015 - From Virtual Machines to Containers (20)

JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
 
From Virtual Machines to Containers
From Virtual Machines to ContainersFrom Virtual Machines to Containers
From Virtual Machines to Containers
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
 
Automated CI with AEM Cloud service
Automated CI with AEM Cloud serviceAutomated CI with AEM Cloud service
Automated CI with AEM Cloud service
 
Managing your AWS infrastructure at scale
Managing your AWS infrastructure at scaleManaging your AWS infrastructure at scale
Managing your AWS infrastructure at scale
 
OpenCms Days 2015 Workflow using Docker and Jenkins
OpenCms Days 2015 Workflow using Docker and JenkinsOpenCms Days 2015 Workflow using Docker and Jenkins
OpenCms Days 2015 Workflow using Docker and Jenkins
 
Advanced Code Flow, Notes From the Field
Advanced Code Flow, Notes From the FieldAdvanced Code Flow, Notes From the Field
Advanced Code Flow, Notes From the Field
 
DCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development PipelineDCEU 18: Building Your Development Pipeline
DCEU 18: Building Your Development Pipeline
 
The Best of MMS 2013
The Best of MMS 2013The Best of MMS 2013
The Best of MMS 2013
 
Francisco Javier Ramirez Urea - Hopla - OSL19
Francisco Javier Ramirez Urea - Hopla - OSL19Francisco Javier Ramirez Urea - Hopla - OSL19
Francisco Javier Ramirez Urea - Hopla - OSL19
 
Automating That "Other" OS
Automating That "Other" OSAutomating That "Other" OS
Automating That "Other" OS
 
Docker HK Meetup - 201707
Docker HK Meetup - 201707Docker HK Meetup - 201707
Docker HK Meetup - 201707
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
Microservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesMicroservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing Microservices
 
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
 
KubeCon 2017: Kubernetes from Dev to Prod
KubeCon 2017: Kubernetes from Dev to ProdKubeCon 2017: Kubernetes from Dev to Prod
KubeCon 2017: Kubernetes from Dev to Prod
 
Drinking our own champagne - z Systems Development and Test Environment V10
Drinking our own champagne - z Systems Development and Test Environment V10Drinking our own champagne - z Systems Development and Test Environment V10
Drinking our own champagne - z Systems Development and Test Environment V10
 
CI/CD patterns for cloud native apps
CI/CD patterns for  cloud native appsCI/CD patterns for  cloud native apps
CI/CD patterns for cloud native apps
 
Migrating deployment processes and Continuous Integration at SAP SE
Migrating deployment processes and Continuous Integration at SAP SEMigrating deployment processes and Continuous Integration at SAP SE
Migrating deployment processes and Continuous Integration at SAP SE
 
DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...
DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...
DockerCon EU 2015: Docker and PCI-DSS - Lessons learned in a security sensiti...
 

More from camunda services GmbH

Using Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through OperatorsUsing Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through Operators
camunda services GmbH
 
Predictive Process Monitoring in Camunda
Predictive Process Monitoring in CamundaPredictive Process Monitoring in Camunda
Predictive Process Monitoring in Camunda
camunda services GmbH
 
Process Driven Customer Interaction
Process Driven Customer InteractionProcess Driven Customer Interaction
Process Driven Customer Interaction
camunda services GmbH
 
Exploring Automation in Government
Exploring Automation in GovernmentExploring Automation in Government
Exploring Automation in Government
camunda services GmbH
 
The Pulse of Process Automation
The Pulse of Process AutomationThe Pulse of Process Automation
The Pulse of Process Automation
camunda services GmbH
 
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in UnternehmenBlitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
camunda services GmbH
 
Extending human workflow preparing people and processes for the digital era w...
Extending human workflow preparing people and processes for the digital era w...Extending human workflow preparing people and processes for the digital era w...
Extending human workflow preparing people and processes for the digital era w...
camunda services GmbH
 
[Webinar] Camunda Optimize Release 3.0
[Webinar] Camunda Optimize Release 3.0[Webinar] Camunda Optimize Release 3.0
[Webinar] Camunda Optimize Release 3.0
camunda services GmbH
 
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
camunda services GmbH
 
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
camunda services GmbH
 
Process Automation Forum Zurich, finnova AG Bankware
Process Automation Forum Zurich, finnova AG BankwareProcess Automation Forum Zurich, finnova AG Bankware
Process Automation Forum Zurich, finnova AG Bankware
camunda services GmbH
 
Process Automation Forum Munich, Swiss Life
Process Automation Forum Munich, Swiss LifeProcess Automation Forum Munich, Swiss Life
Process Automation Forum Munich, Swiss Life
camunda services GmbH
 
Process Automation Forum Vienna, A1 & J-IT
Process Automation Forum Vienna, A1 & J-ITProcess Automation Forum Vienna, A1 & J-IT
Process Automation Forum Vienna, A1 & J-IT
camunda services GmbH
 
Process Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, RaiffeisenProcess Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, Raiffeisen
camunda services GmbH
 
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AGProcess Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
camunda services GmbH
 
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
camunda services GmbH
 
Zeebe + Operate January 2020 Update
Zeebe + Operate January 2020 UpdateZeebe + Operate January 2020 Update
Zeebe + Operate January 2020 Update
camunda services GmbH
 
Optimize 2.7 Release Webinar
Optimize 2.7 Release WebinarOptimize 2.7 Release Webinar
Optimize 2.7 Release Webinar
camunda services GmbH
 
[Webinar] Transforming Telcos with Digital Process Automation (December 10, 2...
[Webinar] Transforming Telcos with Digital Process Automation (December 10, 2...[Webinar] Transforming Telcos with Digital Process Automation (December 10, 2...
[Webinar] Transforming Telcos with Digital Process Automation (December 10, 2...
camunda services GmbH
 
I want my process back! #microservices #serverless
I want my process back! #microservices #serverlessI want my process back! #microservices #serverless
I want my process back! #microservices #serverless
camunda services GmbH
 

More from camunda services GmbH (20)

Using Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through OperatorsUsing Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through Operators
 
Predictive Process Monitoring in Camunda
Predictive Process Monitoring in CamundaPredictive Process Monitoring in Camunda
Predictive Process Monitoring in Camunda
 
Process Driven Customer Interaction
Process Driven Customer InteractionProcess Driven Customer Interaction
Process Driven Customer Interaction
 
Exploring Automation in Government
Exploring Automation in GovernmentExploring Automation in Government
Exploring Automation in Government
 
The Pulse of Process Automation
The Pulse of Process AutomationThe Pulse of Process Automation
The Pulse of Process Automation
 
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in UnternehmenBlitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
 
Extending human workflow preparing people and processes for the digital era w...
Extending human workflow preparing people and processes for the digital era w...Extending human workflow preparing people and processes for the digital era w...
Extending human workflow preparing people and processes for the digital era w...
 
[Webinar] Camunda Optimize Release 3.0
[Webinar] Camunda Optimize Release 3.0[Webinar] Camunda Optimize Release 3.0
[Webinar] Camunda Optimize Release 3.0
 
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
 
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
 
Process Automation Forum Zurich, finnova AG Bankware
Process Automation Forum Zurich, finnova AG BankwareProcess Automation Forum Zurich, finnova AG Bankware
Process Automation Forum Zurich, finnova AG Bankware
 
Process Automation Forum Munich, Swiss Life
Process Automation Forum Munich, Swiss LifeProcess Automation Forum Munich, Swiss Life
Process Automation Forum Munich, Swiss Life
 
Process Automation Forum Vienna, A1 & J-IT
Process Automation Forum Vienna, A1 & J-ITProcess Automation Forum Vienna, A1 & J-IT
Process Automation Forum Vienna, A1 & J-IT
 
Process Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, RaiffeisenProcess Automation Forum Vienna, Raiffeisen
Process Automation Forum Vienna, Raiffeisen
 
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AGProcess Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
 
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
 
Zeebe + Operate January 2020 Update
Zeebe + Operate January 2020 UpdateZeebe + Operate January 2020 Update
Zeebe + Operate January 2020 Update
 
Optimize 2.7 Release Webinar
Optimize 2.7 Release WebinarOptimize 2.7 Release Webinar
Optimize 2.7 Release Webinar
 
[Webinar] Transforming Telcos with Digital Process Automation (December 10, 2...
[Webinar] Transforming Telcos with Digital Process Automation (December 10, 2...[Webinar] Transforming Telcos with Digital Process Automation (December 10, 2...
[Webinar] Transforming Telcos with Digital Process Automation (December 10, 2...
 
I want my process back! #microservices #serverless
I want my process back! #microservices #serverlessI want my process back! #microservices #serverless
I want my process back! #microservices #serverless
 

Recently uploaded

Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Sanjeev Rampal
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
Rogerio Filho
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Brad Spiegel Macon GA
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
eutxy
 
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
JungkooksNonexistent
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
nirahealhty
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
3ipehhoa
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
ufdana
 
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptxInternet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
VivekSinghShekhawat2
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
natyesu
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
Arif0071
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
Gal Baras
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
JeyaPerumal1
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
keoku
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
laozhuseo02
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
3ipehhoa
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
3ipehhoa
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
laozhuseo02
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
Javier Lasa
 

Recently uploaded (20)

Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
 
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
 
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptxInternet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
 

bed-con 2015 - From Virtual Machines to Containers

  • 2. www.camunda.com Agenda • Introduction • The Dark Age • The Promising Present • Lessons Learned • The Bright Future -2-
  • 3. www.camunda.com Introduction - About Camunda -3- 2014201320122011201020092008 Incorporation Camunda Services GmbH Berlin, Germany Incorporation Camunda Inc. San Francisco, US BPM Consulting BPM Software Vendor ● 30 Fulltime Employees ● No external funding ● Avg. 50% Turnover Growth per Year Introduced Hudson Adapted Jenkins
  • 5. www.camunda.com Introduction - What is Camunda BPM • Camunda BPM is an open source platform for workflow and business process automation • Integrates with: • 7 Application Server (11 different versions) • 6 Databases (17 different versions) • 1 Development & 4 Maintained Versions -5-
  • 6. www.camunda.com Introduction - Why CI is Important • Every Camunda BPM version is tested against: • 187 combinations of DBs and App Servers • 11 JDKs • ~ 400 Jobs per version • Bi-Annual release of a new Camunda BPM version • Support for Enterprise Customer (24/7 + Fix Time) -6-
  • 7. www.camunda.com Why our CI had to change The Dark Age -7-
  • 8. www.camunda.com The Dark Age - The Numbers • 1 Jenkins Master with lots of plugins • 8 Jenkins Slaves VMs • ~1000 Jobs total configured / manually managed: • 4 Camunda Versions • Community Projects • Websites • Maintenance -8-
  • 9. www.camunda.com The Dark Age - Isolation Problem • Unit and Integration Tests need a database/application server • Only 1 Instance per Database • All Jobs use the same Databases • Every half-year a new Version (~400 Jobs) using same Databases -9-
  • 10. www.camunda.com The Dark Age - No Scalability • Total Executors: 12 • 1 Jenkins -> 4 Executors • 8 static heterogenous slave VMs, each with 1 Executor • Jobs tied to slaves through labels • Slaves “restrict” database access by allowing no other build to run -10-
  • 11. www.camunda.com The Dark Age - Maintenance Problems • Upgrading Jenkins or any plugin • Supporting a new Database vendor / version • Supporting a new App Server version • Creating jobs for new Camunda BPM version • Disaster recovery -11-
  • 12. www.camunda.com The Dark Age - The Other Problems • Slow feedback cycle for developers • Developers cannot reproduce CI environments • QA engineers use and maintain separate bloated test build setup -12-
  • 14. www.camunda.com How we solved our Problem The Promising Present -14-
  • 15. www.camunda.com The Present - What we achieved • Configuration & Infrastructure as Code • Isolated and Reproducible Jobs • Scalable CI Infrastructure -15-
  • 16. www.camunda.com The Present - Infrastructure as Code 1. Every configuration is checked into SCM 2. Every application/test runs in a Docker Container 3. Every Docker image is build automatically -16-
  • 17. www.camunda.com The Present - Infrastructure as Code 1. Every Configuration is checked into SCM • Docker for • Applications • Test Environments • JobDSL for • Jenkins Jobs -17-
  • 18. www.camunda.com The Present - Example - JobDSL package ci.community import generator.JobGenerator import util.* Server.COMMUNITY().each { server -> new JobGenerator( name: "${Version.CURRENT}-webapp-IT-${server}", pollScmSchedule: null, pollRemoteJob: RemoteJobHelper.WEBAPP_DISTRO, rootPom: 'qa/pom.xml', goals: "clean verify -P${server},h2,webapps-integration", envVariables: ['DISPLAY': ':0'], jdkVersion: Tool.JDK_FOR_SERVER(server), label: Label.CHROME ).build(this) } -18-
  • 19. www.camunda.com The Present - Infrastructure as Code 2. Every application/test runs in a Docker Container Images: • Application (Jenkins, Nexus …) • Test Env. Images (DB + SSH) • Build Env. Images • DIND, QEMU + Packer.io -19-
  • 20. www.camunda.com The Present - Example - DB2 FROM ci1.camunda.loc:5000/camunda-ci-base-centos ENV DB2_VERSION=10.5 DB_USERNAME=camunda DB_PASSWORD=camunda DB_NAME=engine DB2_HOME=/opt/ibm/db2/V10.5 DB_DIR=/db2_databases RUN save-env.sh DB2_VERSION DB_USERNAME DB_PASSWORD DB_NAME DB2_HOME RUN install-packages.sh libaio ADD etc/db2/db2expc.rsp /tmp/db2expc.rsp RUN curl https://nginx.service.consul/ci/binaries/ibm/db2/v10.5_linuxx64_expc.tar.gz > /tmp/db2.tar.gz && mkdir -p /tmp/db2 && tar xzf /tmp/db2.tar.gz -C /tmp/db2 --strip 1 && cd /tmp/db2 && ./db2setup -r /tmp/db2expc.rsp && rm -rf /tmp/db2.tar.gz /tmp/db2 && mkdir ${DB_DIR} && chown db2inst1:db2iadm1 ${DB_DIR} && chmod 775 /${DB_DIR} && su -l db2inst1 -c "mkdir ${DB_DIR}/engine" ADD bin/* /usr/local/bin/ ADD etc/supervisor.d/db2.conf.ini /etc/supervisord.d/ EXPOSE 50000 -20-
  • 21. www.camunda.com The Present - Infrastructure as Code 3. Every Docker Container is build automatically • Own Jenkins for Docker/KVM Images • KVM Images build in Docker Container with Packer + QEMU • KVM Images bundled in Docker Image -21-
  • 22. www.camunda.com The Present - Example - SQL Server 2012 FROM ci1.camunda.loc:5000/ubuntu:14.04.2 ENV IMAGE_NAME=sqlserver-2012.qcow2 IMAGE_DIR=/qemu/ RUN_DIR=/qemu/run RUN mkdir -p $IMAGE_DIR $RUN_DIR VOLUME $RUN_DIR ADD bin/* /usr/local/bin/ RUN apt-get update && apt-get -y install --no-install-recommends curl qemu-system-x86 qemu-utils && apt-get clean && rm -rf /var/cache/* /var/lib/apt/lists/* /tmp/* /var/tmp/* RUN curl https://nginx.service.consul/ci/binaries/microsoft/${IMAGE_NAME} > ${IMAGE_DIR} /${IMAGE_NAME} EXPOSE 22 1433 5900 CMD ["/usr/local/bin/start-qemu.sh"] -22-
  • 23. www.camunda.com The Present - The Current Flow -23- camunda-ci camunda Camunda BPM Platform Infrastructure Jenkins CI Jenkins
  • 24. www.camunda.com The Present - Isolation One Jenkins per Concern: • CI • Release • Infrastructure • Community and other Projects • Marketing -24-
  • 25. www.camunda.com The Present - Isolation & Reproducibility • Every Jobs runs in an One-Shot Docker Container • No Interference between Jobs • The Database Settings are well documented • Every Docker Image is stored in a private registry • Developers/QA can use the Docker Images for local testing -25-
  • 26. www.camunda.com The Present - Scalability • Jenkins uses Docker-Plugin with one Docker Cloud running on Docker Swarm • Docker images are added through Groovy scripting • Running on Commodity Hardware • 3 Infrastructure Hosts (Jenkins, Nexus, …) • 4 Docker Hosts as 1 Swarm -26-
  • 27. www.camunda.com The Present - Example - Jenkins Docker Cloud images.each { imageName, imageValues -> imageValues.versions.each { version -> def templateBase = createLinuxTemplateBase(image, privileged) def image = "${registryUrl}/${imageName}:${version}".toString() def label = getLabel(imageValues.label, version) def privileged = imageValues.privileged? imageValues.privileged : false def remoteFs = '/home/camunda' def instanceCap = linuxInstanceCap def template = new DockerTemplate(templateBase, label, remoteFs, remoteFs, instanceCap, Node.Mode.EXCLUSIVE, 1, createDockerSshLauncher(), createRetentionStrategy(), true, DockerImagePullStrategy.PULL_ALWAYS) dockerTemplates << template } } -27- /var/lib/jenkins/init.groovy.d/dockercloud.groovy
  • 28. www.camunda.com The Present - Scalability -28-
  • 29. www.camunda.com The Present - CI Cluster -29- Docker Consul Swarm Nexus Registry ci1 Docker Docker Docker Consul Swarm 4x Jenkins ci2 Docker Docker Consul Swarm Nginx ci3 Docker ci4-7 BIND Infrastructure Build Slaves C-Agent S-Agent
  • 31. www.camunda.com The Present - Advantages • Easy to add new Databases/Test Environments • New Release = New Branch of JobDSL Repository • Fully parallelized Job Execution • Accountable Configuration History • Testable Infrastructure • Minimize Administration Overhead -31-
  • 32. www.camunda.com The Present - Conclusion • 2 People + 3 Months of Work • A fully scalable, isolated and reproducible CI Infrastructure • Faster Feedback • Happy Developers and Product Owner -32-
  • 33. www.camunda.com Some advice from us to you Lessons learned -33-
  • 34. www.camunda.com Lessons learned - Architecture • Automate as much as you can • Jenkins config • Jobs config • Environment creation • Design to scale to support the business agility -34-
  • 35. www.camunda.com Lessons learned - Testing Test everything: • Jenkins configuration • required plugin features • Job generation • Docker images • Scalability • Disaster recovery -35-
  • 36. www.camunda.com Lessons learned - Job DSL • Unit-test the job generation • Write JobGenerator classes to abstract the common build logic of most jobs out of the box • Use XML diffing to compare previously generated jobs with new ones -36-
  • 37. www.camunda.com Lessons learned - Docker -37- https://github.com/rancherio/vm/
  • 38. www.camunda.com Lessons learned - Plugins • Pin your plugin versions • Be prepared to contribute to plugin development or maintain a branch yourself • Choose the right plugin for the job Our Top 3 plugins: JobDSL, Docker-Plugin, Build-Failure-Analyzer -38-
  • 39. www.camunda.com Lessons learned - Control • Control as much as possible • Third party binaries vs package manager • explicit versions • own mirrors for important packages -39-
  • 41. www.camunda.com The Future -41- • Public Community Jenkins • Internal Webapp for Developers and QA to start Environments (Dattln) • Continuous Deployment for Infrastructure Container • Back to the Datacenter • Centralized Logging and Monitoring (ELK) • Secret management
  • 45. www.camunda.com Resources • Camunda CI repository https://github.com/camunda-ci • Job DSL gradle example https://github.com/sheehan/job-dsl-gradle-example • Camunda BPM Docker image https://registry.hub.docker.com/u/camunda/camunda-bpm-platform/ -45-
  • 46. www.camunda.com We Are Hiring Come Join Us @camundaBPM http://camunda.com/jobs -46-