Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
DevOps with ActiveMQ,
Camel, Fabric8 and HawtIO
Christian Posta
6/11/14
RED HAT | ADD NAME2
Agenda
•  DevOps… What is that?
•  Enterprise Integration
•  Automated Delivery
•  To the Cloud
RED HAT | ADD NAME3
Your speaker
Christian Posta
http://christianposta.com/blog
@christianposta
christian@redhat.com
•  Pr...
Shorten the lifecycle from inception
to production so that the business
can make money!
Developers and Operations must
coo...
DevOps
RED HAT | ADD NAME6
“WTF is DevOps?”
•  IT is a core competency
•  Set of principles
•  There’s more to applications than ...
RED HAT | ADD NAME7
Shorten the feedback loop
•  Developers
•  QA
•  Operations
•  Business
•  Customers!!!
Enterprise Integration
RED HAT | ADD NAME9
Integration is easy!
RED HAT | ADD NAME10
•  Off the shelf? Home Grown? Acquisition?
•  Platforms
•  Protocols / Data Formats
•  Data Formats
•...
RED HAT | ADD NAME11
•  Light-weight integration library
•  Domain Specific Language
•  Enterprise Integration Patterns
• ...
RED HAT | ADD NAME12
•  Message Routing
•  Transformation
•  Aggregation
•  Splitting
•  Resequencer
•  Routing Slip
•  En...
RED HAT | ADD NAME13
Components
•  ActiveMQ, Websphere, Weblogic (JMS)
•  AMQP
•  ATOM feeds
•  AWS (S3, SQS, SNS, others)...
RED HAT | ADD NAME14
Java DSL
public class OrderProcessorRouteBuilder extends RouteBuilder {	
	
@Override	
public void con...
RED HAT | ADD NAME15
Spring XML DSL
<route id=“processOrders”>
<from uri=“activemq:orders”/>
<choice>
<when>
<simple>${hea...
RED HAT | ADD NAME16
•  Batch file transfers
•  Shared Database
•  RPC
•  Messaging
Integration Options
RED HAT | ADD NAME17
•  Asynchronous architectures
•  Reliable message passing
•  Loose coupling
•  Heterogeneous integrat...
RED HAT | ADD NAME18
•  The most widely used open-source
messaging broker
•  Highly configurable
•  Friendly license (no l...
RED HAT | ADD NAME19
•  High performance
•  High availability
•  Light-weight
•  Multi-protocol (AMQP, MQTT, STOMP)
•  Mul...
RED HAT | ADD NAME20
Network of Master/Slave
RED HAT | ADD NAME21
High-performance, real-time systems
Head Office
STORE
STORE
outlet
shop
24 houra
STORE
shop
Broker
Cl...
RED HAT | ADD NAME22
Ingestion for BigData Architecture
Broker
Cluster
Broker
Cluster
Web Servers
Web Servers
Web Servers
...
RED HAT | ADD NAME23
Integration Everywhere – Internet of Things
Connecting Things
• mobile devices
• meters
• industrial ...
RED HAT | ADD NAME24
JBoss Fuse
Integrate Everything!
RED HAT | ADD NAME25
More info on JBoss Fuse…
https://www.redhat.com/products/jbossenterprisemiddleware/fuse/
http://www.j...
Demo
Management
RED HAT | ADD NAME28
RED HAT | ADD NAME29
Current issues with deployments
•  Installation
•  SSH, download, unpack, install, permissions, ENV v...
RED HAT | ADD NAME30
Clients aware of Topology
•  Brokers
•  failover:(tcp://host1:port1,tcp://host2:port2)
•  Camel endpo...
RED HAT | ADD NAME31
Current best practices
•  Use templates for configuration w/ template engine
•  Puppet/Chef and/or Ca...
RED HAT | ADD NAME32
•  Simplifies deployments
•  Provides management tools for centralized
configuration
•  Visualize you...
RED HAT | ADD NAME33
•  Provides cluster capabilities, coordination
•  Service discovery, load balancing, failover
•  Depl...
RED HAT | ADD NAME34
fabric8 1.1 release
•  Java Container
•  Tomcat, TomEE, Jetty
•  Spring Boot
•  fabric:watch * with v...
RED HAT | ADD NAME35
Architecture
Clustered Registry
Agent
Agent
Zookeeper
Agent
Zookeeper
Agent
Zookeeper
Version 1.0
Pro...
RED HAT | ADD NAME36
Core concepts
•  Fabric registry
•  Holds all configuration data
•  Runtime registry for looking up d...
RED HAT | ADD NAME37
How’s fabric8 different than Puppet/Chef?
•  Middleware centric
•  Container agnostic
•  Deep knowled...
RED HAT | ADD NAME38
Fuse Management Console
RED HAT | ADD NAME39
HawtIO http://hawt.io
RED HAT | ADD NAME40
HawtIO http://hawt.io
RED HAT | ADD NAME41
FuFuse Management Console
Demo
Continuous Delivery
RED HAT | ADD NAME44
Continuous Delivery
•  Builds on continuous integration
•  Establish a concrete pipeline to productio...
RED HAT | ADD NAME45
Automate everything!
•  Developers
•  Unit tests
•  Integration tests
•  Builds
•  Deployments in dev...
RED HAT | ADD NAME46
Tools for a CD pipeline
•  Puppet/Chef to provision VMs
•  Git for SCM
•  Gerrit/Gitlab for code revi...
RED HAT | ADD NAME47
Fabric8 maven plugin
•  fabric8:deploy
•  fabric8:zip
•  fabric8:aggregate-zip
•  fabric8:branch
•  f...
RED HAT | ADD NAME48
Sample flow
•  Check your code in
•  Gerrit for code reviews
•  Jenkins for build + CD pipeline
•  Us...
Demo
Containers
RED HAT | ADD NAME51
Docker
•  http://docker.io
•  Open source
•  Lightweight VEs
•  Linux containers (LXC)
•  Portable pa...
RED HAT | ADD NAME52
How different than VMs?
RED HAT | ADD NAME53
Fabric8 Docker support
•  Docker images
•  Build docker containers for your java apps
•  Flat classpa...
Demo
OpenShift PaaS
RED HAT | ADD NAME56
What is OpenShift?
Red Hat’s free platform as a service for applications in the cloud.
RED HAT | ADD NAME57
What’s supported?
RED HAT | ADD NAME58
Flavors
origin
Public
Cloud
Service
On-
premise
or Private
Cloud
Software
Open
Source
Project
RED HAT | ADD NAME59
Terminology
l  Broker – Management host, orchestration of Nodes
l  Node – Compute host containing G...
RED HAT | ADD NAME60
xPaaS/iPaaS
l  xPaaS
-  Cartridges for Entire JBoss & Fuse Portfolio
-  EAP and EWS Enterprise Cartr...
RED HAT | ADD NAME61
More Info
http://fabric8.io
http://hawt.io
http://docker.io
http://jboss.org/products/fuse
http://act...
RED HAT | ADD NAME62
Questions?
http://christianposta.com/blog
@christianposta
christian@redhat.com
Upcoming SlideShare
Loading in …5
×

DevOps with ActiveMQ, Camel, Fabric8, and HawtIO

10,755 views

Published on

DevOps and Continuous Delivery slides with Fabric8 (http://fabric8.io), HawtIO (http://hawt.io), Camel, ActiveMQ, Docker Jenkins, etc.

  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

DevOps with ActiveMQ, Camel, Fabric8, and HawtIO

  1. 1. DevOps with ActiveMQ, Camel, Fabric8 and HawtIO Christian Posta 6/11/14
  2. 2. RED HAT | ADD NAME2 Agenda •  DevOps… What is that? •  Enterprise Integration •  Automated Delivery •  To the Cloud
  3. 3. RED HAT | ADD NAME3 Your speaker Christian Posta http://christianposta.com/blog @christianposta christian@redhat.com •  Principal Middleware Specialist •  Based in Phoenix, AZ •  Committer on Apache Camel, ActiveMQ, Apollo, PMC on ActiveMQ •  Author: Essential Camel Components DZone Refcard
  4. 4. Shorten the lifecycle from inception to production so that the business can make money! Developers and Operations must cooperate. Rely on tools/frameworks to automate, automate, and automate.
  5. 5. DevOps
  6. 6. RED HAT | ADD NAME6 “WTF is DevOps?” •  IT is a core competency •  Set of principles •  There’s more to applications than coding! •  Feedback •  Repetition •  Communication •  People!
  7. 7. RED HAT | ADD NAME7 Shorten the feedback loop •  Developers •  QA •  Operations •  Business •  Customers!!!
  8. 8. Enterprise Integration
  9. 9. RED HAT | ADD NAME9 Integration is easy!
  10. 10. RED HAT | ADD NAME10 •  Off the shelf? Home Grown? Acquisition? •  Platforms •  Protocols / Data Formats •  Data Formats •  Timing •  Organizational mismatch Why is integration hard?
  11. 11. RED HAT | ADD NAME11 •  Light-weight integration library •  Domain Specific Language •  Enterprise Integration Patterns •  Components •  Routing and Mediation (like an ESB?) •  Runs in any container (or stand alone) What is Apache Camel?
  12. 12. RED HAT | ADD NAME12 •  Message Routing •  Transformation •  Aggregation •  Splitting •  Resequencer •  Routing Slip •  Enricher •  All 65 from the book! Enterprise Integration Patterns
  13. 13. RED HAT | ADD NAME13 Components •  ActiveMQ, Websphere, Weblogic (JMS) •  AMQP •  ATOM feeds •  AWS (S3, SQS, SNS, others) •  Bean •  Cache (EHCache) •  CXF (JAX-WS, JAX-RS) •  EJB •  Drools •  File •  FTP/SFTP •  Google App Engine •  GMail •  HTTP •  IRC •  jclouds •  JDBC •  Jetty •  Twitter •  MQTT •  MyBatis •  JPA •  Spring Integration •  Spring Web Services http://camel.apache.org/components.html To see list of all components!!
  14. 14. RED HAT | ADD NAME14 Java DSL public class OrderProcessorRouteBuilder extends RouteBuilder { @Override public void configure() throws Exception { from(“activemq:orders”) .choice() .when(header(“customer-rating”).isEqualTo(“gold”)) .to(“ibmmq:topic:specialCustomer”) .otherwise() .to(“ftp://user@host/orders/regularCustomers”) .end() .log(“received new order ${body.orderId}”) .to(“ibatis:storeOrder?statementType=Insert”); } }
  15. 15. RED HAT | ADD NAME15 Spring XML DSL <route id=“processOrders”> <from uri=“activemq:orders”/> <choice> <when> <simple>${header.customer-rating} == ‘gold’</simple> <to uri=“ibmmq:topic:specialCustomer”> </when> <otherwise> <to uri=“ftp://user@host/orders/regularCustomers” /> </otherwise> </choice> <log message=“received new order ${body.orderId}”/> <to uri=“ibatis:storeOrder?statementType=Insert”/> </route>
  16. 16. RED HAT | ADD NAME16 •  Batch file transfers •  Shared Database •  RPC •  Messaging Integration Options
  17. 17. RED HAT | ADD NAME17 •  Asynchronous architectures •  Reliable message passing •  Loose coupling •  Heterogeneous integration •  Fault tolerant •  Scalable •  Real-time data Why messaging?
  18. 18. RED HAT | ADD NAME18 •  The most widely used open-source messaging broker •  Highly configurable •  Friendly license (no license fees!) •  Vibrant community (TLP) •  Backbone of top enterprises in retail, e-retail, financial services, shipping, many others! Apache ActiveMQ
  19. 19. RED HAT | ADD NAME19 •  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! ActiveMQ Features
  20. 20. RED HAT | ADD NAME20 Network of Master/Slave
  21. 21. RED HAT | ADD NAME21 High-performance, real-time systems Head Office STORE STORE outlet shop 24 houra STORE shop Broker Clusters •  Clustering, Network of Brokers •  Client-aware failover •  Master/Slave HA •  Fabric
  22. 22. RED HAT | ADD NAME22 Ingestion for BigData Architecture Broker Cluster Broker Cluster Web Servers Web Servers Web Servers Web Servers Camel HTTP Log Reader Camel HTTP Log Reader Camel HTTP Log Reader Camel HTTP Log Reader ESB ESB Camel HBase/HDFS Camel Hbase/HDFS HDFS
  23. 23. RED HAT | ADD NAME23 Integration Everywhere – Internet of Things Connecting Things • mobile devices • meters • industrial controls • smart buildings • asset tracking • traffic control • monitors • sensors • actuators Broker Clusters Arrival Airport 1
  24. 24. RED HAT | ADD NAME24 JBoss Fuse Integrate Everything!
  25. 25. RED HAT | ADD NAME25 More info on JBoss Fuse… https://www.redhat.com/products/jbossenterprisemiddleware/fuse/ http://www.jboss.org/products/fuse
  26. 26. Demo
  27. 27. Management
  28. 28. RED HAT | ADD NAME28
  29. 29. RED HAT | ADD NAME29 Current issues with deployments •  Installation •  SSH, download, unpack, install, permissions, ENV var •  Configuration •  Container, individual apps/services, brokers, security •  Upgrading •  Install, configure, rollback •  Introspection •  Big picture statistics (JVM/OS memory usage, CPU) •  JMX (jconsole, visualVM)
  30. 30. RED HAT | ADD NAME30 Clients aware of Topology •  Brokers •  failover:(tcp://host1:port1,tcp://host2:port2) •  Camel endpoints •  from(“jetty:http://22.33.44.55:8080/endpoint”) •  to(“http4://11.22.33.44:9000/endpoint”) •  Web service endpoints •  Access a specific endpoint: http://22.33.44.55:9091/endpoint
  31. 31. RED HAT | ADD NAME31 Current best practices •  Use templates for configuration w/ template engine •  Puppet/Chef and/or Capistrano/Ansible •  Store configuration (templates + values) in SCM •  Separate configuration from binary deployments •  Verifiable build and release process
  32. 32. RED HAT | ADD NAME32 •  Simplifies deployments •  Provides management tools for centralized configuration •  Visualize your middleware with HawtIO •  Polycontainer •  Blurs the line of PaaS http://fabric8.io
  33. 33. RED HAT | ADD NAME33 •  Provides cluster capabilities, coordination •  Service discovery, load balancing, failover •  Deploy to cloud (IaaS, PaaS) •  Supported as JBoss Fuse (managed) •  fabric8 1.0 is in Fuse 6.1 •  1.1 about to be released •  RC1 released 6/10 http://fabric8.io
  34. 34. RED HAT | ADD NAME34 fabric8 1.1 release •  Java Container •  Tomcat, TomEE, Jetty •  Spring Boot •  fabric:watch * with various containers •  Profile import/export •  fabric8 maven plugin enhancements
  35. 35. RED HAT | ADD NAME35 Architecture Clustered Registry Agent Agent Zookeeper Agent Zookeeper Agent Zookeeper Version 1.0 Profile CXFProfile Camel Profile Default Features Configuration Registry Content containers that form an “ensemble” Pulls  profile  data   Registers  /  Listens  for  changes  
  36. 36. RED HAT | ADD NAME36 Core concepts •  Fabric registry •  Holds all configuration data •  Runtime registry for looking up distributed services •  Profile •  Describes the container set up •  Features, Bundles, ConfigAdmin PIDs, system properties •  Hierarchical structure •  Container versioning •  Agent •  Runs on each container •  Communicates with registry to make sure container provisioned correctly
  37. 37. RED HAT | ADD NAME37 How’s fabric8 different than Puppet/Chef? •  Middleware centric •  Container agnostic •  Deep knowledge about the running processes •  Consistent configuration •  Visualizations •  Versioning built in, upgrades, rollbacks, selective upgrade, etc •  Use puppet/chef to provision your machines, use fabric8 to provision and manage your middleware/ apps
  38. 38. RED HAT | ADD NAME38 Fuse Management Console
  39. 39. RED HAT | ADD NAME39 HawtIO http://hawt.io
  40. 40. RED HAT | ADD NAME40 HawtIO http://hawt.io
  41. 41. RED HAT | ADD NAME41 FuFuse Management Console
  42. 42. Demo
  43. 43. Continuous Delivery
  44. 44. RED HAT | ADD NAME44 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”
  45. 45. RED HAT | ADD NAME45 Automate everything! •  Developers •  Unit tests •  Integration tests •  Builds •  Deployments in dev •  Operations •  VMs •  Provisioning software •  Deployments in QA/UAT/PROD
  46. 46. RED HAT | ADD NAME46 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! •  What’s this Docker thingy?
  47. 47. RED HAT | ADD NAME47 Fabric8 maven plugin •  fabric8:deploy •  fabric8:zip •  fabric8:aggregate-zip •  fabric8:branch •  fabric8:script (for karaf only) •  http://fabric8.io/gitbook/mavenPlugin.html
  48. 48. RED HAT | ADD NAME48 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!
  49. 49. Demo
  50. 50. Containers
  51. 51. RED HAT | ADD NAME51 Docker •  http://docker.io •  Open source •  Lightweight VEs •  Linux containers (LXC) •  Portable packaging •  Versioned •  Repositories
  52. 52. RED HAT | ADD NAME52 How different than VMs?
  53. 53. RED HAT | ADD NAME53 Fabric8 Docker support •  Docker images •  Build docker containers for your java apps •  Flat classpath •  Microservices
  54. 54. Demo
  55. 55. OpenShift PaaS
  56. 56. RED HAT | ADD NAME56 What is OpenShift? Red Hat’s free platform as a service for applications in the cloud.
  57. 57. RED HAT | ADD NAME57 What’s supported?
  58. 58. RED HAT | ADD NAME58 Flavors origin Public Cloud Service On- premise or Private Cloud Software Open Source Project
  59. 59. RED HAT | ADD NAME59 Terminology l  Broker – Management host, orchestration of Nodes l  Node – Compute host containing Gears l  Gear – Allocation of fixed memory, compute, and storage resources for running applications l  Cartridge – A technology/framework (PHP, Perl, Java/ JEE, Ruby, Python, MySQL, etc.) to build applications l  Application – Instantiation of a Cartridge l  Client Tools – CLI, Eclipse Plugin, Web Console, Java API, REST API
  60. 60. RED HAT | ADD NAME60 xPaaS/iPaaS l  xPaaS -  Cartridges for Entire JBoss & Fuse Portfolio -  EAP and EWS Enterprise Cartridges Today -  Several Community Cartridges Available Today l  iPaaS -  Integration PaaS -  Fuse/Fabric Cartridge
  61. 61. RED HAT | ADD NAME61 More Info http://fabric8.io http://hawt.io http://docker.io http://jboss.org/products/fuse http://activemq.apache.org http://camel.apache.org
  62. 62. RED HAT | ADD NAME62 Questions? http://christianposta.com/blog @christianposta christian@redhat.com

×