© OPITZ CONSULTING 2019
Information Classification::
Public
 Überraschend mehr Möglichkeiten
© OPITZ CONSULTING 2019
Scaling DevOps in the Enterprise
based on OpenShift
Clemens Utschig-Utschig, Boehringer Ingelheim
Richard Attermeyer, OPITZ CONSULTING
OpenDevStack
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
Bitte beachten Sie…
Wir werden Ihnen
die Aufzeichnung
dieses Webinars
sowie die
Vortragsfolien in
den nächsten Tagen
zusenden.
Alle Teilnehmer sind
stummgeschaltet.
Nur so können wir
ein störungsfreies
Webinar bei großer
Personenzahl
gewährleisten.
Bitte melden Sie
sich bei technischen
Störungen während
des Webinars über
die Frage-Funktion
an die
Organisatoren.
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
OpenDevStack
provision.build.run
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
Challenges adopting DevOps
Technical complexity DevOps promotes choice:
"the best stack for your problem"
Bad Quality DevOps mainly driven by "faster to market" but not
"quality to market"
Lack of DevOps skills Many new tools in your runtime and delivery
environment
No self-service infrastructure DevOps supports experiments.
Disparate and not integrated tools Development workflow requires a lot of different tools.
Often they exist next to each-other without proper
integration
© OPITZ CONSULTING 2019
Information Classification::
Public
Monolith to Microservices
OpenDevStack: Scaling DevOps in the Enterprise
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
Tension between Speed and Compliance
 ideas require experiments
 Setting up a compliant environment takes time
 But without some level of compliance your
innovation projects get stuck before adopted
CC BY-NC-SA 2.0, https://www.flickr.com/photos/bsktcase/2715086072/
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
Pixabay, , https://bit.ly/2lF1tAl
Field report
What exactly is OpenDevStack?
How did we arrive where we are today,
and where are we going next?
What exactly is OpenDevStack?
How did we arrive where we are today,
and where are we going next?
BI X
A lab focused on
developing digital products
How to ensure teams spend time on
the products, and not on the process?
How to produce modern,
state-of-the-art software?
How to enable fast ramp-up
and smooth handover?
KEY CONCEPTS OF OPENDEVSTACK
One common toolset, uniformly configured
and integrated right from the start
Freedom + control within the team (agile!)
Quickstarters to aid MVP development
Build application against a platform
Built-in CI/CD delivery pipeline
Where are we today?
Allows to set up required infrastructure
and continuous delivery processes
for new projects in less than 5 min.
OPENDEVSTACK
OPENDEVSTACK OVERVIEW
Provisioning App
Jira
Nexus
farmera-dev
BitBucket
farmera farmera-testfarmera
ingest ingestingest
farmera-cd
Jenkins
SonarQube
1. Provision project
2. Provision component
Confluence
farmera
How does this relate to software that we
“only” install and manage?
OpenDevStack provides infrastructure to deploy to,
and setups continuous delivery to cut down time to
market
Existing applications can be ported easily to ODS
Where are we going?
More & better integration of tools
Extend quickstarters
Software defined everything
Documentation generation and
multi-repo orchestration
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
https://pixabay.com/photos/adult-artisan-tools-workshop-1866533/
Demo
© OPITZ CONSULTING 2019
Information Classification::
Public
Pixabay
Not only tools,
but also processes
OpenDevStack: Scaling DevOps in the Enterprise
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
Adressing DevOps scaling obstacles
Code Analysis
Standardization
Bitbucket Integration
GitOps Cluster Migration
Centrally Defined
Pipeline Functions
Self-service
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
Quickstarters
Source Code Pipeline Definition static source code
Dockerfile for
OpenShift
© OPITZ CONSULTING 2019
Information Classification::
Public
Quickstarters
Currently supported project types
OpenDevStack: Scaling DevOps in the Enterprise
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
Git Flows: You choose
git flow GitHub flow Custom workflow
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
Automated OpenShift project management
For isolated development and staging environmentsmaster
development
feature/a
feature/b
Mapping branches to OpenShift projects
Automatic creation of OpenShift projects
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
One prototype Jenkins Pipeline
General Pipeline Customizable Build Instructions
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
Jenkins Pipeline Build
 Jenkinsfile: branchToEnvironementMapping defines how branches are
