38
Continuous Delivery with JBoss Fuse and OpenShift

DevNexus 2015

  • Upload
    ceposta

  • View
    185

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DevNexus 2015

Continuous Delivery with JBoss Fuse and OpenShift

Page 2: DevNexus 2015

Who?Christian PostaPrincipal Middleware Specialist/Architect

Blog: http://christianposta.com/blog

Twitter: @christianposta

Email: [email protected]

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

• Author: Essential Camel Components DZone Refcard

• Frequent blogger and speaker about open-source technology!

Page 3: DevNexus 2015

• The cost of change

• JBoss Fuse integration platform

• OpenShift PaaS

• CI/CD

• Demo

Agenda

Page 4: DevNexus 2015
Page 5: DevNexus 2015

Cost of Change

Page 6: DevNexus 2015

• Development• Operational• Infrastructure• Business requirements

Cost of change

http://blog.christianposta.com/microservices/microservices-and-reducing-the-cost-of-change/

Page 7: DevNexus 2015
Page 8: DevNexus 2015

• Microservices

• DevOps philosophies

• Cloud (IaaS, PaaS/iPaaS/mBaaS)

Hype all around!

Page 9: DevNexus 2015

Integration costs!

• Integration is Hard!• Different system vintages• Mainframe, EAI Hub, MOM, EJB, Web

Services• Evolving business processes• Systems must work together• File exchange, Shared Database, Remote

Procedure Call (RPC), Messaging

Page 10: DevNexus 2015

Integration costs!

• Platforms • Protocols• Data Formats• Timing• Organizational mismatch• Communication

Page 11: DevNexus 2015

JBoss Fuse for microservices?

Page 12: DevNexus 2015
Page 13: DevNexus 2015

Business ROI with Fusehttp://www.redhat.com/en/resources/value-red-hat-integration-products

Page 14: DevNexus 2015

RED HAT JBOSS FUSE

Development and tooling

Develop, test, debug, refine, deploy

JBoss Developer Studio

Web services frameworkWeb services standards, SOAP,

XML/HTTP, RESTful HTTP

Integration frameworkTransformation, mediation, enterprise

integration patterns

Management and monitoring

System and web services metrics, automated discovery,

container status, automatic updates

JBoss Operations Network

+ JBoss Fabric

Management Console (hawtio)

Apache CXF Apache Camel

Reliable MessagingJMS/STOMP/NMS/MQTT, publishing-subscribe/point-2-point, store and forward

Apache ActiveMQ

ContainerLife cycle management, resource management, dynamic deployment,

security and provisioning

Apache Karaf + Fuse Fabric

RED HAT ENTERPRISE LINUXWindows, UNIX, and other Linux

Page 15: DevNexus 2015

15

Apache CamelApache Camel is an open-source,

light-weight, integration library.

Use Camel to integrate disparate systems

that speak different protocols and data formats

Page 16: DevNexus 2015

Apache Camel

Enterprise Integration Patterns

http://camel.apache.org/eip

Page 17: DevNexus 2015

Features

● Enterprise Integration Patterns (EIPs)

● Domain Specific Language to write “flows” or “routes”

● Large collection of adapters/components for legacy systems, B2B, and SaaS

● Strong Unit test/Integration test framework

● Expression languages

● Data Formats

● Tooling with JBoss Developer Studio

Page 18: DevNexus 2015

• High performance• High availability• Light-weight• Multi-protocol (AMQP, MQTT, STOMP)• Multi-transport (TCP,SSL,WS,VM,HTTP)• JMS compliant• Supported in production by Red Hat as

JBoss A-MQ and with JBoss Fuse!

ActiveMQ

Page 19: DevNexus 2015
Page 20: DevNexus 2015

• Simplifies deployments• Provides centralized configuration• Versioning• Visualization of your middleware• Service discovery• Smart load balancing• Failover• Provides cluster capabilities, coordination

http://fabric8.io

Page 21: DevNexus 2015

OpenShift

Page 22: DevNexus 2015

• Flexible technology options• Developer self service• Automation, DevOps philosophy• Decoupling between operations and

developers, reduces coordination

Platform as a Service

Page 23: DevNexus 2015

Red Hat’s PaaS: OpenShift

Public PaaSService

On-premise or Private PaaSSoftware

Open Source PaaSProject

Page 24: DevNexus 2015

Scale IT Like a Factory with PaaS

Page 25: DevNexus 2015

Bringing this all together

Page 26: DevNexus 2015
Page 27: DevNexus 2015

“WTF is DevOps?”• IT is a core competency• Set of principles• There’s more to applications than coding!• Feedback• Repetition• Communication• People!

Page 28: DevNexus 2015

Continuous Delivery• Builds on continuous integration• 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 29: DevNexus 2015

Automate everything!• Developers

• Unit tests• Integration tests• Builds• Deployments in dev

• Operations• VMs• Provisioning software• Deployments in QA/UAT/PROD

Page 30: DevNexus 2015

Tools for a CD pipeline• Puppet/Chef to provision VMs• Git for SCM• Gerrit/Gitlab for code reviews• Maven• Jenkins + plugins • and of course… Fabric8!

Page 31: DevNexus 2015

Fabric8 maven plugin• fabric8:deploy• fabric8:zip• fabric8:aggregate-zip• fabric8:branch• fabric8:script (for karaf only)• http://fabric8.io/gitbook/mavenPlugin.html

Page 32: DevNexus 2015

Sample flow• Check your code in• Gerrit for code reviews• Jenkins for build + CD pipeline• Use fabric8:zip to deploy profiles to Maven

repo• Use fabric8:branch to automate deploying

multiple profiles to QA/UAT/PROD• Can use profile-import to manually import

zips• Build the binary once!

http://bit.ly/1ES6YM8

Page 33: DevNexus 2015

Sample flow http://bit.ly/1ES6YM8

Page 34: DevNexus 2015

Demo…

Page 35: DevNexus 2015

Upcoming shortly…

Page 36: DevNexus 2015

• Implemented with Docker and Kubernetes• Use any JVM (or any technology)• Docker images, encourage static, well-

defined, well-tested deployments• Provides networking, JVM isolation,

orchestration, auto-scaling, health checks, cloud deployments

Fabric8 v2 + OpenShift v3

Page 37: DevNexus 2015

Docker / Linux Containers

Page 38: DevNexus 2015

Questions?