61
Embrace chatOps, stop installing deployment software Geshan Manandhar @geshan

Embrace chatOps, stop installing deployment software

Embed Size (px)

Citation preview

Page 1: Embrace chatOps, stop installing deployment software

Embrace chatOps, stop installing deployment software

Geshan Manandhar @geshan

Page 2: Embrace chatOps, stop installing deployment software

◉ Senior Software Engineer○ Tech solution provider

◉ Agile follower and conditional microservices believer

whoami

Page 3: Embrace chatOps, stop installing deployment software

What to expect from this talk

Page 4: Embrace chatOps, stop installing deployment software

What is chatOps?

Page 5: Embrace chatOps, stop installing deployment software

Why do chatOps?

Page 6: Embrace chatOps, stop installing deployment software

How we do chatOps at Namshi

Page 7: Embrace chatOps, stop installing deployment software

How can you start using chatOps in minutes

Page 8: Embrace chatOps, stop installing deployment software

What is chatOps?

Page 9: Embrace chatOps, stop installing deployment software

“putting tools right in the middle of the conversation” - Jesse Newland, GitHub

Source: https://speakerdeck.com/jnewland/chatops-at-github

Page 10: Embrace chatOps, stop installing deployment software

“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/

Page 11: Embrace chatOps, stop installing deployment software

“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

Page 12: Embrace chatOps, stop installing deployment software

“ChatOps is a way to automate tasks within a chat conversation, making it

visible to the whole team”

Page 13: Embrace chatOps, stop installing deployment software

Chat Clients with rooms or #channels

Page 14: Embrace chatOps, stop installing deployment software

The Bots

Hubot By GitHubWritten in Coffeescript + Nodejs

LitaWritten in Ruby

ErrWritten in Python

Page 15: Embrace chatOps, stop installing deployment software

Custom scripts

Page 16: Embrace chatOps, stop installing deployment software

Putting them all together = your chatOps stack

Page 17: Embrace chatOps, stop installing deployment software

Why do chatOps?

Page 18: Embrace chatOps, stop installing deployment software

Devs are happy, Ops are happier

Page 19: Embrace chatOps, stop installing deployment software

Devs are free from installing extra software locally

Page 20: Embrace chatOps, stop installing deployment software

Devs don’t need to install correct vesion of Ruby

Page 21: Embrace chatOps, stop installing deployment software

or python

Page 22: Embrace chatOps, stop installing deployment software

Anyone with permission can deploy from anywhere

Page 23: Embrace chatOps, stop installing deployment software

Devs don’t need ssh access to the servers, so Ops don’t give it to them.

Page 24: Embrace chatOps, stop installing deployment software

Ops are happier.They don’t need to do the boring tasks, the bots do it for the team.

Page 25: Embrace chatOps, stop installing deployment software

Each task done by the bot is visible to the whole team

Page 26: Embrace chatOps, stop installing deployment software

How we do chatOps at Namshi

Page 27: Embrace chatOps, stop installing deployment software

Tech stack at Namshi

Page 28: Embrace chatOps, stop installing deployment software

There are ~35 microservices at Namshi

https://pixabay.com/en/lego-stones-build-toy-622602/

Page 29: Embrace chatOps, stop installing deployment software

Big chunk of the backend is in PHP, other apps are built with NodeJs + Js

Page 30: Embrace chatOps, stop installing deployment software

All new apps are dockerized

Page 31: Embrace chatOps, stop installing deployment software

Servers on AWS are managed with salt stack

Page 32: Embrace chatOps, stop installing deployment software

Apps are deployed with Capistrano/Kubernetes

Page 33: Embrace chatOps, stop installing deployment software

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

possible.” - Zach Holman

Source: https://zachholman.com/posts/deploying-software

Page 34: Embrace chatOps, stop installing deployment software

We deployed with email request ~4 years back

Page 35: Embrace chatOps, stop installing deployment software

Our ChatOps Stack

Page 36: Embrace chatOps, stop installing deployment software

Our ChatOps Stack

Page 37: Embrace chatOps, stop installing deployment software

Our ChatOps Stack

Page 38: Embrace chatOps, stop installing deployment software

Our ChatOps Stack

Page 39: Embrace chatOps, stop installing deployment software

Chat bot at Namshi can deploy an application

Page 40: Embrace chatOps, stop installing deployment software

Lock an application for testing

Page 41: Embrace chatOps, stop installing deployment software

Fetch version of an application

Page 42: Embrace chatOps, stop installing deployment software

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

Page 43: Embrace chatOps, stop installing deployment software

Easy Deployment process

Page 44: Embrace chatOps, stop installing deployment software

Easy Deployment process

Nancy Deploy

Page 45: Embrace chatOps, stop installing deployment software

Easy Deployment process

Nancy Deploy

Page 46: Embrace chatOps, stop installing deployment software

Easy Deployment process

Nancy Deploy Cap/Kube deploy

Page 47: Embrace chatOps, stop installing deployment software

Easy Deployment process

Nancy Deploy Cap/Kube deploy

Page 48: Embrace chatOps, stop installing deployment software

Easy Deployment process

Nancy Deploy Cap/Kube deploy

Deploy output

Page 49: Embrace chatOps, stop installing deployment software

Easy Deployment process

Nancy Deploy Cap/Kube deploy

Deploy outputDeploy Result

Page 50: Embrace chatOps, stop installing deployment software

Say Hello to Nancy

Page 51: Embrace chatOps, stop installing deployment software

30Live deployments in a day

99%Success!

90Staging deployments in a day

It is normal to go live 3-5 times a day for a service/application.

Page 52: Embrace chatOps, stop installing deployment software

Demo

Page 53: Embrace chatOps, stop installing deployment software

How can you start using chatOps in minutes

Page 54: Embrace chatOps, stop installing deployment software

Thinking you have too many things to set up?

Page 55: Embrace chatOps, stop installing deployment software

ChatOps as a service, has a free plan with 1 bot

https://pixabay.com/en/discovery-space-shuttle-launch-1087701/

Page 56: Embrace chatOps, stop installing deployment software

There is a SAAS even for deployments

Page 57: Embrace chatOps, stop installing deployment software

Deployment as a service, no free plan anymore

https://pixabay.com/en/discovery-space-shuttle-launch-1087701/

Page 58: Embrace chatOps, stop installing deployment software

Let the chatbot do the boring, recurring tasks.So that you can focus on the productive ones.

Page 59: Embrace chatOps, stop installing deployment software

Any questions ?

You can find me at

◉ @geshan◉ Geshan.com.np◉ slideshare.net/geshan

Thanks!

Presentation template by SlidesCarnival

Page 60: Embrace chatOps, stop installing deployment software

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/

Page 61: Embrace chatOps, stop installing deployment software

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◉