mapped to OpenShift environments
 In be-spring-boot:
 ‚master‘ builds are deployed into ‚test‘
 All other branches will be deployed into ‚dev‘
Deployment in Openshift - branchToEnvironmentMapping
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
OpenShift
Automated CD Setup in OpenShift
Creation of
3 OpenShift
projects
Security:
built in for projects
Image Streams
Build Configs for
Image Builds
Deployment Config,
Services
Pipeline Build
Configuration
© OPITZ CONSULTING 2019
Information Classification::
Public
Standard CI infrastructure components
OpenDevStack: Scaling DevOps in the Enterprise
including proxy
support on master
and slaves
run on OpenShift automated repo setup /
cleanup & backup tasks
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
GitOps for OpenShift
 keep your OpenShift templates under
version control
 keep the cluster in sync
 Detect, review and reconcile any drift
between your desired state and your
cluster
 Allow to export your OpenShift
project to cleaned templates
 https://github.com/opendevstack/tailor
opendevstack/tailor
GitOps
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
Adressing DevOps Challenges with OpenDevStack
Technical complexity Quickstarters to standardize project setup for different
development stacks
Bad Quality Standardization and inclusion of static source code analysis
and software supply chain management
Lack of DevOps skills Pre-defined DevOps processes and tools, readily usable in
projects
No self-service infrastructure Provisioning app with Rest API to embed it enterprise
workflows
Disparate and not integrated tools Complete integrated development experience across
different tools and vendors
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
https://pixabay.com/get/e036b3062af41c22d9584518a33219c8b66ae3d01bb6144690f1c870/park-932920_1920.jpg
Take Aways
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
Take Aways
 OpenShift is a solid foundation when running your own Kubernetes Cluster
 OpenShift alone is not enough preparing you for fast Continuous Delivery
 In times of digitalization, IT projects need flexible and efficient development
infrastructures that can meet business requirements ad hoc and flexible and that
can scale cleanly.
 OpenShift, together with OpenDevStack, brings dynamic scaling and
standardization to the process, sustainably improving quality, increasing efficiency,
scaling knowledge, and helps bringing products to market faster.
 The many bugs and ERs we filed made OpenShift better – and so does
OpenDevStack we hope ☺
© OPITZ CONSULTING 2019
Information Classification::
Public
Stay Connected
 Our mission - to promote best practices
around using OpenShift as a Continuous
Delivery Platform.
 OpenDevStack, together with OpenShift,
brings dynamic scaling and standardization
to the process, sustainably improving
quality, increasing efficiency, scaling
knowledge, and helps bringing products to
market faster
OpenDevStack: Scaling DevOps in the Enterprise
© OPITZ CONSULTING 2019
Information Classification::
Public
 Überraschend mehr Möglichkeiten
@OC_WIRE OPITZCONSULTING opitzconsultingWWW.OPITZ-CONSULTING.COM
Clemens Utschig-Utschig
Clemens works for Boehringer-Ingelheim’s
IT organization – responsible for the global
technology strategy, the architecture
board and he is the CTO and head of
engineering at BI X (bix-digital.com) – our
digital startup incubator.
Richard Attermeyer
Richard Attermeyer works as Senior
Solution Architect for OPITZ CONSULTING
in the area of technology management
and innovation and, among other things,
heads the OC architecture board.
OpenDevStack: Scaling DevOps in the Enterprise
© OPITZ CONSULTING 2019
Information Classification::
Public Seite 37
Backup Slides
OpenDevStack: Scaling DevOps in the Enterprise
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
Why not just Bare OCP – and off you go?
 Seamless transfer of MVP / Pilots to production cluster is a must (with zero
manual change effort!) – hence governance – and not „jungle of techs, DIY
build mgmt,…“
 Compliance – embedded .. from story – to runtime.
 Openshift great as toolbox, but that‘s really about it. Extreme learning
