Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

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

Transcript of Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Page 1: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Embrace chatOps, stop installing deployment software

Geshan Manandhar @geshan

Page 2: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

◉ Senior Software Engineer○ Tech solution provider

◉ Agile follower and conditional microservices believer

whoami

Page 3: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

What to expect from this talk

Page 4: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

What is chatOps?

Page 5: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Why do chatOps?

Page 6: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

How we do chatOps at Namshi

Page 7: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

How can you start using chatOps in minutes

Page 8: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

What is chatOps?

Page 9: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

“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 by Geshan Manandhar at Codemotion Dubai

“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 by Geshan Manandhar at Codemotion Dubai

“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 by Geshan Manandhar at Codemotion Dubai

“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 by Geshan Manandhar at Codemotion Dubai

Chat Clients with rooms or #channels

Page 14: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

The Bots

Hubot By GitHubWritten in Coffeescript + Nodejs

LitaWritten in Ruby

ErrWritten in Python

Page 15: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Custom scripts

Page 16: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Putting them all together = your chatOps stack

Page 17: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Why do chatOps?

Page 18: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Devs are happy, Ops are happier

Page 19: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Devs are free from installing extra software locally

Page 20: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Devs don’t need to install correct vesion of Ruby

Page 21: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

or python

Page 22: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Anyone with permission can deploy from anywhere

Page 23: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

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 by Geshan Manandhar at Codemotion Dubai

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 by Geshan Manandhar at Codemotion Dubai

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

Page 26: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

How we do chatOps at Namshi

Page 27: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Tech stack at Namshi

Page 28: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

There are ~35 microservices at Namshi

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

Page 29: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

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

Page 30: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

All new apps are dockerized

Page 31: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Servers on AWS are managed with salt stack

Page 32: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Apps are deployed with Capistrano/Kubernetes

Page 33: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

“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 by Geshan Manandhar at Codemotion Dubai

We deployed with email request ~4 years back

Page 35: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Our ChatOps Stack

Page 36: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Our ChatOps Stack

Page 37: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Our ChatOps Stack

Page 38: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Our ChatOps Stack

Page 39: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Chat bot at Namshi can deploy an application

Page 40: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Lock an application for testing

Page 41: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Fetch version of an application

Page 42: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

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

Page 43: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Easy Deployment process

Page 44: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Easy Deployment process

Nancy Deploy

Page 45: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Easy Deployment process

Nancy Deploy

Page 46: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Easy Deployment process

Nancy Deploy Cap/Kube deploy

Page 47: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Easy Deployment process

Nancy Deploy Cap/Kube deploy

Page 48: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Easy Deployment process

Nancy Deploy Cap/Kube deploy

Deploy output

Page 49: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Easy Deployment process

Nancy Deploy Cap/Kube deploy

Deploy outputDeploy Result

Page 50: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Say Hello to Nancy

Page 51: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

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 by Geshan Manandhar at Codemotion Dubai

Demo

Page 53: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

How can you start using chatOps in minutes

Page 54: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

Thinking you have too many things to set up?

Page 55: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

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 by Geshan Manandhar at Codemotion Dubai

There is a SAAS even for deployments

Page 57: Embrace chatOps, stop installing deployment software by Geshan Manandhar at Codemotion Dubai

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 by Geshan Manandhar at Codemotion Dubai

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 by Geshan Manandhar at Codemotion Dubai

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 by Geshan Manandhar at Codemotion Dubai

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 by Geshan Manandhar at Codemotion Dubai

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◉