SlideShare una empresa de Scribd logo
1 de 14
The Automated Monolith
Marco Seifried (@marcoseifried)
Tora Onaca (ro.linkedin.com/in/toravasilescu)
Paul Vidrascu (ro.linkedin.com/in/paulvidrascu)
dev.haufe-lexware.com
github.com/Haufe-Lexware
@HaufeDev
Build, Deploy and Testing using Docker, Docker Compose, Docker Machine, go.cd and Azure
http://devops.com/wp-content/uploads/2014/10/2011.09.18_code_reviews.png
No need to double
check this change list,
if some problems
remain the reviewer
will catch them
No need to look at
this change list to
closely, I‘m sure the
author knows what
he‘s doing
Haufe Strategy - Architecture Principles
Business value over technical strategy
Strategic goals over project-specific benefits
Composability over silos
Shared services over specific-purpose implementations
Evolutionary refinement over pursuit of initial perfection
Design for obsoleteness over building for eternity
Good enough over best of breed
Declarative processes over implicit knowledge
What do we want to achieve?
Speed
Business value in
manual deployments?
Reduce Error
Prepare for change
How?
Container
Infrastructure As Code
Immutable Servers
Blue / Green Deployments
Project and Approach
Features: User-, License- &
Subscription Management
Goal: Microservices, fully
automated deployment, APIs
Start: Fully automated
deployment
First iteration: Automated test
environment per client on
Azure
How – Automation Tools and Technologies
Continuous Delivery // pipelines to run scripts // create docker images
// deploy onto Azure
Bitbucket – repository for config
Deploy in Azure
Artifactory - Internal docker repository for images
Run anywhere, describe everything in dockerfiles
How – Automation Components and Flow
Break down – step 0
Independent on the pipeline
execution, every time an artifact
is built in TFS it is then pushed in
the Haufe Artifactory.
Step 1 – building the Docker images
A new commit in the BitBucket
repository triggers the pipeline.
The pipeline contains steps for
building all the needed images
(app server, db server, JMS server,
logging, monitoring, test)
Step 1 – building the Docker images (cont.)
Logging
Docker logs not enough
Alternative – docker exec and accessing the log files
Map external volume and copy logs there
Best alternative: use what everyone else does and works like a charm: Kibana + ElasticSearch + Fluentd
Monitoring
See the status of the containers using
Cadvisor
influxDb
Grafana
Step 2 – Deploy and Run
Summary
Two months effort to get to Azure, distributed teams across two countries
Creation of dev environment reduced from one week to 30 minutes
Docker is constantly improving (improved networking, built in drivers, etc)
Baseline for future improvements
What’s next:
Move this along to production
Allow clients to choose the version of the images to use
Improve some startup times
Try out different cloud solutions
Multumim
Thank You

Más contenido relacionado

La actualidad más candente

Michigan IT Symposium 2017 - CI/CD Workflow Tutorial
Michigan IT Symposium 2017 - CI/CD Workflow TutorialMichigan IT Symposium 2017 - CI/CD Workflow Tutorial
Michigan IT Symposium 2017 - CI/CD Workflow TutorialJeffrey Sica
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.skJuraj Hantak
 
Using Docker for Testing
Using Docker for TestingUsing Docker for Testing
Using Docker for TestingMukta Aphale
 
Common blind spots on the journey to production vijay raghavan aravamudhan
Common blind spots on the journey to production  vijay raghavan aravamudhanCommon blind spots on the journey to production  vijay raghavan aravamudhan
Common blind spots on the journey to production vijay raghavan aravamudhanXP Conference India
 
Louisville Software Engineering Meet Up: Continuous Integration Using Jenkins
Louisville Software Engineering Meet Up: Continuous Integration Using JenkinsLouisville Software Engineering Meet Up: Continuous Integration Using Jenkins
Louisville Software Engineering Meet Up: Continuous Integration Using JenkinsJames Strong
 
Selenium Testing your Kubernetes Apps with Machine Learning and Testim
Selenium Testing your Kubernetes Apps with Machine Learning and TestimSelenium Testing your Kubernetes Apps with Machine Learning and Testim
Selenium Testing your Kubernetes Apps with Machine Learning and TestimCodefresh
 
Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2
Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2
Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2Amrita Prasad
 