curve after „create from catalog“
 Efficiency is driven by cohesive automation!
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
Standardisation
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
Standardisation
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
OpenShift
 Creates 3 OpenShift project by default
 Security build in: Configures required permissions
 Permissions for authenticated users
 Permissions for project admins
 Permissions for OpenShift service user
 Creates required OpenShift ressources
 Build Configs for Image Builds, Image Streams, Deployment Config, Services
 Pipeline Build Configuration
Automated CD Setup in OpenShift
© OPITZ CONSULTING 2019
Information Classification::
Public
Standard CI infrastructure components
 Jenkins Master (and slaves) – including proxy & nexus support
 Sonarqube (including Bitbucket integration & made to run on OC)
 Nexus artifact mgmt + automated repo setup / cleanup & backup tasks ..
 Atlassian toolsuite (ansible playbooks)
 Jira / Confluence / Bitbucket / Crowd
OpenDevStack: Scaling DevOps in the Enterprise
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
OpenShift
 Creates 3 OpenShift project by default
 Security build in: Configures required permissions
 Permissions for authenticated users
 Permissions for project admins
 Permissions for OpenShift service user
 Creates required OpenShift ressources
 Build Configs for Image Builds, Image Streams, Deployment Config, Services
 Pipeline Build Configuration
Automated CD Setup in OpenShift
© OPITZ CONSULTING 2019
Information Classification::
PublicOpenDevStack: Scaling DevOps in the Enterprise
OpenDevStack
built on OpenShift
Kubernetes
CI Pipelines
SD Networking
Security | Authentication
Logging Monitoring
Storage
Service Catalog
DevSecOps
(vulnerability scanning)
Project
Quickstarters
Bitbucket
Integration
Developer self-service
(Provisioning App)
Shared Jenkins
Libary
Automatic test environment
handling
OpenShift configuration as
code
enhanced Jenkins
images
OpenShift
(Containers
as a Service)
OpenDevStack

