SlideShare a Scribd company logo
Foundations for the
perfect technology
stream
About me
Bernd Alter
CTO of VOTUM GmbH
bernd.alter@votum.de
@bazoo0815
Agenda
Challenges for an agency
Evolution of dev and CI at VOTUM
GitLab-CI w/ Docker & its benefits for us
Improvement of workflows
Live demo
John Oliver
"Quotations - the karaoke of ideas"
Who is/has been working
in an agency?
What do agencies have to deal with?
    different clients
= different projects
= different business cases
The good, the bad & the ugly
The good ...  
it's challenging - new business cases
no project is like the other - no boring repetitions
... the bad ...  
it's challenging - new technologies
no project is like the other - different setup per project
... and the ugly  
many environments - maintenance for operations/devops
- setup for developers
The challenge for an agency
Well, just a Magento project. All good.
The challenge for an agency
Two identical Magento projects?
The challenge for an agency
Nope.
62.4
5.65.5
72.2
The challenge for an agency
And now for something completely different ...
62.4
5.65.5
72.2
7
2.4 6.5
The challenge for an agency
It doesn't get any better ...
62.4
5.65.5
72.2
7
2.4 6.5
6.3
7 5.6
62.414.04
5.4
2.4
The players & their needs
CEO
Client
PO/QA
Ops
UX/UI
Dev
The players & their needs
CEO
Client
PO/QA
OpsOps
UX/UI
DevDev
PO/QA
Dev
Developers want ...
... a full dev environment per project
... an easy local setup
... full set of ready-to-use tools
PO/QA
Product Owners/QA want ...
... no technical 'overhead'
... easy access to visible project progress
Ops
Operations/DevOps wants ...
... standardized setups for various projects
... same setup for all environments
... to easily run setup everywhere
... automation (of tests, deploys, etc.)
How can you deal with this in
terms of technology?
A brief history of dev chain
In ancient times ... (~1999)
Live editing /
FTP staging/production
X
LAMPP
local dev
environment
A brief history of dev chain
... then things somewhat improved ...
Live editing /
SFTP staging/production
X
LAMPP
local dev
environment
A brief history of dev chain
2009: Introducing Ant
Deploy with
Apache Ant staging/production
X
SVN
X
Ubuntu
Server
central dev
server
A brief history of dev chain
2013: Vagrant, Ansible & Jenkins
Deploy with
Jenkins/Ansible staging/production
X
Git
X
local dev VM
A brief history of dev chain
2016/04: Docker cluster (VOTUM code week)
Deploy with
Jenkins/Ansible staging/production
X
Git
X
local dev VM
Panel content
Kubernetes cluster
A brief history of dev chain
2016/05: GitLab-CI integration with Docker runners
Deploy with
Jenkins/Ansible staging/production
X
Git
X
local dev VM
Panel content
Kubernetes cluster
Automated
testing
A brief history of dev chain
2017: full GitLab-CI pipeline, local Docker enviroments
staging/production
X
Git
X
local Docker
enviroment
GitLab-CI
Pipeline
Quick survey
Testing?
Continuous Integration?
Docker?
Kubernetes?
GITLAB-CI & DOCKER TO THE RESCUE!
Docker Engine
Host OS
Server
PHP
nginx
PHP
nginx
Frontend Backend
Postgres
Elastic
Search
Redis Selenium
Chrome
Docker environments
docker-compose for building
Docker containers
Local dev setup
It's really that easy!
$ git clone git@git.votum-media.net:ci-pipeline/demo.git
$ cd demo/
$ make setup
Kubernetes cluster
Panelcontent
Kubernetescluster
Docker
Ceph (Storage)
Lazy
NPM
npm
cache
SatisComposer
cache
Selenium
Grid
frontend
testing
Docker
Registry
Sonar
Qube
code
quality
dashboard
X
Traefik
HTTP
reverse
proxy
GitLab-CI - Pipeline
GitLab-CI - Environments
Improvement of workflows
Workflow
Workflow (better)
Statistics (1)
Full local environment setup for Spryker project
Setup for ... took ...
Vagrant VM
(VirtualBox)
incl. basebox download 17:28 min
  excl. basebox
