Top Banner
Embrace chatOps, stop installing deployment software Geshan Manandhar @geshan Laracon EU 2016
67

Embrace chatops, stop installing deployment software - Laracon EU 2016

Jan 07, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Embrace chatops, stop installing deployment software - Laracon EU 2016

Embrace chatOps, stop installing deployment software

Geshan Manandhar @geshanLaracon EU 2016

Page 2: Embrace chatops, stop installing deployment software - Laracon EU 2016

◉ Senior Software Engineer○ Tech solution provider

◉ Agile follower and conditional microservices believer

whoami

Page 3: Embrace chatops, stop installing deployment software - Laracon EU 2016

I am from Kathmandu, Nepal

Page 4: Embrace chatops, stop installing deployment software - Laracon EU 2016

Currently living in Dubai, UAE

Page 5: Embrace chatops, stop installing deployment software - Laracon EU 2016

What to expect from this talk?

Page 6: Embrace chatops, stop installing deployment software - Laracon EU 2016

What is chatOps?

Page 7: Embrace chatops, stop installing deployment software - Laracon EU 2016

Why do chatOps?

Page 8: Embrace chatops, stop installing deployment software - Laracon EU 2016

How we do chatOps at Namshi

Page 9: Embrace chatops, stop installing deployment software - Laracon EU 2016

How can you start using chatOps in minutes

Page 10: Embrace chatops, stop installing deployment software - Laracon EU 2016

What is chatOps?

Page 11: Embrace chatops, stop installing deployment software - Laracon EU 2016

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

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

Page 12: Embrace chatops, stop installing deployment software - Laracon EU 2016

“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 13: Embrace chatops, stop installing deployment software - Laracon EU 2016

“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 14: Embrace chatops, stop installing deployment software - Laracon EU 2016

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

visible to the whole team”

Page 15: Embrace chatops, stop installing deployment software - Laracon EU 2016

Components of a Chatops stack

Page 16: Embrace chatops, stop installing deployment software - Laracon EU 2016

Chat Clients with rooms or #channels

Page 17: Embrace chatops, stop installing deployment software - Laracon EU 2016

The Bots

Hubot By GitHubWritten in Coffeescript + Nodejs

LitaWritten in Ruby

ErrWritten in Python

Page 18: Embrace chatops, stop installing deployment software - Laracon EU 2016

Custom scripts

Page 19: Embrace chatops, stop installing deployment software - Laracon EU 2016

Putting them all together = your chatOps stack

Page 20: Embrace chatops, stop installing deployment software - Laracon EU 2016

Why use chatOps?

Page 21: Embrace chatops, stop installing deployment software - Laracon EU 2016

Who is already using chatOps?

Page 22: Embrace chatops, stop installing deployment software - Laracon EU 2016

Devs are happy, Ops are happier

Page 23: Embrace chatops, stop installing deployment software - Laracon EU 2016

Devs are free from installing extra software locally

Page 24: Embrace chatops, stop installing deployment software - Laracon EU 2016

Devs don’t need to install correct vesion of Ruby

Page 25: Embrace chatops, stop installing deployment software - Laracon EU 2016

or python

Page 26: Embrace chatops, stop installing deployment software - Laracon EU 2016

Anyone with permission can deploy from anywhere, any device

Page 27: Embrace chatops, stop installing deployment software - Laracon EU 2016

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

Page 28: Embrace chatops, stop installing deployment software - Laracon EU 2016

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

Page 29: Embrace chatops, stop installing deployment software - Laracon EU 2016

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

Page 30: Embrace chatops, stop installing deployment software - Laracon EU 2016

How we do chatOps at Namshi

Page 31: Embrace chatops, stop installing deployment software - Laracon EU 2016

Tech stack at Namshi

Page 32: Embrace chatops, stop installing deployment software - Laracon EU 2016

There are ~55 microservices at Namshi

Page 33: Embrace chatops, stop installing deployment software - Laracon EU 2016

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

Page 34: Embrace chatops, stop installing deployment software - Laracon EU 2016

