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.

Fabric8 - Being devOps doesn't suck anymore

0 views

Published on

Fabric8 - Being devOps doesn't suck anymore

Published in: Technology

Fabric8 - Being devOps doesn't suck anymore

  1. 1. Being devOps doesn’t suck anymore!
  2. 2. Brought to you by...
  3. 3. Why do devOps cry? Because the gap between dev and ops is thaaaaaaaat huge.
  4. 4. What can make devOps happy? Ansible/Chef/Puppet/Salt doesn’t solve all the issues.
  5. 5. What can make devOps happy? Reducing the gap between dev and ops.
  6. 6. What is Fabric8 then? The tool to make (JVM) devOps happy ;) .
  7. 7. But how? ● integrate early ● fail fast ● automate ● monitor
  8. 8. Integration platform FTW! Let your devs be the ops (in their sandbox).
  9. 9. Little background
  10. 10. Fabric origins ● Apache Camel ● Apache ActiveMQ ● Apache ServiceMix ● Apache CXF To put the s**t together.
  11. 11. Fabric-eight ● FuseSource acquired by Red Hat ● project renamed from fabric to fabric8 ● wider scope of the project
  12. 12. Fabric8 crash course #1 Start Fabric8 platform.
  13. 13. Fabric8 crash course #2 Log into shell or GUI.
  14. 14. Fabric8 crash course #3 Tell Fabric8 to deploy your app.
  15. 15. Fabric8 crash course #4 Repeat for the test/QA/production.
  16. 16. Do less. Be dev focused.
  17. 17. In the devOps world... ...failures happen.
  18. 18. Be ready for failures Have monitoring. Stay cool.
  19. 19. Sharing is good DevOps need to share.
  20. 20. Sharing is good ? ...for service discovery.
  21. 21. Sharing is good ...for load-balancing.
  22. 22. Sharing is good …for the microservices coordination.
  23. 23. Describing deployables Fabric8 uses “profiles” for that.
  24. 24. Profile describes what to deploy For example my-spring-boot-app profile has mvn:com.example/my-spring-boot- app/1.0 jar assigned to it.
  25. 25. Profiles can have parents For example my-spring-boot-app profile has containers-java.spring. boot parent.
  26. 26. Deploy, but where? Fabric8 deploys applications to the container.
  27. 27. Containers ● Tomcat ● WildFly ● plain JVM process ● Karaf ● OpenShift ● Docker ● ...
  28. 28. Fabric8 <3 Docker Docker will be a recommended container for the Fabric8.
  29. 29. Unified provisioning Use (almost) the same profiles for test/QA/production.
  30. 30. How can I distribute profiles? Via Maven repos. Using Fabric8 Maven plugins.
  31. 31. Managing environment configuration Fabric8 uses Git for that.
  32. 32. Version your system ● you can version your system in Git ● rollback if necessary
  33. 33. Fabric8-awarness Applications deployed by the Fabric8 can use API to become Fabric8-aware.
  34. 34. Fabric8-aware Camel routing from("master:http://0.0.0.0:10000"). to("jms:prices"); from("http://0.0.0.0:10000"). to("fabric:brokers:jms:queue");
  35. 35. Fabric8-aware Spring apps @Value("${service.url}") String serviceUrl; ... new RestTemplate().getForObject(serviceUrl);
  36. 36. Monitoring Hawt.io and shell.
  37. 37. Choose your weapon - shell something for | scripting > fans
  38. 38. Choose your weapon - hawt.io Sexy!
  39. 39. Choose your weapon - hawt.io Sexy!
  40. 40. Choose your weapon - hawt.io Sexy!
  41. 41. Hawt.io is JMX friendly Hawt.io plugins know how to handle JMX beans of popular libraries and servers.
  42. 42. Monitor by default Hawt.io monitors all apps managed by Fabric8.
  43. 43. Monitoring with shell host = (process:environment <PID> | grep SSH_ADDRESS | word 1 | tac) ssh $host "grep -C 10 FindMe app/log.txt" Sriptable diagnostic!
  44. 44. Monitor legacy You can use Hawt.io to monitor your existing apps (JMX + Jolokia).
  45. 45. What’s next? Better devOps (monitoring, Ansible?, etc).
  46. 46. What’s next? More apps supported (vert.x!).
  47. 47. What’s next? Deploy all the JBoss middleware (and more).
  48. 48. Many thanks!

×