DevOps Transformation in Technical
DevOps Transformation in TechnicalDevOps Transformation in Technical
DevOps Transformation in TechnicalOpsta
 
DevOps ci/cd with Microsoft vsts and azure
DevOps ci/cd with Microsoft vsts and azureDevOps ci/cd with Microsoft vsts and azure
DevOps ci/cd with Microsoft vsts and azureMurughan Palaniachari
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle IntroductionGanesh Samarthyam
 
Tfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksTfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksInCycleSoftware
 
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
OPENSHIFT CONTAINER PLATFORM CI/CD Build & DeployOPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
OPENSHIFT CONTAINER PLATFORM CI/CD Build & DeployNatale Vinto
 
Cloud native fundamentals
Cloud native fundamentalsCloud native fundamentals
Cloud native fundamentalsVictor Morales
 
Modern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsModern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsGlobalLogic Ukraine
 
Skip Staging! Test Docker, Helm, and Kubernetes Apps like a Pro
Skip Staging! Test Docker, Helm, and Kubernetes Apps like a ProSkip Staging! Test Docker, Helm, and Kubernetes Apps like a Pro
Skip Staging! Test Docker, Helm, and Kubernetes Apps like a ProCodefresh
 
CloudBees Jenkins and Pivotal Cloud Foundry - Continuous Delivery for Cloud N...
CloudBees Jenkins and Pivotal Cloud Foundry - Continuous Delivery for Cloud N...CloudBees Jenkins and Pivotal Cloud Foundry - Continuous Delivery for Cloud N...
CloudBees Jenkins and Pivotal Cloud Foundry - Continuous Delivery for Cloud N...Nima Badiey
 
Meetup Devops-Geneva-19.10.2019
Meetup Devops-Geneva-19.10.2019Meetup Devops-Geneva-19.10.2019
Meetup Devops-Geneva-19.10.2019Hidora
 
CI/CD for everyone else
CI/CD for everyone elseCI/CD for everyone else
CI/CD for everyone elseVictor Morales
 

La actualidad más candente (20)

Michigan IT Symposium 2017 - CI/CD Workflow Tutorial
Michigan IT Symposium 2017 - CI/CD Workflow TutorialMichigan IT Symposium 2017 - CI/CD Workflow Tutorial
Michigan IT Symposium 2017 - CI/CD Workflow Tutorial
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.sk
 
Using Docker for Testing
Using Docker for TestingUsing Docker for Testing
Using Docker for Testing
 
Common blind spots on the journey to production vijay raghavan aravamudhan
Common blind spots on the journey to production  vijay raghavan aravamudhanCommon blind spots on the journey to production  vijay raghavan aravamudhan
Common blind spots on the journey to production vijay raghavan aravamudhan
 
Louisville Software Engineering Meet Up: Continuous Integration Using Jenkins
Louisville Software Engineering Meet Up: Continuous Integration Using JenkinsLouisville Software Engineering Meet Up: Continuous Integration Using Jenkins
Louisville Software Engineering Meet Up: Continuous Integration Using Jenkins
 
Selenium Testing your Kubernetes Apps with Machine Learning and Testim
Selenium Testing your Kubernetes Apps with Machine Learning and TestimSelenium Testing your Kubernetes Apps with Machine Learning and Testim
Selenium Testing your Kubernetes Apps with Machine Learning and Testim
 
Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2
Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2
Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2
 
DevOps Transformation in Technical
DevOps Transformation in TechnicalDevOps Transformation in Technical
DevOps Transformation in Technical
 
DevOps ci/cd with Microsoft vsts and azure
DevOps ci/cd with Microsoft vsts and azureDevOps ci/cd with Microsoft vsts and azure
DevOps ci/cd with Microsoft vsts and azure
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
 
Tfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksTfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and Tricks
 
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
OPENSHIFT CONTAINER PLATFORM CI/CD Build & DeployOPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
 
Better java with design
Better java with designBetter java with design
Better java with design
 
Cloud native fundamentals
Cloud native fundamentalsCloud native fundamentals
Cloud native fundamentals
 
Modern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsModern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOps
 
