SlideShare a Scribd company logo
CI/CD Infrastructure as a Code
BAQ Lviv 2019
Volodymyr Tsap
About me
15 years in commercial Linux
support
10 years Enterprise Applications
and SDK’s support at Genesys
9 years as a CTO in own
company SHALB.com
Team Objectives
● Keep infrastructures reliable for different
customers
● Live on cloud providers or on-premise, classic and
containerized systems
● Use different CI platforms: Github, Bitbucket,
Gitlab, Jenkins
● Work with multiple engineering teams
With so much integrations
Team Goals: DRY and DRAT:
Don’t repeat any teammate
Team Sharing. Using wiki and documentation.
You have a documentation for all!
You need to decompose whole documented
------- pattern to produce the code
Spend more time on documenting
Team Sharing. Using markers for code patterns.
You can get usable code blocks and modules
“Secret knowledge”
Only basic parts could be easily transmitted
Hard to keep actual state
Team Sharing. Single point of integration
Single repo for all useful stuff
Product-facing design possible to OSS
Ready to go platform for new projects!
Needs to be extra maintained and supported
Sometimes disintegration required
Let’s make an internal product
Start with marketing!
DJEG
Continuous Integration, Testing and Deployment Pipelines,
Centralized Account Management,
Monitoring and Log Aggregation
Complete CI/CD Development Platform
PROBLEM
A long time (3-6 month) and special skills and knowledges are required
to deliver complete CI/CD system for software product development.
Beside the basic CI/CD functions - to deliver source code to operational
environments you need to implement:
artefact storage, centralized account and security management,
build/test/deploy logs aggregation, monitoring, alerting, etc…
Easy to install pre-configured
CI/CD system created following
best DevOps and SRE practices
SOLUTION
ldap - a simple Openldap server
that is prepopluated on startup
using custom.ldif
ldap-admin –
a simple ldap php
admin for managing
ldap Php ldap
admin
Product name: DJEG
Abbreviation for Docker Jenkins
Elasticsearch Grafana.
Integrated system for the full cycle product development, from the
source code to operational environments. With preconfigured
Continuous Integration, Testing and Delivery, Log Aggregation,
Monitoring, Alerting and centralized account management.
Requires only 15 minutes to deploy instead of 3-6 month of integration.
jenkins - My Bloody jenkins
that watches changes from
custom configs set
nexus - Sonatype Nexus Repository
Manager 3, from Nexus
registry - nexus hosted docker repo:
Nexus registry
nginx_env_proxy - nginx proxy
service with LE SSL automation
static jenkins slave with the possibility
of customization. Dockerfile
+ Deploy a CI/CD systems (Jenkins, Spinnaker, Nexus) from scratch using scripts.
+ Complete development infrastructure installation with IaaC (Infrastructure as
a Code) approach.
+ Centralized user management for all integrated systems using OpenLDAP.
+ "ELK"-stack deployment for services and CI/CD jobs logging.
+ Alerting with Elasalert to notify developers on logs events on any environment.
+ Notification to Slack, Email or any other channels.
+ Deploy metrics and monitoring with Prometheus and
Grafana with service autoconfiguration.
+ Templated infrastructure patterns with Terraform.
+ Deployment to any platform like AWS, Google Cloud, Kubernetes,
Azure, Openstack.
PLANNED
FEATURES
Require only 15 min for installation and basic
configuration. .
FREE
Based only on opensource software.
Preconfigured: Continuous Integration,
Testing and Delivery, Log Aggregation,
Monitoring, Alerting, Centralized
account management.
ADVANTAGES
Thank you!
Implementation
Nothing is possible without “as a code” approach!
Single Point for Users and Permissions
Integrates with:
Jenkins,
Kubernetes,
Nexus,
Artifactory,
Grafana,
etc.. restofworld
Open source CI/CD platform from code
My Bloody Jenkins
Re-distribution of the Official LTS Jenkins Docker image
bundled with plugins and ability to configure Jenkins
from a simple and single source of truth represented as
YAML.
The image supports "Watching"
configuration changes and applying
without restarting Jenkins
Artifact Storage and Docker Registry
Key Features:
Supports LDAP
Docker Registry
Maven/Java, npm, NuGet,
RubyGems, Docker, P2, OBR,
APT
Nexus Repository OSS
Custom nginx_env_proxy container
●Ingress controller for incoming connections
●Let’s Encrypt certificate provider
●htpasswd with OpenLDAP users
VOLODYMYR TSAP, BAQ, "CI/CD Infrastructure as a Code"
Demo Demo Demo
Volodymyr Tsap
Co-founder/CTO at SHALB.com
Email: voa@shalb.com
Skype: volodymyr.tsap
Linkedin: voatsap
Facebook: volodymyr.tsap
Дякую!
Questions?
Join UkrOps!

