devops with openshift - fabien dupont - manageiq design summit 2016

Post on 15-Jan-2017

429 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

A demo is worth a thousand words

24

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

Thank you.Fabien Dupont - Cloud Architect -

fdupont@redhat.com

31

top related