continuous delivery & integration with jboss fuse on openshift

38
Continuous Delivery with JBoss Fuse & Openshift Christian Posta & Charles Moulliard DevNation - 23th of June 2015

Upload: charles-moulliard

Post on 12-Aug-2015

360 views

Category:

Presentations & Public Speaking


1 download

TRANSCRIPT

Page 1: Continuous Delivery & Integration with JBoss Fuse on Openshift

 

Continuous Delivery withJBoss Fuse & Openshift

Christian Posta & Charles MoulliardDevNation - 23th of June 2015

Page 2: Continuous Delivery & Integration with JBoss Fuse on Openshift

WhoPrincipal Middleware Specialist/Architect

Blog:

Twitter: @christianposta

Email:

Committer on Apache Camel, ActiveMQ, Fabric8, PMC on ActiveMQ

Author: Essential Camel Components DZone Refcard

Frequent blogger and speaker about open-source technology!

http://christianposta.com/blog

[email protected]

Page 3: Continuous Delivery & Integration with JBoss Fuse on Openshift

WhoPrincipal Solution Architect & Fuse Expert

Blog:

Twitter: @cmoulliard

Email:

Committer on Apache Camel, Karaf, Fabric8, Hawtio … & PMC

Technology evangelist

Mountain Biker, Belgian Beer Fan, Blogger

http://cmoulliard.github.io

[email protected]

Page 4: Continuous Delivery & Integration with JBoss Fuse on Openshift

Agenda

The cost of change

CI/CD

Technology

OpenShift

Fabric8

Demo

Page 5: Continuous Delivery & Integration with JBoss Fuse on Openshift

 

Cost of change

Page 6: Continuous Delivery & Integration with JBoss Fuse on Openshift

Cost of change

Development

Operational

Infrastructure

Business requirements

Microservices reducing the Cost of Change

Page 7: Continuous Delivery & Integration with JBoss Fuse on Openshift

Integration costs

Integration is Hard!

Different system vintages

Mainframe, EAI Hub, MOM, EJB, WebServices

Evolving business processes

Systems must collaborate

Page 8: Continuous Delivery & Integration with JBoss Fuse on Openshift

Integration costs

Platforms, Protocols

Data Formats

Organizational mismatch

Timing, Communication

Page 9: Continuous Delivery & Integration with JBoss Fuse on Openshift

 

ContinuousDelivery/Integration

Page 10: Continuous Delivery & Integration with JBoss Fuse on Openshift

 

Page 11: Continuous Delivery & Integration with JBoss Fuse on Openshift

“WTF is DevOps?”

IT is a core competency

Set of principles

There’s more to applications thancoding!

Feedback, Repetition

Communication

People!

Page 12: Continuous Delivery & Integration with JBoss Fuse on Openshift

Continuous Delivery

Objective Continuous Integration strategy

Establish a concrete pipeline to production

Build/Test/Release often!

Bottlenecks?

Involves Dev and Ops to be successful

Every build is a “release candidate”

Page 13: Continuous Delivery & Integration with JBoss Fuse on Openshift

Automate everything!

Developers

Unit tests

Integration tests

Builds

Deployments in dev

Operations

VMs

Provisioning software

Deployments in QA/UAT/PROD

Page 14: Continuous Delivery & Integration with JBoss Fuse on Openshift

 

Requirements to support CD

Page 15: Continuous Delivery & Integration with JBoss Fuse on Openshift

Tools, tools

Git for SCM

Gerrit for code review

Gitlab/Gogs for git projects mngt

Apache Maven - build

Jenkins + plugins - automate

Linux containers

and of course… Fabric8!

Page 16: Continuous Delivery & Integration with JBoss Fuse on Openshift

 

Linux containers

Page 17: Continuous Delivery & Integration with JBoss Fuse on Openshift

Process

Page 18: Continuous Delivery & Integration with JBoss Fuse on Openshift

Docker

Container runtime, image distribution, Process launcher

Page 19: Continuous Delivery & Integration with JBoss Fuse on Openshift

Docker

Top of a Union FS mounted with immutable images

Benefits: portability, reusability, versioning, application-centric

Page 20: Continuous Delivery & Integration with JBoss Fuse on Openshift

 

Management platform

Page 21: Continuous Delivery & Integration with JBoss Fuse on Openshift

Kubernetes

Runtime & Operational management of containers

ApiServer (event, status), Scheduler, Controller & State Storage

Agent - Kubelet - manage containers on host

Containers pods (= shared docker containers)

Page 22: Continuous Delivery & Integration with JBoss Fuse on Openshift

Kubernetes

Page 23: Continuous Delivery & Integration with JBoss Fuse on Openshift

Pod & docker

Communicate to each other using skyDNS to resolve hostname

Page 24: Continuous Delivery & Integration with JBoss Fuse on Openshift

Pods & port

Ports can be exposed

Page 25: Continuous Delivery & Integration with JBoss Fuse on Openshift

Pods & volume

Share data using mounted volume between host & container

Page 26: Continuous Delivery & Integration with JBoss Fuse on Openshift

Kubernetes Service

Kube Service loadbalanced through the pods using HA-Proxy & Routes

Page 27: Continuous Delivery & Integration with JBoss Fuse on Openshift

Kube Application JSon

Page 28: Continuous Delivery & Integration with JBoss Fuse on Openshift

 

Cloud Platform

Page 29: Continuous Delivery & Integration with JBoss Fuse on Openshift

Openshift v3

Designed around Kubernetes, Docker & Fabric8

Provide additional features : build (STI), deploy, manage & promote

Page 30: Continuous Delivery & Integration with JBoss Fuse on Openshift

Platform as a Service

Flexible technology options

Developer self service

Automation, DevOps philosophy

Decoupling between operations and developers, reduces coordination

Page 31: Continuous Delivery & Integration with JBoss Fuse on Openshift

OS3 Architecture

Page 32: Continuous Delivery & Integration with JBoss Fuse on Openshift

 

Tooling, prepackaged apps

Page 33: Continuous Delivery & Integration with JBoss Fuse on Openshift

 

Page 34: Continuous Delivery & Integration with JBoss Fuse on Openshift

 

Page 35: Continuous Delivery & Integration with JBoss Fuse on Openshift

Fabric8 Maven Plugin

docker:build Build image of app

fabric8:json generates Kube MetaData App

fabric8:apply deploy/redeploy on Openshift

and more to create env, delete pods, create routes

Page 36: Continuous Delivery & Integration with JBoss Fuse on Openshift

 

Page 37: Continuous Delivery & Integration with JBoss Fuse on Openshift

 

Demo

Page 38: Continuous Delivery & Integration with JBoss Fuse on Openshift

Questions

Twitter : @cmoulliard@christianposta

More info

www.jboss.org/products/fuse.html

http://www.redhat.com/en/technologies/jboss-middleware