More Related Content

PPTX
Michigan IT Symposium 2017 - CI/CD Workflow Tutorial
PPTX
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
PDF
PuppetConf 2016: Keynote: Pulling the Strings to Containerize Your Life - Sco...
PDF
Common blind spots on the journey to production vijay raghavan aravamudhan
PPTX
Javascript Frameworks (and How to Learn Them)
PDF
DevOps on AWS
PPTX
Better java with design
PPTX
Continuous delivery made
Michigan IT Symposium 2017 - CI/CD Workflow Tutorial
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
PuppetConf 2016: Keynote: Pulling the Strings to Containerize Your Life - Sco...
Common blind spots on the journey to production vijay raghavan aravamudhan
Javascript Frameworks (and How to Learn Them)
DevOps on AWS
Better java with design
Continuous delivery made

What's hot (20)

PDF
Creating AWS infrastructure using Terraform
PDF
Tfs 2015 Upgrade Tips and Tricks
PPTX
Cleaner Code Through Test-Driven Development
PPTX
DevOps Fundamentals: A perspective on DevOps Culture
PDF
Teamcity CI Server
PPTX
Java Script recruiting
PDF
“Practical DevOps by a small team of devs” by Ilgvars Jēcis from FinoTech  at...
PDF
Liquid Day - Serverless
PDF
Taming the DevOps unicorn with Azure and Visual Studio Team Services
PDF
Why Serverless?
PPTX
Continuous Integration and Continuous Deployment in Enterprise scenario
PDF
Trunk based development
PDF
Introduction to CICD
PDF
DevOps Transformation in Technical
PDF
Building Big Architectures XP Conference 2016
PPTX
Controle do ciclo de vida do desenvolvimento de software com tfs vsts
PPTX
The Automated Monolith
PDF
AWS CLOUDFORMATION
PDF
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
PDF
Idi2018 - Serverless does not mean Opsless
Creating AWS infrastructure using Terraform
Tfs 2015 Upgrade Tips and Tricks
Cleaner Code Through Test-Driven Development
DevOps Fundamentals: A perspective on DevOps Culture
Teamcity CI Server
Java Script recruiting
“Practical DevOps by a small team of devs” by Ilgvars Jēcis from FinoTech  at...
Liquid Day - Serverless
Taming the DevOps unicorn with Azure and Visual Studio Team Services
Why Serverless?
Continuous Integration and Continuous Deployment in Enterprise scenario
Trunk based development
Introduction to CICD
DevOps Transformation in Technical
Building Big Architectures XP Conference 2016
Controle do ciclo de vida do desenvolvimento de software com tfs vsts
The Automated Monolith
AWS CLOUDFORMATION
PuppetConf 2016: Continuous Delivery and DevOps with Jenkins and Puppet Enter...
Idi2018 - Serverless does not mean Opsless
Ad

Similar to VOLODYMYR TSAP, BAQ, "CI/CD Infrastructure as a Code" (20)