Skip Staging! Test Docker, Helm, and Kubernetes Apps like a Pro
Skip Staging! Test Docker, Helm, and Kubernetes Apps like a ProSkip Staging! Test Docker, Helm, and Kubernetes Apps like a Pro
Skip Staging! Test Docker, Helm, and Kubernetes Apps like a Pro
 
CloudBees Jenkins and Pivotal Cloud Foundry - Continuous Delivery for Cloud N...
CloudBees Jenkins and Pivotal Cloud Foundry - Continuous Delivery for Cloud N...CloudBees Jenkins and Pivotal Cloud Foundry - Continuous Delivery for Cloud N...
CloudBees Jenkins and Pivotal Cloud Foundry - Continuous Delivery for Cloud N...
 
Meetup Devops-Geneva-19.10.2019
Meetup Devops-Geneva-19.10.2019Meetup Devops-Geneva-19.10.2019
Meetup Devops-Geneva-19.10.2019
 
Why Serverless?
Why Serverless?Why Serverless?
Why Serverless?
 
CI/CD for everyone else
CI/CD for everyone elseCI/CD for everyone else
CI/CD for everyone else
 

Destacado

BTEXX Creation: Projektarten, Leistungen, Angebote
BTEXX Creation: Projektarten, Leistungen, AngeboteBTEXX Creation: Projektarten, Leistungen, Angebote
BTEXX Creation: Projektarten, Leistungen, AngeboteBTEXX GmbH
 
Using Pattern Lab at SmashingConf Freiburg 2016
Using Pattern Lab at SmashingConf Freiburg 2016Using Pattern Lab at SmashingConf Freiburg 2016
Using Pattern Lab at SmashingConf Freiburg 2016Haufe-Lexware GmbH & Co KG
 
BTEXX universalSearch: Globale Suche von SAP- und Non-SAP-Systeme im Unterneh...
BTEXX universalSearch: Globale Suche von SAP- und Non-SAP-Systeme im Unterneh...BTEXX universalSearch: Globale Suche von SAP- und Non-SAP-Systeme im Unterneh...
BTEXX universalSearch: Globale Suche von SAP- und Non-SAP-Systeme im Unterneh...BTEXX GmbH
 
Unternehmenspräsentation: BTEXX - CREATING PORTAL EXPERINCES
Unternehmenspräsentation: BTEXX - CREATING PORTAL EXPERINCESUnternehmenspräsentation: BTEXX - CREATING PORTAL EXPERINCES
Unternehmenspräsentation: BTEXX - CREATING PORTAL EXPERINCESBTEXX GmbH
 
BTEXX Portal Suite: Cleveres Informationsmanagement mit dem SAP Enterprise Po...
BTEXX Portal Suite: Cleveres Informationsmanagement mit dem SAP Enterprise Po...BTEXX Portal Suite: Cleveres Informationsmanagement mit dem SAP Enterprise Po...
BTEXX Portal Suite: Cleveres Informationsmanagement mit dem SAP Enterprise Po...BTEXX GmbH
 
BTEXX Intranet-Portal – ready to run: Die Komplettlösung für Ihr Intranet-Por...
BTEXX Intranet-Portal – ready to run: Die Komplettlösung für Ihr Intranet-Por...BTEXX Intranet-Portal – ready to run: Die Komplettlösung für Ihr Intranet-Por...
BTEXX Intranet-Portal – ready to run: Die Komplettlösung für Ihr Intranet-Por...BTEXX GmbH
 
BTEXX Fachartikel: Der Weg vom Schreibtisch zum Digital Workplace
BTEXX Fachartikel: Der Weg vom Schreibtisch zum Digital WorkplaceBTEXX Fachartikel: Der Weg vom Schreibtisch zum Digital Workplace
BTEXX Fachartikel: Der Weg vom Schreibtisch zum Digital WorkplaceBTEXX GmbH
 
BTEXX mobilePortal: Mobiler Workflow, flexible Geschäftsprozesse
BTEXX mobilePortal: Mobiler Workflow, flexible GeschäftsprozesseBTEXX mobilePortal: Mobiler Workflow, flexible Geschäftsprozesse
BTEXX mobilePortal: Mobiler Workflow, flexible GeschäftsprozesseBTEXX GmbH
 