All new apps are dockerized

Page 35: Embrace chatops, stop installing deployment software - Laracon EU 2016

Servers on AWS are managed with salt stack

Page 36: Embrace chatops, stop installing deployment software - Laracon EU 2016

Apps are deployed with Capistrano/Kubernetes

Page 37: Embrace chatops, stop installing deployment software - Laracon EU 2016

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

possible.” - Zach Holman

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

Page 38: Embrace chatops, stop installing deployment software - Laracon EU 2016

We deployed with email request 4 years back

Page 39: Embrace chatops, stop installing deployment software - Laracon EU 2016

Our ChatOps Stack

Page 40: Embrace chatops, stop installing deployment software - Laracon EU 2016

Our ChatOps Stack

Page 41: Embrace chatops, stop installing deployment software - Laracon EU 2016

Our ChatOps Stack

Page 42: Embrace chatops, stop installing deployment software - Laracon EU 2016

Our ChatOps Stack

Page 43: Embrace chatops, stop installing deployment software - Laracon EU 2016

Chat bot at Namshi can deploy an application

Page 44: Embrace chatops, stop installing deployment software - Laracon EU 2016

Lock an application for testing

Page 45: Embrace chatops, stop installing deployment software - Laracon EU 2016

Fetch version of an application

Page 46: Embrace chatops, stop installing deployment software - Laracon EU 2016

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

Page 47: Embrace chatops, stop installing deployment software - Laracon EU 2016

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

Page 48: Embrace chatops, stop installing deployment software - Laracon EU 2016

Easy Deployment process

Page 49: Embrace chatops, stop installing deployment software - Laracon EU 2016

Easy Deployment process

Nancy Deploy

Page 50: Embrace chatops, stop installing deployment software - Laracon EU 2016

Easy Deployment process

Nancy Deploy

Page 51: Embrace chatops, stop installing deployment software - Laracon EU 2016

Easy Deployment process

Nancy Deploy Cap/Kube deploy

Page 52: Embrace chatops, stop installing deployment software - Laracon EU 2016

Easy Deployment process

Nancy Deploy Cap/Kube deploy

Page 53: Embrace chatops, stop installing deployment software - Laracon EU 2016

Easy Deployment process

Nancy Deploy Cap/Kube deploy

Deploy output

Page 54: Embrace chatops, stop installing deployment software - Laracon EU 2016

Easy Deployment process

Nancy Deploy Cap/Kube deploy

Deploy outputDeploy Result

Page 55: Embrace chatops, stop installing deployment software - Laracon EU 2016

Say Hello to Nancy

Page 56: Embrace chatops, stop installing deployment software - Laracon EU 2016

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 57: Embrace chatops, stop installing deployment software - Laracon EU 2016

Demohttps://github.com/geshan/larabot-hubot

Page 58: Embrace chatops, stop installing deployment software - Laracon EU 2016

How can you start using chatOps in minutes

Page 59: Embrace chatops, stop installing deployment software - Laracon EU 2016

Thinking you have too many things to set up?

Page 60: Embrace chatops, stop installing deployment software - Laracon EU 2016

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

Page 61: Embrace chatops, stop installing deployment software - Laracon EU 2016

There is a SAAS even for deployments

Page 62: Embrace chatops, stop installing deployment software - Laracon EU 2016

Deployment as a service, no free plan anymore

Page 63: Embrace chatops, stop installing deployment software - Laracon EU 2016

Deploy Bot has a guide to setup Laravel too :)

Page 64: Embrace chatops, stop installing deployment software - Laracon EU 2016

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

Page 65: Embrace chatops, stop installing deployment software - Laracon EU 2016

Namshi is Hiring

You can find me at

◉ @geshan◉ Geshan.com.np◉ http://bit.ly/chatops-slides-leu

Thanks!

Presentation template by SlidesCarnival

Page 66: Embrace chatops, stop installing deployment software - Laracon EU 2016

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 67: Embrace chatops, stop installing deployment software - Laracon EU 2016

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