Embrace chatOps,
stop installing deployment software
Geshan Manandhar
@geshan
Laracon EU 2016
◉ Senior Software Engineer
○ Tech solution provider
◉ Agile follower and conditional
microservices believer
whoami
I am from Kathmandu, Nepal
Currently living in Dubai, UAE
What to expect from this talk?
What is chatOps?
Why do chatOps?
How we do chatOps at Namshi
How can you start using chatOps in minutes
What is chatOps?
“
“putting tools right in the middle of the
conversation” - Jesse Newland, GitHub
Source: https://speakerdeck.com/jnewland/chatops-at-github
“
“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/
“
“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
“
“ChatOps is a way to automate tasks
within a chat conversation, making it
visible to the whole team”
Components of a Chatops stack
Chat Clients with rooms or #channels
The Bots
Hubot By GitHub
Written in Coffeescript + Nodejs
Lita
Written in Ruby
Err
Written in Python
Custom scripts
Putting them all together = your chatOps stack
Why use chatOps?
Who is already using chatOps?
Devs are happy, Ops are happier
Devs are free from installing extra software locally
Devs don’t need to install correct vesion of Ruby
or python
Anyone with permission can deploy from anywhere, any device
Devs don’t need ssh access to the servers, so Ops
don’t give it to them.
Ops are happier.
They don’t need to do the boring tasks, the bots do it for the team.
Each task done by the bot is visible to the whole team
How we do chatOps at Namshi
Tech stack at Namshi
There are ~55 microservices at Namshi
Big chunk of the backend is in PHP, other apps are built with NodeJs + Js
All new apps are dockerized
Servers on AWS are managed with salt stack
Apps are deployed with Capistrano/Kubernetes
“
“Your deploys should be as boring,
straightforward, and stress-free as
possible.” - Zach Holman
Source: https://zachholman.com/posts/deploying-software
We deployed with email request 4 years back
Our ChatOps Stack
Our ChatOps Stack
Our ChatOps Stack
Our ChatOps Stack
Chat bot at Namshi can deploy an application
Lock an application for testing
Fetch version of an application
Manage remote dev machines which live in the cloud (AWS)
Let’s see how the deployment is done by the bot
Easy Deployment process
Easy Deployment process
Nancy Deploy
Easy Deployment process
Nancy Deploy
Easy Deployment process
Nancy Deploy
Cap/Kube deploy
Easy Deployment process
Nancy Deploy
Cap/Kube deploy
Easy Deployment process
Nancy Deploy
Cap/Kube deploy
Deploy output
Easy Deployment process
Nancy Deploy
Cap/Kube deploy
Deploy output
Deploy Result
Say Hello to Nancy
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.
Demo
https://github.com/geshan/larabot-hubot
How can you start using chatOps in minutes
Thinking you have too many things to set up?
ChatOps as a service, has a free plan with 1 bot
There is a SAAS even for deployments
Deployment as a service, no free plan anymore
Deploy Bot has a guide to setup Laravel too :)
Let the chatbot do the boring, recurring tasks.
So that you can focus on the productive ones.
Namshi is Hiring
You can find me at
◉ @geshan
◉ Geshan.com.np
◉ http://bit.ly/chatops-slides-leu
Thanks!
Presentation template by SlidesCarnival
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/
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

Embrace chatops, stop installing deployment software - Laracon EU 2016