BTEXX Fachartikel: 8 Tipps zu Social-Intranet-Plattformen im Unternehmen
BTEXX Fachartikel: 8 Tipps zu Social-Intranet-Plattformen im UnternehmenBTEXX Fachartikel: 8 Tipps zu Social-Intranet-Plattformen im Unternehmen
BTEXX Fachartikel: 8 Tipps zu Social-Intranet-Plattformen im UnternehmenBTEXX GmbH
 

Destacado (14)

BTEXX Creation: Projektarten, Leistungen, Angebote
BTEXX Creation: Projektarten, Leistungen, AngeboteBTEXX Creation: Projektarten, Leistungen, Angebote
BTEXX Creation: Projektarten, Leistungen, Angebote
 
Actor model: an approach to concurrency
Actor model: an approach to concurrencyActor model: an approach to concurrency
Actor model: an approach to concurrency
 
Using Pattern Lab at SmashingConf Freiburg 2016
Using Pattern Lab at SmashingConf Freiburg 2016Using Pattern Lab at SmashingConf Freiburg 2016
Using Pattern Lab at SmashingConf Freiburg 2016
 
Haufe's Tech Strategy In Practice
Haufe's Tech Strategy In PracticeHaufe's Tech Strategy In Practice
Haufe's Tech Strategy In Practice
 
DevOps Meetup Freiburg - DevOps in Practice
DevOps Meetup Freiburg - DevOps in PracticeDevOps Meetup Freiburg - DevOps in Practice
DevOps Meetup Freiburg - DevOps in Practice
 
API Management @ Haufe
API Management @ HaufeAPI Management @ Haufe
API Management @ Haufe
 
Haufe API Strategy
Haufe API StrategyHaufe API Strategy
Haufe API Strategy
 
BTEXX universalSearch: Globale Suche von SAP- und Non-SAP-Systeme im Unterneh...
BTEXX universalSearch: Globale Suche von SAP- und Non-SAP-Systeme im Unterneh...BTEXX universalSearch: Globale Suche von SAP- und Non-SAP-Systeme im Unterneh...
BTEXX universalSearch: Globale Suche von SAP- und Non-SAP-Systeme im Unterneh...
 
Unternehmenspräsentation: BTEXX - CREATING PORTAL EXPERINCES
Unternehmenspräsentation: BTEXX - CREATING PORTAL EXPERINCESUnternehmenspräsentation: BTEXX - CREATING PORTAL EXPERINCES
Unternehmenspräsentation: BTEXX - CREATING PORTAL EXPERINCES
 
BTEXX Portal Suite: Cleveres Informationsmanagement mit dem SAP Enterprise Po...
BTEXX Portal Suite: Cleveres Informationsmanagement mit dem SAP Enterprise Po...BTEXX Portal Suite: Cleveres Informationsmanagement mit dem SAP Enterprise Po...
BTEXX Portal Suite: Cleveres Informationsmanagement mit dem SAP Enterprise Po...
 
BTEXX Intranet-Portal – ready to run: Die Komplettlösung für Ihr Intranet-Por...
BTEXX Intranet-Portal – ready to run: Die Komplettlösung für Ihr Intranet-Por...BTEXX Intranet-Portal – ready to run: Die Komplettlösung für Ihr Intranet-Por...
BTEXX Intranet-Portal – ready to run: Die Komplettlösung für Ihr Intranet-Por...
 
BTEXX Fachartikel: Der Weg vom Schreibtisch zum Digital Workplace
BTEXX Fachartikel: Der Weg vom Schreibtisch zum Digital WorkplaceBTEXX Fachartikel: Der Weg vom Schreibtisch zum Digital Workplace
BTEXX Fachartikel: Der Weg vom Schreibtisch zum Digital Workplace
 
BTEXX mobilePortal: Mobiler Workflow, flexible Geschäftsprozesse
BTEXX mobilePortal: Mobiler Workflow, flexible GeschäftsprozesseBTEXX mobilePortal: Mobiler Workflow, flexible Geschäftsprozesse
BTEXX mobilePortal: Mobiler Workflow, flexible Geschäftsprozesse
 