DevOps auf Knopfdruck!? OC|Webcast "OpenDevStack - Scaling DevOps based on OpenShift"

  • 1.
    © OPITZ CONSULTING2019 Information Classification:: Public  Überraschend mehr Möglichkeiten © OPITZ CONSULTING 2019 Scaling DevOps in the Enterprise based on OpenShift Clemens Utschig-Utschig, Boehringer Ingelheim Richard Attermeyer, OPITZ CONSULTING OpenDevStack
  • 2.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise Bitte beachten Sie… Wir werden Ihnen die Aufzeichnung dieses Webinars sowie die Vortragsfolien in den nächsten Tagen zusenden. Alle Teilnehmer sind stummgeschaltet. Nur so können wir ein störungsfreies Webinar bei großer Personenzahl gewährleisten. Bitte melden Sie sich bei technischen Störungen während des Webinars über die Frage-Funktion an die Organisatoren.
  • 3.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise OpenDevStack provision.build.run
  • 4.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise Challenges adopting DevOps Technical complexity DevOps promotes choice: "the best stack for your problem" Bad Quality DevOps mainly driven by "faster to market" but not "quality to market" Lack of DevOps skills Many new tools in your runtime and delivery environment No self-service infrastructure DevOps supports experiments. Disparate and not integrated tools Development workflow requires a lot of different tools. Often they exist next to each-other without proper integration
  • 5.
    © OPITZ CONSULTING2019 Information Classification:: Public Monolith to Microservices OpenDevStack: Scaling DevOps in the Enterprise
  • 6.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise Tension between Speed and Compliance  ideas require experiments  Setting up a compliant environment takes time  But without some level of compliance your innovation projects get stuck before adopted CC BY-NC-SA 2.0, https://www.flickr.com/photos/bsktcase/2715086072/
  • 7.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise Pixabay, , https://bit.ly/2lF1tAl Field report
  • 8.
    What exactly isOpenDevStack? How did we arrive where we are today, and where are we going next?
  • 9.
    What exactly isOpenDevStack? How did we arrive where we are today, and where are we going next?
  • 10.
    BI X A labfocused on developing digital products How to ensure teams spend time on the products, and not on the process? How to produce modern, state-of-the-art software? How to enable fast ramp-up and smooth handover?
  • 11.
    KEY CONCEPTS OFOPENDEVSTACK One common toolset, uniformly configured and integrated right from the start Freedom + control within the team (agile!) Quickstarters to aid MVP development Build application against a platform Built-in CI/CD delivery pipeline
  • 12.
  • 13.
    Allows to setup required infrastructure and continuous delivery processes for new projects in less than 5 min. OPENDEVSTACK
  • 14.
    OPENDEVSTACK OVERVIEW Provisioning App Jira Nexus farmera-dev BitBucket farmerafarmera-testfarmera ingest ingestingest farmera-cd Jenkins SonarQube 1. Provision project 2. Provision component Confluence farmera
  • 15.
    How does thisrelate to software that we “only” install and manage?
  • 16.
    OpenDevStack provides infrastructureto deploy to, and setups continuous delivery to cut down time to market Existing applications can be ported easily to ODS
  • 17.
  • 18.
    More & betterintegration of tools Extend quickstarters Software defined everything Documentation generation and multi-repo orchestration
  • 19.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise https://pixabay.com/photos/adult-artisan-tools-workshop-1866533/ Demo
  • 20.
    © OPITZ CONSULTING2019 Information Classification:: Public Pixabay Not only tools, but also processes OpenDevStack: Scaling DevOps in the Enterprise
  • 21.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise Adressing DevOps scaling obstacles Code Analysis Standardization Bitbucket Integration GitOps Cluster Migration Centrally Defined Pipeline Functions Self-service
  • 22.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise Quickstarters Source Code Pipeline Definition static source code Dockerfile for OpenShift
  • 23.
    © OPITZ CONSULTING2019 Information Classification:: Public Quickstarters Currently supported project types OpenDevStack: Scaling DevOps in the Enterprise
  • 24.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise Git Flows: You choose git flow GitHub flow Custom workflow
  • 25.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise Automated OpenShift project management For isolated development and staging environmentsmaster development feature/a feature/b Mapping branches to OpenShift projects Automatic creation of OpenShift projects
  • 26.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise One prototype Jenkins Pipeline General Pipeline Customizable Build Instructions
  • 27.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise Jenkins Pipeline Build  Jenkinsfile: branchToEnvironementMapping defines how branches are mapped to OpenShift environments  In be-spring-boot:  ‚master‘ builds are deployed into ‚test‘  All other branches will be deployed into ‚dev‘ Deployment in Openshift - branchToEnvironmentMapping
  • 28.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise OpenShift Automated CD Setup in OpenShift Creation of 3 OpenShift projects Security: built in for projects Image Streams Build Configs for Image Builds Deployment Config, Services Pipeline Build Configuration
  • 29.
    © OPITZ CONSULTING2019 Information Classification:: Public Standard CI infrastructure components OpenDevStack: Scaling DevOps in the Enterprise including proxy support on master and slaves run on OpenShift automated repo setup / cleanup & backup tasks
  • 30.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise GitOps for OpenShift  keep your OpenShift templates under version control  keep the cluster in sync  Detect, review and reconcile any drift between your desired state and your cluster  Allow to export your OpenShift project to cleaned templates  https://github.com/opendevstack/tailor opendevstack/tailor GitOps
  • 31.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise Adressing DevOps Challenges with OpenDevStack Technical complexity Quickstarters to standardize project setup for different development stacks Bad Quality Standardization and inclusion of static source code analysis and software supply chain management Lack of DevOps skills Pre-defined DevOps processes and tools, readily usable in projects No self-service infrastructure Provisioning app with Rest API to embed it enterprise workflows Disparate and not integrated tools Complete integrated development experience across different tools and vendors
  • 32.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise https://pixabay.com/get/e036b3062af41c22d9584518a33219c8b66ae3d01bb6144690f1c870/park-932920_1920.jpg Take Aways
  • 33.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise Take Aways  OpenShift is a solid foundation when running your own Kubernetes Cluster  OpenShift alone is not enough preparing you for fast Continuous Delivery  In times of digitalization, IT projects need flexible and efficient development infrastructures that can meet business requirements ad hoc and flexible and that can scale cleanly.  OpenShift, together with OpenDevStack, brings dynamic scaling and standardization to the process, sustainably improving quality, increasing efficiency, scaling knowledge, and helps bringing products to market faster.  The many bugs and ERs we filed made OpenShift better – and so does OpenDevStack we hope ☺
  • 34.
    © OPITZ CONSULTING2019 Information Classification:: Public Stay Connected  Our mission - to promote best practices around using OpenShift as a Continuous Delivery Platform.  OpenDevStack, together with OpenShift, brings dynamic scaling and standardization to the process, sustainably improving quality, increasing efficiency, scaling knowledge, and helps bringing products to market faster OpenDevStack: Scaling DevOps in the Enterprise
  • 35.
    © OPITZ CONSULTING2019 Information Classification:: Public  Überraschend mehr Möglichkeiten @OC_WIRE OPITZCONSULTING opitzconsultingWWW.OPITZ-CONSULTING.COM Clemens Utschig-Utschig Clemens works for Boehringer-Ingelheim’s IT organization – responsible for the global technology strategy, the architecture board and he is the CTO and head of engineering at BI X (bix-digital.com) – our digital startup incubator. Richard Attermeyer Richard Attermeyer works as Senior Solution Architect for OPITZ CONSULTING in the area of technology management and innovation and, among other things, heads the OC architecture board. OpenDevStack: Scaling DevOps in the Enterprise
  • 36.
    © OPITZ CONSULTING2019 Information Classification:: Public Seite 37 Backup Slides OpenDevStack: Scaling DevOps in the Enterprise
  • 37.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise Why not just Bare OCP – and off you go?  Seamless transfer of MVP / Pilots to production cluster is a must (with zero manual change effort!) – hence governance – and not „jungle of techs, DIY build mgmt,…“  Compliance – embedded .. from story – to runtime.  Openshift great as toolbox, but that‘s really about it. Extreme learning curve after „create from catalog“  Efficiency is driven by cohesive automation!
  • 38.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise Standardisation
  • 39.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise Standardisation
  • 40.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise OpenShift  Creates 3 OpenShift project by default  Security build in: Configures required permissions  Permissions for authenticated users  Permissions for project admins  Permissions for OpenShift service user  Creates required OpenShift ressources  Build Configs for Image Builds, Image Streams, Deployment Config, Services  Pipeline Build Configuration Automated CD Setup in OpenShift
  • 41.
    © OPITZ CONSULTING2019 Information Classification:: Public Standard CI infrastructure components  Jenkins Master (and slaves) – including proxy & nexus support  Sonarqube (including Bitbucket integration & made to run on OC)  Nexus artifact mgmt + automated repo setup / cleanup & backup tasks ..  Atlassian toolsuite (ansible playbooks)  Jira / Confluence / Bitbucket / Crowd OpenDevStack: Scaling DevOps in the Enterprise
  • 42.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise OpenShift  Creates 3 OpenShift project by default  Security build in: Configures required permissions  Permissions for authenticated users  Permissions for project admins  Permissions for OpenShift service user  Creates required OpenShift ressources  Build Configs for Image Builds, Image Streams, Deployment Config, Services  Pipeline Build Configuration Automated CD Setup in OpenShift
  • 43.
    © OPITZ CONSULTING2019 Information Classification:: PublicOpenDevStack: Scaling DevOps in the Enterprise OpenDevStack built on OpenShift Kubernetes CI Pipelines SD Networking Security | Authentication Logging Monitoring Storage Service Catalog DevSecOps (vulnerability scanning) Project Quickstarters Bitbucket Integration Developer self-service (Provisioning App) Shared Jenkins Libary Automatic test environment handling OpenShift configuration as code enhanced Jenkins images OpenShift (Containers as a Service) OpenDevStack