embrace chatops, stop installing deployment software - laracon eu 2016

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

Upload: geshan-manandhar

Post on 07-Jan-2017

399 views

Category:

Technology


0 download

TRANSCRIPT

Embrace chatOps, stop installing deployment software

Geshan Manandhar @geshanLaracon 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 GitHubWritten in Coffeescript + Nodejs

LitaWritten in Ruby

ErrWritten 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 outputDeploy Result

Say Hello to Nancy

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.

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