PPTX
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
PPTX
Devops phase-1
PPTX
Devops architecture
PDF
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
PPTX
Devops
PDF
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
PDF
Using Jenkins as your go-to CI/CD tool
PPTX
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
PDF
Jenkins: An open-source automation server powering CI/CD Automation
PPTX
DevOps at FSOFT as BOI | Nguyễn Hoài Nam, Vũ Xuân Lộc
PPTX
Pipeline as Code: building a great deployment pipeline
PDF
Promise of DevOps
PDF
Yale Jenkins Show and Tell
PPTX
Devops CI-CD pipeline with Containers
PDF
Devops Online Training.pdf
PDF
Devops Online Training.pdf
PDF
Devops Online Training.pdf
PDF
Devops Online Training.pdf
PDF
Devops Online Training.pdf
PDF
Getting to Walk with DevOps
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Devops phase-1
Devops architecture
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
Devops
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
Using Jenkins as your go-to CI/CD tool
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Jenkins: An open-source automation server powering CI/CD Automation
DevOps at FSOFT as BOI | Nguyễn Hoài Nam, Vũ Xuân Lộc
Pipeline as Code: building a great deployment pipeline
Promise of DevOps
Yale Jenkins Show and Tell
Devops CI-CD pipeline with Containers
Devops Online Training.pdf
Devops Online Training.pdf
Devops Online Training.pdf
Devops Online Training.pdf
Devops Online Training.pdf
Getting to Walk with DevOps
Ad

More from Dakiry (20)

PDF
НАРЦИСИЗМ ЯК ПАСИВНЕ КУРІННЯ
PDF
МАНІПУЛЯЦІЇ: ХТО КОГО І ДЛЯ ЧОГО? - Інна Тіторенко
PPTX
How to run a discovery workshop
PPTX
З понеділка йду на новий проект. The tester’s version - Олександра Зубаль
PDF
Робота з текстом: від чернетки до опублікування
PPTX
Контентна стратегія в ІТ: від статті до першого ліда
PPTX
Oleh Shpyrna "Security Testing Basics: Check your Webapp for gaps before l_unch"
PPTX
Stepan Shykerynets "Power of QA (A Journey: From Hell to Heaven. Story of gr...
PDF
Микола Солопій "Selenium рулить, однак..."
PDF
Oleksandra Zubal "Project starters: test automation view"
PDF
Vladyslav Romanchenko "How to keep high code quality without e2e tests"
PPTX
Діана Пінчук "Як відрізнити авторизацію від аутентифікації та перестати бояти...
PPT
Yuriy Malyi "E2E testing organization in multi-system projects"
PPTX
Petro Tarasenko "You've become a TL. What's next?"
PDF
Roman Yakymchuk "Дослідницьке тестування. Перезапуск"
PPTX
Maryna Shulga "Mission Impossible. Впровадити тест процеси, якщо ніхто цього ...
PDF
Олексій Брошков "Мистецтво Дослідницького Тестування"
PPSX
Альона Тудан " Життя QA в ажурі"
PPTX
Андрій Степура "Тренди в публічних виступах"
PPTX
Зоряна Борбулевич "Підхід, який трансформував компанію Microsoft: ННК і його...
НАРЦИСИЗМ ЯК ПАСИВНЕ КУРІННЯ
МАНІПУЛЯЦІЇ: ХТО КОГО І ДЛЯ ЧОГО? - Інна Тіторенко
How to run a discovery workshop
З понеділка йду на новий проект. The tester’s version - Олександра Зубаль
Робота з текстом: від чернетки до опублікування
Контентна стратегія в ІТ: від статті до першого ліда
Oleh Shpyrna "Security Testing Basics: Check your Webapp for gaps before l_unch"
Stepan Shykerynets "Power of QA (A Journey: From Hell to Heaven. Story of gr...
Микола Солопій "Selenium рулить, однак..."
Oleksandra Zubal "Project starters: test automation view"
Vladyslav Romanchenko "How to keep high code quality without e2e tests"
Діана Пінчук "Як відрізнити авторизацію від аутентифікації та перестати бояти...
Yuriy Malyi "E2E testing organization in multi-system projects"
Petro Tarasenko "You've become a TL. What's next?"
Roman Yakymchuk "Дослідницьке тестування. Перезапуск"
Maryna Shulga "Mission Impossible. Впровадити тест процеси, якщо ніхто цього ...
Олексій Брошков "Мистецтво Дослідницького Тестування"
Альона Тудан " Життя QA в ажурі"
Андрій Степура "Тренди в публічних виступах"
Зоряна Борбулевич "Підхід, який трансформував компанію Microsoft: ННК і його...

