Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Embrace chatops, stop installing deployment software - Larcon EU 2016

Embrace chatops, stop installing deployment software - Larcon EU 2016

For Laracon EU - 23-24 Aug 2016.

Are you still deploying with capistrano? It is high time to put the chat bots to work. Using chatops to deploy your software gives visibility to all team members. It also gives a consistent interface to deploy. Software Engineers do not need to install any extra software to deploy. Ops is happy because software engineers do not need SSH access to servers anymore. Namshi is a Rocket Internet e-commerce venture in Dubai. At Namshi, we deploy all our apps with chatbots built with hubot. In this session, I will uncover some real life use cases of chat bots at Namshi.

1b031ccbf968811f157cf7a892dddfed?s=128

Geshan Manandhar

August 23, 2016
Tweet

Transcript

  1. Embrace chatOps, stop installing deployment software Geshan Manandhar @geshan Laracon

    EU 2016
  2. ◉ Senior Software Engineer ◦ Tech solution provider ◉ Agile

    follower and conditional microservices believer whoami
  3. I am from Kathmandu, Nepal

  4. Currently living in Dubai, UAE

  5. What to expect from this talk?

  6. What is chatOps?

  7. Why do chatOps?

  8. How we do chatOps at Namshi

  9. How can you start using chatOps in minutes

  10. What is chatOps?

  11. “ “putting tools right in the middle of the conversation”

    - Jesse Newland, GitHub Source: https://speakerdeck.com/jnewland/chatops-at-github
  12. “ “ChatOps is a collaboration model that connects people, tools,

    process, and automation into a transparent workflow.” - Sean Regan, Atlassian Source: http://blogs.atlassian.com/2016/01/what-is-chatops-adoption-guide/
  13. “ “To move fast and maintain stability it’s important to

    have a culture of automation, measurement and sharing (CAMS).” - Jason Hand, Victorops Author of ChatOps For Dummies Source: http://www.slideshare.net/VictorOps/chatops
  14. “ “ChatOps is a way to automate tasks within a

    chat conversation, making it visible to the whole team”
  15. Components of a Chatops stack

  16. Chat Clients with rooms or #channels

  17. The Bots Hubot By GitHub Written in Coffeescript + Nodejs

    Lita Written in Ruby Err Written in Python
  18. Custom scripts

  19. Putting them all together = your chatOps stack

  20. Why use chatOps?

  21. Who is already using chatOps?

  22. Devs are happy, Ops are happier

  23. Devs are free from installing extra software locally

  24. Devs don’t need to install correct vesion of Ruby

  25. or python

  26. Anyone with permission can deploy from anywhere, any device

  27. Devs don’t need ssh access to the servers, so Ops

    don’t give it to them.
  28. Ops are happier. They don’t need to do the boring

    tasks, the bots do it for the team.
  29. Each task done by the bot is visible to the

    whole team
  30. How we do chatOps at Namshi

  31. Tech stack at Namshi

  32. There are ~55 microservices at Namshi

  33. Big chunk of the backend is in PHP, other apps

    are built with NodeJs + Js
  34. All new apps are dockerized

  35. Servers on AWS are managed with salt stack

  36. Apps are deployed with Capistrano/Kubernetes

  37. “ “Your deploys should be as boring, straightforward, and stress-free

    as possible.” - Zach Holman Source: https://zachholman.com/posts/deploying-software
  38. We deployed with email request 4 years back

  39. Our ChatOps Stack

  40. Our ChatOps Stack

  41. Our ChatOps Stack

  42. Our ChatOps Stack

  43. Chat bot at Namshi can deploy an application

  44. Lock an application for testing

  45. Fetch version of an application

  46. Manage remote dev machines which live in the cloud (AWS)

  47. Let’s see how the deployment is done by the bot

  48. Easy Deployment process

  49. Easy Deployment process Nancy Deploy

  50. Easy Deployment process Nancy Deploy

  51. Easy Deployment process Nancy Deploy Cap/Kube deploy

  52. Easy Deployment process Nancy Deploy Cap/Kube deploy

  53. Easy Deployment process Nancy Deploy Cap/Kube deploy Deploy output

  54. Easy Deployment process Nancy Deploy Cap/Kube deploy Deploy output Deploy

    Result
  55. Say Hello to Nancy

  56. 30 Live deployments in a day 99% Success! 90 Staging

    deployments in a day It is normal to go live 3-5 times a day for a service/application.
  57. Demo https://github.com/geshan/larabot-hubot

  58. How can you start using chatOps in minutes

  59. Thinking you have too many things to set up?

  60. ChatOps as a service, has a free plan with 1

    bot
  61. There is a SAAS even for deployments

  62. Deployment as a service, no free plan anymore

  63. Deploy Bot has a guide to setup Laravel too :)

  64. Let the chatbot do the boring, recurring tasks. So that

    you can focus on the productive ones.
  65. Namshi is Hiring You can find me at ◉ @geshan

    ◉ Geshan.com.np ◉ http://bit.ly/chatops-slides-leu Thanks! Presentation template by SlidesCarnival
  66. Credits/References ◉ https://pixabay.com/en/child-girl-winter-snow-face-562297/ ◉ https://pixabay.com/en/robot-toy-grey-first-plane-916284/ ◉ https://pixabay.com/en/primate-ape-thinking-mimic-view-1019101/ ◉ https://pixabay.com/en/running-sprint-cinder-track-498257/ ◉

    https://speakerdeck.com/jnewland/chatops-at-github ◉ http://blogs.atlassian.com/2016/01/what-is-chatops-adoption-guide/ ◉ http://www.slideshare.net/VictorOps/chatops ◉ https://pixabay.com/en/child-beach-liangxiaowucai-happy-538029/ ◉ https://pixabay.com/en/jewelry-ruby-pendant-625724/ ◉ https://pixabay.com/en/burmese-python-snake-reptile-nature-1150794/ ◉ https://pixabay.com/en/lock-door-old-rust-bolt-895278/ ◉ https://unsplash.com/photos/8GVGrjx82oo ◉ http://www.livefootballhub.com/tag/nepal/ ◉ https://pixabay.com/en/stacked-stones-cairn-rock-balance-1007944/ ◉ https://pixabay.com/en/lego-stones-build-toy-622602/ ◉ https://pixabay.com/en/child-childrens-baby-children-s-817368/ ◉ http://abdelrahmanhosny.com/2015/07/11/how-to-merge-two-docker-images/ ◉ https://pixabay.com/en/crystal-salt-stone-white-salt-955935/ ◉ https://pixabay.com/en/military-jet-flight-flying-f-15-1096881/
  67. Credits/References ◉ https://zachholman.com/posts/deploying-software ◉ Billy Roh - https://dribbble.com/shots/503044-Hubot/attachments/34307 ◉ https://pixabay.com/en/discovery-space-shuttle-launch-1087701/

    ◉ https://pixabay.com/en/lock-locked-padlock-closed-fence-1079329/ ◉ https://pixabay.com/en/golden-retriever-animal-shelter-750592/ ◉ https://pixabay.com/en/discovery-space-shuttle-launch-1087701/ ◉ https://pixabay.com/en/rocket-launch-smoke-rocket-take-off-67723/ ◉ https://pixabay.com/en/robonaut-saluting-dexterous-600978/ ◉ https://stackstorm.com/2015/12/10/chatops_pitfalls_and_tips/ ◉ First Illustration by: Anjan Shrestha - Anjhero.me ◉ https://www.flickr.com/photos/62244271@N03/8553590682/ ◉ Dubai - https://pixabay.com/en/dubai-burj-khalifa-skyscraper-night-1085058/ ◉ Kathmandu - https://pixabay.com/en/nepal-kathmandu-buddhism-pagodas-306621/ ◉ https://developers.500px.com/chatops-f07c15d7749c#.b1qm0k8ba ◉ https://cloud.app.box.com/v/dodatx2015 ◉ https://tech-blog.serenytics.com/deploy-your-saas-with-a-slack-bot-f6d1fc764658#.er26cb8yb ◉ https://medium.com/git-out-the-vote/chatops-198f0b62c601#.2rlfzrkl0