BTEXX Fachartikel: 8 Tipps zu Social-Intranet-Plattformen im Unternehmen
BTEXX Fachartikel: 8 Tipps zu Social-Intranet-Plattformen im UnternehmenBTEXX Fachartikel: 8 Tipps zu Social-Intranet-Plattformen im Unternehmen
BTEXX Fachartikel: 8 Tipps zu Social-Intranet-Plattformen im Unternehmen
 

Similar a The Automated Monolith

DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2Docker, Inc.
 
Introduction to Dev Ops and Containerisation with Docker
Introduction to Dev Ops and Containerisation with DockerIntroduction to Dev Ops and Containerisation with Docker
Introduction to Dev Ops and Containerisation with DockerShakthi Weerasinghe
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitMarco Ferrigno
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps ParadigmNaLUG
 
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...Ambassador Labs
 
CI/CD Development in Kubernetes - Skaffold
CI/CD Development in Kubernetes -  SkaffoldCI/CD Development in Kubernetes -  Skaffold
CI/CD Development in Kubernetes - SkaffoldSuman Chakraborty
 
Common primitives in Docker environments
Common primitives in Docker environmentsCommon primitives in Docker environments
Common primitives in Docker environmentsalexandru giurgiu
 
Chugging Our Own "Craft Brew” – HPE’s Journey Towards Containers-as-a-Service...
Chugging Our Own "Craft Brew” – HPE’s Journey Towards Containers-as-a-Service...Chugging Our Own "Craft Brew” – HPE’s Journey Towards Containers-as-a-Service...
Chugging Our Own "Craft Brew” – HPE’s Journey Towards Containers-as-a-Service...Docker, Inc.
 
StackEngine Problem Space Demo
StackEngine Problem Space DemoStackEngine Problem Space Demo
StackEngine Problem Space DemoBoyd Hemphill
 
Docker's value for Development Teams in a DevOps Process
Docker's value for Development Teams in a DevOps ProcessDocker's value for Development Teams in a DevOps Process
Docker's value for Development Teams in a DevOps ProcessLaurent Goujon
 
Efficient platform engineering with Microk8s & gopaddle.pdf
Efficient platform engineering  with  Microk8s & gopaddle.pdfEfficient platform engineering  with  Microk8s & gopaddle.pdf
Efficient platform engineering with Microk8s & gopaddle.pdfVinothini Raju
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018Krishna-Kumar
 
What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.anilpmuvvala
 
What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.anilpmuvvala
 
Microservices. Microservices everywhere! (At OSCON 2015)
Microservices. Microservices everywhere! (At OSCON 2015)Microservices. Microservices everywhere! (At OSCON 2015)
Microservices. Microservices everywhere! (At OSCON 2015)Jérôme Petazzoni
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Microsoft
 
Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates Liran Levy
 
DWX 2017 - DevOps by examples
DWX 2017 - DevOps by examplesDWX 2017 - DevOps by examples
DWX 2017 - DevOps by examplesGiulio Vian
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerIRJET Journal
 
DockerCon SF 2015: Docker at Lyft
DockerCon SF 2015: Docker at LyftDockerCon SF 2015: Docker at Lyft
DockerCon SF 2015: Docker at LyftDocker, Inc.
 

Similar a The Automated Monolith (20)

DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Introduction to Dev Ops and Containerisation with Docker
Introduction to Dev Ops and Containerisation with DockerIntroduction to Dev Ops and Containerisation with Docker
Introduction to Dev Ops and Containerisation with Docker
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps Paradigm
 
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
 
CI/CD Development in Kubernetes - Skaffold
CI/CD Development in Kubernetes -  SkaffoldCI/CD Development in Kubernetes -  Skaffold
CI/CD Development in Kubernetes - Skaffold
 
Common primitives in Docker environments
Common primitives in Docker environmentsCommon primitives in Docker environments
Common primitives in Docker environments
 
Chugging Our Own "Craft Brew” – HPE’s Journey Towards Containers-as-a-Service...
Chugging Our Own "Craft Brew” – HPE’s Journey Towards Containers-as-a-Service...Chugging Our Own "Craft Brew” – HPE’s Journey Towards Containers-as-a-Service...
Chugging Our Own "Craft Brew” – HPE’s Journey Towards Containers-as-a-Service...
 