download
15:29 min
Docker incl. image download 4:21 min
  excl. image download 2:07 min
Statistics (2)
Test suite with ~400 unit & functional tests
Running tests ... took ...
in local dev environment 326 sec
on Gitlab-CI with Docker runners 130 sec
Our setup - the holy grail?
Continuous Integration
Container orchestration
SCM
Code quality
GitLab
GitLab-CI
Kubernetes
Sonarqube
No. Your setup might be this ...
Continuous Integration
Container orchestration
SCM
Code quality
GitHub
Travis-CI
Kubernetes
Sonarqube
... or this. It's up to you.
Continuous Integration
Container orchestration
SCM
Code quality
GitHub
Rancher
Jenkins
Scrutinizer
It's not about tools,
it's about a solution that fits you
Hardware
Foundations for the perfect technology stream
Tools, tools, tools ...
(Code quality, like )
with Chrome & Firefox
Code analysis/fix (phpcs/phpcbf )
GitLab-CI
Docker
SonarQube Scrutinizer
Selenium grid
... and even more tools
(Container management)
Docker cluster (on old discarded Dell PCs)
(Docker-Image Repository)
(local npm cache)
(Composer Cache)
(HTTP reverse proxy)
(Storage)
Kubernetes
Docker Registry
Lazy NPM
Satis
Traefik
Ceph
Recommendations
use Docker
centralized automated testing
(unit/functional & frontend)
use CI pipelines (GitLab, Travis, Jenkins, ...)
create environments per branch
Thanks for listening
Comments? @bazoo0815

More Related Content

PDF
From DevOps to GitOps with GitLab
PDF
Using Travis CI to Test and Deploy Plugins
PDF
GitOps is IaC done right
PPTX
Why You Need to Stop Using "The" Staging Server
PDF
Jenkins vs GitLab CI
PDF
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...
PPTX
GitLab for CI/CD process
PDF
Automated Serverless Pipelines with #GitOps on Codefresh
From DevOps to GitOps with GitLab
Using Travis CI to Test and Deploy Plugins
GitOps is IaC done right
Why You Need to Stop Using "The" Staging Server
Jenkins vs GitLab CI
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...
GitLab for CI/CD process
Automated Serverless Pipelines with #GitOps on Codefresh

What's hot (20)

PDF
從系統思考看 DevOps:以 microservices 為例 (DevOps: a system dynamics perspective)
PDF
Oleksandr Yefremov Continuously delivering mobile project
PPTX
Gitlab CI/CD
PDF
Next ’19 的 Istio 場次 重點摘要
PPTX
CI/CD for React Native
PDF
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
PPTX
Multi-cloud CI/CD with failover powered by K8s, Istio, Helm, and Codefresh
PDF
Serving Pull Requests with Jenkins
PPTX
Quick workflow of a nodejs api
PDF
CI/CD、自動化,你還沒準備好(GCPUG.TW Meetup #34)
PDF
CI CD Basics
PPTX
PDF
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
PDF
November 15 cloud bees clusterhq meetup fli, flockerhub, and jenkins
PDF
給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version)
PDF
DevOpsDays Taipei 2017 Opening Talk
PDF
vodQA Pune (2019) - Jenkins pipeline As code
PDF
C++ in our world
PDF
Continuous integration with docker, buildbot and git
PDF
SKS in git ops mode
從系統思考看 DevOps:以 microservices 為例 (DevOps: a system dynamics perspective)
Oleksandr Yefremov Continuously delivering mobile project
Gitlab CI/CD
Next ’19 的 Istio 場次 重點摘要
CI/CD for React Native
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
Multi-cloud CI/CD with failover powered by K8s, Istio, Helm, and Codefresh
Serving Pull Requests with Jenkins
Quick workflow of a nodejs api
CI/CD、自動化,你還沒準備好(GCPUG.TW Meetup #34)
CI CD Basics
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
November 15 cloud bees clusterhq meetup fli, flockerhub, and jenkins
給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version)
DevOpsDays Taipei 2017 Opening Talk
vodQA Pune (2019) - Jenkins pipeline As code
C++ in our world
Continuous integration with docker, buildbot and git
SKS in git ops mode
Ad