Recently uploaded (20)

PPTX
Dragon_Fruit_Cultivation_in Nepal ppt.pptx
PPTX
HR Introduction Slide (1).pptx on hr intro
PPTX
Probability Distribution, binomial distribution, poisson distribution
PPTX
The Marketing Journey - Tracey Phillips - Marketing Matters 7-2025.pptx
PDF
IFRS Notes in your pocket for study all the time
PPTX
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
PDF
Ôn tập tiếng anh trong kinh doanh nâng cao
PDF
Power and position in leadershipDOC-20250808-WA0011..pdf
PDF
Laughter Yoga Basic Learning Workshop Manual
PPTX
job Avenue by vinith.pptxvnbvnvnvbnvbnbmnbmbh
PDF
How to Get Funding for Your Trucking Business
PDF
DOC-20250806-WA0002._20250806_112011_0000.pdf
PDF
Katrina Stoneking: Shaking Up the Alcohol Beverage Industry
PDF
Dr. Enrique Segura Ense Group - A Self-Made Entrepreneur And Executive
PPTX
Amazon (Business Studies) management studies
PDF
Deliverable file - Regulatory guideline analysis.pdf
PPTX
5 Stages of group development guide.pptx
PDF
Traveri Digital Marketing Seminar 2025 by Corey and Jessica Perlman
PDF
A Brief Introduction About Julia Allison
PDF
Elevate Cleaning Efficiency Using Tallfly Hair Remover Roller Factory Expertise
Dragon_Fruit_Cultivation_in Nepal ppt.pptx
HR Introduction Slide (1).pptx on hr intro
Probability Distribution, binomial distribution, poisson distribution
The Marketing Journey - Tracey Phillips - Marketing Matters 7-2025.pptx
IFRS Notes in your pocket for study all the time
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
Ôn tập tiếng anh trong kinh doanh nâng cao
Power and position in leadershipDOC-20250808-WA0011..pdf
Laughter Yoga Basic Learning Workshop Manual
job Avenue by vinith.pptxvnbvnvnvbnvbnbmnbmbh
How to Get Funding for Your Trucking Business
DOC-20250806-WA0002._20250806_112011_0000.pdf
Katrina Stoneking: Shaking Up the Alcohol Beverage Industry
Dr. Enrique Segura Ense Group - A Self-Made Entrepreneur And Executive
Amazon (Business Studies) management studies
Deliverable file - Regulatory guideline analysis.pdf
5 Stages of group development guide.pptx
Traveri Digital Marketing Seminar 2025 by Corey and Jessica Perlman
A Brief Introduction About Julia Allison
Elevate Cleaning Efficiency Using Tallfly Hair Remover Roller Factory Expertise