StackEngine Problem Space Demo
StackEngine Problem Space DemoStackEngine Problem Space Demo
StackEngine Problem Space Demo
 
Docker's value for Development Teams in a DevOps Process
Docker's value for Development Teams in a DevOps ProcessDocker's value for Development Teams in a DevOps Process
Docker's value for Development Teams in a DevOps Process
 
Efficient platform engineering with Microk8s & gopaddle.pdf
Efficient platform engineering  with  Microk8s & gopaddle.pdfEfficient platform engineering  with  Microk8s & gopaddle.pdf
Efficient platform engineering with Microk8s & gopaddle.pdf
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018
 
What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.
 
What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.
 
Microservices. Microservices everywhere! (At OSCON 2015)
Microservices. Microservices everywhere! (At OSCON 2015)Microservices. Microservices everywhere! (At OSCON 2015)
Microservices. Microservices everywhere! (At OSCON 2015)
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015
 
Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates
 
DWX 2017 - DevOps by examples
DWX 2017 - DevOps by examplesDWX 2017 - DevOps by examples
DWX 2017 - DevOps by examples
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using Docker
 
DockerCon SF 2015: Docker at Lyft
DockerCon SF 2015: Docker at LyftDockerCon SF 2015: Docker at Lyft
DockerCon SF 2015: Docker at Lyft
 

Más de Haufe-Lexware GmbH & Co KG

X-celerate 2019: Iterating fast with the MERN Stack
X-celerate 2019: Iterating fast with the MERN StackX-celerate 2019: Iterating fast with the MERN Stack
X-celerate 2019: Iterating fast with the MERN StackHaufe-Lexware GmbH & Co KG
 
Nils Rhode - Does it always have to be k8s - TeC Day 2019
Nils Rhode - Does it always have to be k8s - TeC Day 2019Nils Rhode - Does it always have to be k8s - TeC Day 2019
Nils Rhode - Does it always have to be k8s - TeC Day 2019Haufe-Lexware GmbH & Co KG
 
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019Haufe-Lexware GmbH & Co KG
 
Cloud Journey: Lifting a Major Product to Kubernetes
Cloud Journey: Lifting a Major Product to KubernetesCloud Journey: Lifting a Major Product to Kubernetes
Cloud Journey: Lifting a Major Product to KubernetesHaufe-Lexware GmbH & Co KG
 
ONA ( organizational network analysis ) to enable individuals to impact their...
ONA ( organizational network analysis ) to enable individuals to impact their...ONA ( organizational network analysis ) to enable individuals to impact their...
ONA ( organizational network analysis ) to enable individuals to impact their...Haufe-Lexware GmbH & Co KG
 
ONA ( organizational network analysis ) enabling individuals to impact their ...
ONA ( organizational network analysis ) enabling individuals to impact their ...ONA ( organizational network analysis ) enabling individuals to impact their ...
ONA ( organizational network analysis ) enabling individuals to impact their ...Haufe-Lexware GmbH & Co KG
 
Using word vectors to enable better search in our legal products
Using word vectors to enable better search in our legal productsUsing word vectors to enable better search in our legal products
Using word vectors to enable better search in our legal productsHaufe-Lexware GmbH & Co KG
 
Identifying customer potentials through unsupervised learning
Identifying customer potentials through unsupervised learningIdentifying customer potentials through unsupervised learning
Identifying customer potentials through unsupervised learningHaufe-Lexware GmbH & Co KG
 
Managing short lived Kubernetes (Production) deployments
Managing short lived Kubernetes (Production) deploymentsManaging short lived Kubernetes (Production) deployments
Managing short lived Kubernetes (Production) deploymentsHaufe-Lexware GmbH & Co KG
 
DevOps Journey of Foundational Services at Haufe
DevOps Journey of Foundational Services at HaufeDevOps Journey of Foundational Services at Haufe
DevOps Journey of Foundational Services at HaufeHaufe-Lexware GmbH & Co KG
 