Similar to Foundations for the perfect technology stream (20)

PDF
Everything as code
PDF
Portable CI wGitLab and Github led by Gavin Pickin.pdf
PPTX
Industrialization, be fast be furious!
PPTX
Hot to build continuously processing for 24/7 real-time data streaming platform?
PDF
Midwest PHP 2017 DevOps For Small team
PDF
ZendCon 2015 - DevOps for Small Teams
PDF
Continuous Integration/Deployment with Gitlab CI
PDF
Madison PHP 2015 - DevOps For Small Teams
PDF
8 pipeline
PDF
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
PDF
CICD_1670665418.pdf
PDF
Getting to Walk with DevOps
PPTX
Michigan IT Symposium 2017 - CI/CD Workflow Tutorial
PDF
Introducing GitLab (September 2018)
PDF
Into The Box 2018 CI Deep Dive
PDF
Gitlab ci, cncf.sk
PDF
How to plan and define your CI-CD pipeline
PDF
Puppet Camp New York 2015: "Safer Puppet" in 4 quick demos (Beginner)
PPTX
Dev ops cd tool chains
PDF
VN Tech Seminor Vol.1
Everything as code
Portable CI wGitLab and Github led by Gavin Pickin.pdf
Industrialization, be fast be furious!
Hot to build continuously processing for 24/7 real-time data streaming platform?
Midwest PHP 2017 DevOps For Small team
ZendCon 2015 - DevOps for Small Teams
Continuous Integration/Deployment with Gitlab CI
Madison PHP 2015 - DevOps For Small Teams
8 pipeline
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
CICD_1670665418.pdf
Getting to Walk with DevOps
Michigan IT Symposium 2017 - CI/CD Workflow Tutorial
Introducing GitLab (September 2018)
Into The Box 2018 CI Deep Dive
Gitlab ci, cncf.sk
How to plan and define your CI-CD pipeline
Puppet Camp New York 2015: "Safer Puppet" in 4 quick demos (Beginner)
Dev ops cd tool chains
VN Tech Seminor Vol.1
Ad

Recently uploaded (20)

PDF
Design an Analysis of Algorithms II-SECS-1021-03
DOCX
The Five Best AI Cover Tools in 2025.docx
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
System and Network Administraation Chapter 3
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Introduction to Artificial Intelligence
PDF
top salesforce developer skills in 2025.pdf
PPT
Introduction Database Management System for Course Database
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Digital Strategies for Manufacturing Companies
PDF
medical staffing services at VALiNTRY
PPT
JAVA ppt tutorial basics to learn java programming
PPTX
Materi_Pemrograman_Komputer-Looping.pptx
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Odoo POS Development Services by CandidRoot Solutions
Design an Analysis of Algorithms II-SECS-1021-03
The Five Best AI Cover Tools in 2025.docx
How to Choose the Right IT Partner for Your Business in Malaysia
System and Network Administraation Chapter 3
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Introduction to Artificial Intelligence
top salesforce developer skills in 2025.pdf
Introduction Database Management System for Course Database
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Digital Strategies for Manufacturing Companies
medical staffing services at VALiNTRY
JAVA ppt tutorial basics to learn java programming
Materi_Pemrograman_Komputer-Looping.pptx
VVF-Customer-Presentation2025-Ver1.9.pptx
Which alternative to Crystal Reports is best for small or large businesses.pdf
2025 Textile ERP Trends: SAP, Odoo & Oracle
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Odoo POS Development Services by CandidRoot Solutions

Foundations for the perfect technology stream