DevOps
w/ OpenShift
ManageIQ Design Summit '16
- Fabien Dupont -
About this prezo
Fabien Dupont
Red Hat France - Cloud Architect
Working with CloudForms since 2.5 years
Use case identified during customer delivery
2
What is DevOps?
3Source: DevOps Days DC 2015 word cloud from Open Spaces.
A typical DevOps workflow
4
Tools for operations/infrastructure
Containerized infrastructure
Orchestration
Policy-based governance
Configuration management
Automation
Packaging
Updates
5
Tools for developer workflows
Collaboration
CI/CD
Issue Tracking
Source Code Management
Code review
Platform-as-a-Service
6
Application
Factory
7
When Dev and Ops unite...
8
CI/CD Process
9
Project
Repo
Build Test Review Deliver DeployMy
Repo
Monitor
Build
Repo
Release
Repo
Third
Party
CI CD
Local Test
commit push
pass / fail
Ecosystem
10
FreeIPA - Authentication, users and groups management
GitLab - Source Code Management, Review, Ticketing, Documentation, Pastebin
OpenShift - Platform-as-a-Service
ManageIQ - Cloud Management Platform, Orchestrator
Ecosystem / FreeIPA
11
Integrated security information management solution
Provides centralized authentication, authorization and account information
Based on standards open source implementation :
- LDAP - 389 Directory Server
- DNS - Bind w/ LDAP backend
- Kerberos - MIT
- PKI - Dogtag
Along with CLI and web interface.
Bi-directional Active Directory integration.
⇒ Used for consistent authentication, DNS and certificates.
Ecosystem / GitLab
12
The core of our configuration management:
- Source code management, based on Git
- Tickets management: issues, enhancements, whatever...
- Code review through Merge Requests
- Continuous Integration engine
Ecosystem / OpenShift Origin
13
Platform-as-a-Service
- Leverages Docker & Kubernetes to deploy applications seemlessly
- Build your container from Source (Git) or Dockerfiles
- Deploy any Docker image with advanced scheduling
- Manage your application lifecycle: blue/gree, A/B, etc…
- Integrate with Eclipse
Ecosystem / ManageIQ
14
Should I really present it ?
Used to orchestrate the provisioning of our DevOps tooling.
15
Project
Repo
Build Test Review Deliver DeployMy
Repo
Monitor
Build
Repo
Release
Repo
Third
Party
CI CD
Local Test
commit push
pass / fail
Collaboration
Coding ⇒ Vim (what else?)
Kanban ⇒ GitLab Kanban Board
Docs ⇒ GitLab Wiki
Pastebin ⇒ GitLab Snippets
Ticketing ⇒ GitLab Issues
Chat ⇒ GitLab Mattermost
CI/CD Process
CI/CD Process
16
Project
Repo
Build Test Review Deliver DeployMy
Repo
Monitor
Build
Repo
Release
Repo
Third
Party
CI CD
Local Test
commit push
pass / fail
Asset Management
Code/Config ⇒ GitLab Repos
Docs ⇒ GitLab Wiki
Policy/Rules ⇒ ManageIQ
CI/CD Process
17
Project
Repo
Build Test Review Deliver DeployMy
Repo
Monitor
Build
Repo
Release
Repo
Third
Party
CI CD
Local Test
commit push
pass / fail
Continuous Integration
GitLab-CI
18
Project
Repo
Build Test Review Deliver DeployMy
Repo
Monitor
Build
Repo
Release
Repo
Third
Party
CI CD
Local Test
commit push
pass / fail
Code/Image Build
OpenShift Source-to-Image
CI/CD Process
19
Project
Repo
Build Test Review Deliver DeployMy
Repo
Monitor
Build
Repo
Release
Repo
Third
Party
CI CD
Local Test
commit push
pass / fail
Review / Approval
GitLab Merge Requests / Issues
CI/CD Process
20
Project
Repo
Build Test Review Deliver DeployMy
Repo
Monitor
Build
Repo
Release
Repo
Third
Party
CI CD
Local Test
commit push
pass / fail
Delivery
Images ⇒ Docker, ImageStream
Applications ⇒ OpenShift Template
CI/CD Process
21
Project
Repo
Build Test Review Deliver DeployMy
Repo
Monitor
Build
Repo
Release
Repo
Third
Party
CI CD
Local Test
commit push
pass / fail
Code/Image Build
OpenShift DeploymentConfig
CI/CD Process
22
Project
Repo
Build Test Review Deliver DeployMy
Repo
Monitor
Build
Repo
Release
Repo
Third
Party
CI CD
Local Test
commit push
pass / fail
Tomcat, Wildfly, JBoss, MySQL, MongoDB,
Vert.x, Node.js, Docker, ActiveMQ,
FeedHenry, etc...
CI/CD Process
Factory
Control
Center
23
A demo is worth a thousand words
24
Implementation details
Serialize data in Automate tree as instances ⇒ waiting for generic objects
Deploy children services from buttons and REST API
Lot of rework on dialogs along the time, to reduce the number of questions
Test, test, test… Thanks to the API.
25
Service catalog items [1/2]
26
Service catalog items [2/2]
27
Next steps
Create a Mattermost team per project
Allow for more Lifecycles (don't assume)
Deploy .gitlab-ci.yml for each lifecycle
Anything from field feedback...
28
Questions?
29
References / Credits
OpenShift Origin - https://www.openshift.org
GitLab - https://gitlab.com
Code review via GitLab Merge Requests - https://goo.gl/AOcuLc
Emmanuel Bernard (Red Hat) - Lots of slides borrowed !
Dev - Nelson Pavlosky / Flickr under CC - http://www.flickr.com/photos/skyfaller/113796919/
Ops - Leonardo Rizzi / Flickr under CC - http://www.flickr.com/photos/stars6/4381851322/
30
Thank you.
Fabien Dupont - Cloud Architect - fdupont@redhat.com
31

DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016

  • 1.
    DevOps w/ OpenShift ManageIQ DesignSummit '16 - Fabien Dupont -
  • 2.
    About this prezo FabienDupont Red Hat France - Cloud Architect Working with CloudForms since 2.5 years Use case identified during customer delivery 2
  • 3.
    What is DevOps? 3Source:DevOps Days DC 2015 word cloud from Open Spaces.
  • 4.
    A typical DevOpsworkflow 4
  • 5.
    Tools for operations/infrastructure Containerizedinfrastructure Orchestration Policy-based governance Configuration management Automation Packaging Updates 5
  • 6.
    Tools for developerworkflows Collaboration CI/CD Issue Tracking Source Code Management Code review Platform-as-a-Service 6
  • 7.
  • 8.
    When Dev andOps unite... 8
  • 9.
    CI/CD Process 9 Project Repo Build TestReview Deliver DeployMy Repo Monitor Build Repo Release Repo Third Party CI CD Local Test commit push pass / fail
  • 10.
    Ecosystem 10 FreeIPA - Authentication,users and groups management GitLab - Source Code Management, Review, Ticketing, Documentation, Pastebin OpenShift - Platform-as-a-Service ManageIQ - Cloud Management Platform, Orchestrator
  • 11.
    Ecosystem / FreeIPA 11 Integratedsecurity information management solution Provides centralized authentication, authorization and account information Based on standards open source implementation : - LDAP - 389 Directory Server - DNS - Bind w/ LDAP backend - Kerberos - MIT - PKI - Dogtag Along with CLI and web interface. Bi-directional Active Directory integration. ⇒ Used for consistent authentication, DNS and certificates.
  • 12.
    Ecosystem / GitLab 12 Thecore of our configuration management: - Source code management, based on Git - Tickets management: issues, enhancements, whatever... - Code review through Merge Requests - Continuous Integration engine
  • 13.
    Ecosystem / OpenShiftOrigin 13 Platform-as-a-Service - Leverages Docker & Kubernetes to deploy applications seemlessly - Build your container from Source (Git) or Dockerfiles - Deploy any Docker image with advanced scheduling - Manage your application lifecycle: blue/gree, A/B, etc… - Integrate with Eclipse
  • 14.
    Ecosystem / ManageIQ 14 ShouldI really present it ? Used to orchestrate the provisioning of our DevOps tooling.
  • 15.
    15 Project Repo Build Test ReviewDeliver DeployMy Repo Monitor Build Repo Release Repo Third Party CI CD Local Test commit push pass / fail Collaboration Coding ⇒ Vim (what else?) Kanban ⇒ GitLab Kanban Board Docs ⇒ GitLab Wiki Pastebin ⇒ GitLab Snippets Ticketing ⇒ GitLab Issues Chat ⇒ GitLab Mattermost CI/CD Process
  • 16.
    CI/CD Process 16 Project Repo Build TestReview Deliver DeployMy Repo Monitor Build Repo Release Repo Third Party CI CD Local Test commit push pass / fail Asset Management Code/Config ⇒ GitLab Repos Docs ⇒ GitLab Wiki Policy/Rules ⇒ ManageIQ
  • 17.
    CI/CD Process 17 Project Repo Build TestReview Deliver DeployMy Repo Monitor Build Repo Release Repo Third Party CI CD Local Test commit push pass / fail Continuous Integration GitLab-CI
  • 18.
    18 Project Repo Build Test ReviewDeliver DeployMy Repo Monitor Build Repo Release Repo Third Party CI CD Local Test commit push pass / fail Code/Image Build OpenShift Source-to-Image CI/CD Process
  • 19.
    19 Project Repo Build Test ReviewDeliver DeployMy Repo Monitor Build Repo Release Repo Third Party CI CD Local Test commit push pass / fail Review / Approval GitLab Merge Requests / Issues CI/CD Process
  • 20.
    20 Project Repo Build Test ReviewDeliver DeployMy Repo Monitor Build Repo Release Repo Third Party CI CD Local Test commit push pass / fail Delivery Images ⇒ Docker, ImageStream Applications ⇒ OpenShift Template CI/CD Process
  • 21.
    21 Project Repo Build Test ReviewDeliver DeployMy Repo Monitor Build Repo Release Repo Third Party CI CD Local Test commit push pass / fail Code/Image Build OpenShift DeploymentConfig CI/CD Process
  • 22.
    22 Project Repo Build Test ReviewDeliver DeployMy Repo Monitor Build Repo Release Repo Third Party CI CD Local Test commit push pass / fail Tomcat, Wildfly, JBoss, MySQL, MongoDB, Vert.x, Node.js, Docker, ActiveMQ, FeedHenry, etc... CI/CD Process
  • 23.
  • 24.
    A demo isworth a thousand words 24
  • 25.
    Implementation details Serialize datain Automate tree as instances ⇒ waiting for generic objects Deploy children services from buttons and REST API Lot of rework on dialogs along the time, to reduce the number of questions Test, test, test… Thanks to the API. 25
  • 26.
  • 27.
  • 28.
    Next steps Create aMattermost team per project Allow for more Lifecycles (don't assume) Deploy .gitlab-ci.yml for each lifecycle Anything from field feedback... 28
  • 29.
  • 30.
    References / Credits OpenShiftOrigin - https://www.openshift.org GitLab - https://gitlab.com Code review via GitLab Merge Requests - https://goo.gl/AOcuLc Emmanuel Bernard (Red Hat) - Lots of slides borrowed ! Dev - Nelson Pavlosky / Flickr under CC - http://www.flickr.com/photos/skyfaller/113796919/ Ops - Leonardo Rizzi / Flickr under CC - http://www.flickr.com/photos/stars6/4381851322/ 30
  • 31.
    Thank you. Fabien Dupont- Cloud Architect - fdupont@redhat.com 31