Microservice Transformation of the Haufe Publishing System
Microservice Transformation of the Haufe Publishing SystemMicroservice Transformation of the Haufe Publishing System
Microservice Transformation of the Haufe Publishing SystemHaufe-Lexware GmbH & Co KG
 

Más de Haufe-Lexware GmbH & Co KG (20)

Tech stackhaufegroup
Tech stackhaufegroupTech stackhaufegroup
Tech stackhaufegroup
 
X-celerate 2019: Iterating fast with the MERN Stack
X-celerate 2019: Iterating fast with the MERN StackX-celerate 2019: Iterating fast with the MERN Stack
X-celerate 2019: Iterating fast with the MERN Stack
 
Nils Rhode - Does it always have to be k8s - TeC Day 2019
Nils Rhode - Does it always have to be k8s - TeC Day 2019Nils Rhode - Does it always have to be k8s - TeC Day 2019
Nils Rhode - Does it always have to be k8s - TeC Day 2019
 
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
 
Cloud Journey: Lifting a Major Product to Kubernetes
Cloud Journey: Lifting a Major Product to KubernetesCloud Journey: Lifting a Major Product to Kubernetes
Cloud Journey: Lifting a Major Product to Kubernetes
 
ONA ( organizational network analysis ) to enable individuals to impact their...
ONA ( organizational network analysis ) to enable individuals to impact their...ONA ( organizational network analysis ) to enable individuals to impact their...
ONA ( organizational network analysis ) to enable individuals to impact their...
 
ONA ( organizational network analysis ) enabling individuals to impact their ...
ONA ( organizational network analysis ) enabling individuals to impact their ...ONA ( organizational network analysis ) enabling individuals to impact their ...
ONA ( organizational network analysis ) enabling individuals to impact their ...
 
Using word vectors to enable better search in our legal products
Using word vectors to enable better search in our legal productsUsing word vectors to enable better search in our legal products
Using word vectors to enable better search in our legal products
 
Identifying customer potentials through unsupervised learning
Identifying customer potentials through unsupervised learningIdentifying customer potentials through unsupervised learning
Identifying customer potentials through unsupervised learning
 
Field report: Rapid application development
Field report: Rapid application developmentField report: Rapid application development
Field report: Rapid application development
 
Behavior-Driven Development with JGiven
Behavior-Driven Development with JGivenBehavior-Driven Development with JGiven
Behavior-Driven Development with JGiven
 
Externalized Spring Boot App Configuration
Externalized  Spring Boot App ConfigurationExternalized  Spring Boot App Configuration
Externalized Spring Boot App Configuration
 
Managing short lived Kubernetes (Production) deployments
Managing short lived Kubernetes (Production) deploymentsManaging short lived Kubernetes (Production) deployments
Managing short lived Kubernetes (Production) deployments
 
Docker in Production at the Aurora Team
Docker in Production at the Aurora TeamDocker in Production at the Aurora Team
Docker in Production at the Aurora Team
 
DevOps Journey of Foundational Services at Haufe
DevOps Journey of Foundational Services at HaufeDevOps Journey of Foundational Services at Haufe
DevOps Journey of Foundational Services at Haufe
 
New Serverless World - Cloud Native Apps
New Serverless World - Cloud Native AppsNew Serverless World - Cloud Native Apps
New Serverless World - Cloud Native Apps
 
Microservice Transformation of the Haufe Publishing System
Microservice Transformation of the Haufe Publishing SystemMicroservice Transformation of the Haufe Publishing System
Microservice Transformation of the Haufe Publishing System
 
Kubernetes Intro @HaufeDev
Kubernetes Intro @HaufeDev Kubernetes Intro @HaufeDev
Kubernetes Intro @HaufeDev
 
API Management with wicked.haufe.io
API Management with wicked.haufe.ioAPI Management with wicked.haufe.io
API Management with wicked.haufe.io
 
Reactive microservices
Reactive microservicesReactive microservices
Reactive microservices
 

Último

Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 

Último (20)

Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 

