DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
-
Upload
manageiq -
Category
Technology
-
view
428 -
download
0
Transcript of DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
DevOpsw/
OpenShiftManageIQ Design
Summit '16- Fabien Dupont -
About this prezoFabien 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/infrastructureContainerized infrastructureOrchestrationPolicy-based governanceConfiguration managementAutomationPackagingUpdates
5
Tools for developer workflows
CollaborationCI/CDIssue TrackingSource Code ManagementCode reviewPlatform-as-a-Service
6
Application
Factory7
When Dev and Ops unite...
8
CI/CD Process
9
ProjectRepo
Build Test Review Deliver DeployMy Repo
Monitor
BuildRepo
ReleaseRepo
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
ProjectRepo
Build Test Review Deliver DeployMy Repo
Monitor
BuildRepo
ReleaseRepo
Third Party
CI CD
Local Test
commit push
pass / fail
CollaborationCoding ⇒ Vim (what else?)Kanban ⇒ GitLab Kanban BoardDocs ⇒ GitLab WikiPastebin ⇒ GitLab SnippetsTicketing ⇒ GitLab IssuesChat ⇒ GitLab Mattermost
CI/CD Process
CI/CD Process
16
ProjectRepo
Build Test Review Deliver DeployMy Repo
Monitor
BuildRepo
ReleaseRepo
Third Party
CI CD
Local Test
commit push
pass / fail
Asset ManagementCode/Config ⇒ GitLab ReposDocs ⇒ GitLab WikiPolicy/Rules ⇒ ManageIQ
CI/CD Process
17
ProjectRepo
Build Test Review Deliver DeployMy Repo
Monitor
BuildRepo
ReleaseRepo
Third Party
CI CD
Local Test
commit push
pass / fail
Continuous IntegrationGitLab-CI
18
ProjectRepo
Build Test Review Deliver DeployMy Repo
Monitor
BuildRepo
ReleaseRepo
Third Party
CI CD
Local Test
commit push
pass / fail
Code/Image BuildOpenShift Source-to-Image
CI/CD Process
19
ProjectRepo
Build Test Review Deliver DeployMy Repo
Monitor
BuildRepo
ReleaseRepo
Third Party
CI CD
Local Test
commit push
pass / fail
Review / ApprovalGitLab Merge Requests / Issues
CI/CD Process
20
ProjectRepo
Build Test Review Deliver DeployMy Repo
Monitor
BuildRepo
ReleaseRepo
Third Party
CI CD
Local Test
commit push
pass / fail
DeliveryImages ⇒ Docker, ImageStreamApplications ⇒ OpenShift Template
CI/CD Process
21
ProjectRepo
Build Test Review Deliver DeployMy Repo
Monitor
BuildRepo
ReleaseRepo
Third Party
CI CD
Local Test
commit push
pass / fail
Code/Image BuildOpenShift DeploymentConfig
CI/CD Process
22
ProjectRepo
Build Test Review Deliver DeployMy Repo
Monitor
BuildRepo
ReleaseRepo
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
FactoryControlCenter
23
Implementation detailsSerialize 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 stepsCreate 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 / CreditsOpenShift 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