VOLODYMYR TSAP, BAQ, "CI/CD Infrastructure as a Code"

  • 1. CI/CD Infrastructure as a Code BAQ Lviv 2019 Volodymyr Tsap
  • 2. About me 15 years in commercial Linux support 10 years Enterprise Applications and SDK’s support at Genesys 9 years as a CTO in own company SHALB.com
  • 3. Team Objectives ● Keep infrastructures reliable for different customers ● Live on cloud providers or on-premise, classic and containerized systems ● Use different CI platforms: Github, Bitbucket, Gitlab, Jenkins ● Work with multiple engineering teams
  • 4. With so much integrations
  • 5. Team Goals: DRY and DRAT: Don’t repeat any teammate
  • 6. Team Sharing. Using wiki and documentation. You have a documentation for all! You need to decompose whole documented ------- pattern to produce the code Spend more time on documenting
  • 7. Team Sharing. Using markers for code patterns. You can get usable code blocks and modules “Secret knowledge” Only basic parts could be easily transmitted Hard to keep actual state
  • 8. Team Sharing. Single point of integration Single repo for all useful stuff Product-facing design possible to OSS Ready to go platform for new projects! Needs to be extra maintained and supported Sometimes disintegration required
  • 9. Let’s make an internal product Start with marketing!
  • 10. DJEG Continuous Integration, Testing and Deployment Pipelines, Centralized Account Management, Monitoring and Log Aggregation Complete CI/CD Development Platform
  • 11. PROBLEM A long time (3-6 month) and special skills and knowledges are required to deliver complete CI/CD system for software product development. Beside the basic CI/CD functions - to deliver source code to operational environments you need to implement: artefact storage, centralized account and security management, build/test/deploy logs aggregation, monitoring, alerting, etc…
  • 12. Easy to install pre-configured CI/CD system created following best DevOps and SRE practices SOLUTION
  • 13. ldap - a simple Openldap server that is prepopluated on startup using custom.ldif ldap-admin – a simple ldap php admin for managing ldap Php ldap admin Product name: DJEG Abbreviation for Docker Jenkins Elasticsearch Grafana. Integrated system for the full cycle product development, from the source code to operational environments. With preconfigured Continuous Integration, Testing and Delivery, Log Aggregation, Monitoring, Alerting and centralized account management. Requires only 15 minutes to deploy instead of 3-6 month of integration. jenkins - My Bloody jenkins that watches changes from custom configs set nexus - Sonatype Nexus Repository Manager 3, from Nexus registry - nexus hosted docker repo: Nexus registry nginx_env_proxy - nginx proxy service with LE SSL automation static jenkins slave with the possibility of customization. Dockerfile
  • 14. + Deploy a CI/CD systems (Jenkins, Spinnaker, Nexus) from scratch using scripts. + Complete development infrastructure installation with IaaC (Infrastructure as a Code) approach. + Centralized user management for all integrated systems using OpenLDAP. + "ELK"-stack deployment for services and CI/CD jobs logging. + Alerting with Elasalert to notify developers on logs events on any environment. + Notification to Slack, Email or any other channels. + Deploy metrics and monitoring with Prometheus and Grafana with service autoconfiguration. + Templated infrastructure patterns with Terraform. + Deployment to any platform like AWS, Google Cloud, Kubernetes, Azure, Openstack. PLANNED FEATURES
  • 15. Require only 15 min for installation and basic configuration. . FREE Based only on opensource software. Preconfigured: Continuous Integration, Testing and Delivery, Log Aggregation, Monitoring, Alerting, Centralized account management. ADVANTAGES
  • 17. Implementation Nothing is possible without “as a code” approach!
  • 18. Single Point for Users and Permissions Integrates with: Jenkins, Kubernetes, Nexus, Artifactory, Grafana, etc.. restofworld
  • 19. Open source CI/CD platform from code My Bloody Jenkins Re-distribution of the Official LTS Jenkins Docker image bundled with plugins and ability to configure Jenkins from a simple and single source of truth represented as YAML. The image supports "Watching" configuration changes and applying without restarting Jenkins
  • 20. Artifact Storage and Docker Registry Key Features: Supports LDAP Docker Registry Maven/Java, npm, NuGet, RubyGems, Docker, P2, OBR, APT Nexus Repository OSS
  • 21. Custom nginx_env_proxy container ●Ingress controller for incoming connections ●Let’s Encrypt certificate provider ●htpasswd with OpenLDAP users
  • 24. Volodymyr Tsap Co-founder/CTO at SHALB.com Email: voa@shalb.com Skype: volodymyr.tsap Linkedin: voatsap Facebook: volodymyr.tsap Дякую! Questions? Join UkrOps!