The Automated Monolith

  • 1. The Automated Monolith Marco Seifried (@marcoseifried) Tora Onaca (ro.linkedin.com/in/toravasilescu) Paul Vidrascu (ro.linkedin.com/in/paulvidrascu) dev.haufe-lexware.com github.com/Haufe-Lexware @HaufeDev Build, Deploy and Testing using Docker, Docker Compose, Docker Machine, go.cd and Azure
  • 2. http://devops.com/wp-content/uploads/2014/10/2011.09.18_code_reviews.png No need to double check this change list, if some problems remain the reviewer will catch them No need to look at this change list to closely, I‘m sure the author knows what he‘s doing
  • 3. Haufe Strategy - Architecture Principles Business value over technical strategy Strategic goals over project-specific benefits Composability over silos Shared services over specific-purpose implementations Evolutionary refinement over pursuit of initial perfection Design for obsoleteness over building for eternity Good enough over best of breed Declarative processes over implicit knowledge
  • 4. What do we want to achieve? Speed Business value in manual deployments? Reduce Error Prepare for change
  • 5. How? Container Infrastructure As Code Immutable Servers Blue / Green Deployments
  • 6. Project and Approach Features: User-, License- & Subscription Management Goal: Microservices, fully automated deployment, APIs Start: Fully automated deployment First iteration: Automated test environment per client on Azure
  • 7. How – Automation Tools and Technologies Continuous Delivery // pipelines to run scripts // create docker images // deploy onto Azure Bitbucket – repository for config Deploy in Azure Artifactory - Internal docker repository for images Run anywhere, describe everything in dockerfiles
  • 8. How – Automation Components and Flow
  • 9. Break down – step 0 Independent on the pipeline execution, every time an artifact is built in TFS it is then pushed in the Haufe Artifactory.
  • 10. Step 1 – building the Docker images A new commit in the BitBucket repository triggers the pipeline. The pipeline contains steps for building all the needed images (app server, db server, JMS server, logging, monitoring, test)
  • 11. Step 1 – building the Docker images (cont.) Logging Docker logs not enough Alternative – docker exec and accessing the log files Map external volume and copy logs there Best alternative: use what everyone else does and works like a charm: Kibana + ElasticSearch + Fluentd Monitoring See the status of the containers using Cadvisor influxDb Grafana
  • 12. Step 2 – Deploy and Run
  • 13. Summary Two months effort to get to Azure, distributed teams across two countries Creation of dev environment reduced from one week to 30 minutes Docker is constantly improving (improved networking, built in drivers, etc) Baseline for future improvements What’s next: Move this along to production Allow clients to choose the version of the images to use Improve some startup times Try out different cloud solutions

Notas del editor

  1. One of the reasons considering automation
  2. We spoke about this in the previous presentation about API Management Breaking down Declarative processes over implicit knowledge: Have automation wherever you can
  3. So we have the technical reasoning behind it (technology strategy), but what for? Why should we spend money on this, what‘s in it? Be prepared for change: For example. how to be hosting agnostic?
  4. Containers give us the possiblity to run in house, to run at hosters, to run in the cloud Infrastructure as a code: no more implicit knowledge in the head of people. Treat it as code. Build up from scratch -> no updates, no hot-fixes, no manual changes -> immutable servers, infrastructure as code
  5. Approach: Not all at once, nothing comes for free BUT – it took us not long to get to the first iteration
  6. What‘s go.cd, what‘s artifactory, bitbucket – all those are there. The rest isn‘t and gets automatically created Idea of using pipelines, explain high level each pipeline – how are they triggered, … This can be the base for a lot of things – but it‘s one fully automated flow. What do we plan to do next?
  7. Easy step – whenever a new artifact is built in TFS it is pushed in the Haufe artifactory Show in browser
  8. Show the actual scripts in the browser Open BitBucket, go.cd and the Haufe registry
  9. Things we get almost for free – logging and monitoring What does each do and show the log console and the monitoring site
  10. Once again, at every step show the browser with the pipeline go.cd linux agent runs docker commands (using the Docker plugin – which basically does what a build script would do – build the image, login in the artifactory, push it there) Docker compose is run in Azure (gets all the images from the Haufe artifactory) EFK HGSP + OpenAM Monitoring go.cd Windows agent runs power shell commands – in our case for opening the ports at the end, once the deployment environment is done, the test containers are run (docker compose – maven junit and SoapUI tests in Linux)