SlideShare a Scribd company logo
1 of 63
Download to read offline
Infracoders Meetup GRAZ
21. February 2017
Infracoders
• Infrastructure Automation
• Technologies: Chef, Puppet, Docker, Jenkins etc.
• Exchange of ideas
• Tips & tricks
• Networking
Leitnergasse 16, 8010 Graz | www.infralovers.com
Plan for the future
• Revive Infracoders Meetups
• Every 6 weeks
• Cooperation
• Give a speech
• Contact: linkedin.com/in/theresa-wallas
twallas@infralovers.com
Leitnergasse 16, 8010 Graz | www.infralovers.com
Agenda
• 19:00-20:00 Talk, Questions & Answers
• 20:00-21:00 Networking
• Drinks are sponsored by Infralovers
• Additional drinks at the bar
Leitnergasse 16, 8010 Graz | www.infralovers.com
Bots are taking my job,
so I started rollin’ my own…
About me
• Jürgen Brüder (@jaybrueder)
• Senior IT-Consultant at Infralovers
• Trainer at Commandemy
• Before that, I did Start-Ups
• Barcamp-Graz Orga
Leitnergasse 16, 8010 Graz | www.infralovers.com
Infralovers
• IT-Consultancy for over 13 years
• CEO is Edmund Haselwanter
• Customers include Telekom Austria, Sony NetServices,
SAP, GE Capital to mention a few
• Our focus: IT-Infrastructure, Cloud and Automation
Leitnergasse 16, 8010 Graz | www.infralovers.com
• We also love to teach
• Our courses include topics like OpenStack, AWS, Jenkins,
Ruby, Chef, BDD, Kubernetes, Docker etc.
• Tech that we actually use as Consultants
• http://commandemy.com
Leitnergasse 16, 8010 Graz | www.infralovers.com
Agenda
• The problem we needed to solve
• ChatBots and ChatOps
• How we solved the problem
• Live-Demo
• Q&A
Leitnergasse 16, 8010 Graz | www.infralovers.com
Customer story
Moving to the cloud
• For two years we accompanied a customer on his move to
the cloud (Amazon Web Services)
• Speed up deployments
• Create an automated deployment pipeline
• Reducing manual labour and human error
Leitnergasse 16, 8010 Graz | www.infralovers.com
What is a Deployment?
“The process of uploading a new version of software to a server”
Communication is key
• 5 enterprise applications moved so far
• Each having it’s own remote developer team…
• in 4 different countries (AT, DE, FIN, UK)
• All managed by a couple of people in Austrian HQ
Leitnergasse 16, 8010 Graz | www.infralovers.com
We did interviews
• Where are the pain points?
• What can we help improve?
• What works? What does not?
• How do employees feel about moving to the cloud?
Leitnergasse 16, 8010 Graz | www.infralovers.com
Answers
• We want as little operations as possible
• We want to know what is going on all the time
• Developers rely heavily on other people to deploy
• Management does not appreciate what we do
• More tools are good, but can we trust our employees?
Leitnergasse 16, 8010 Graz | www.infralovers.com
Goals
• We wanted to give people the power to deploy as often as
they needed to
• No access to deployment tools, except chat
• Visibility and common history
• Increase management appreciation
Leitnergasse 16, 8010 Graz | www.infralovers.com
ChatOps
ChatOps
• A collaboration model that connects people, tools,
processes, and automation into a transparent workflow
• It’s all about conversation
• It’s basically your whole company happening inside a chat
tool
Leitnergasse 16, 8010 Graz | www.infralovers.com
You already use it with your friends
• Sending SMS or WhatsApp messages instead of calling
• Discussing important news inside Facebook comments
• You probably chat with your co-workers through Skype
• Are you still using E-Mails?
Leitnergasse 16, 8010 Graz | www.infralovers.com
ChatOps in the enterprise
• Using a chat tool is pretty common in the enterprise
(Skype, Jabber)
• Employees chatting with each other is normal
• But does your IT infrastructure also chat with you?
• Can you chat with your IT infrastructure?
Leitnergasse 16, 8010 Graz | www.infralovers.com
What do we see?
• Channels for each project
• Direct reference of co-worker
• External systems posting channel relevant messages
(Trello, Mailchimp)
• Interaction with Trello post
Leitnergasse 16, 8010 Graz | www.infralovers.com
Interacting with IT is changing
• Human to human interaction is driven by communication
• Human to machine interaction used to be driven by buttons
• With ChatOps, we can also communicate with machines and
tools
• But not all tools are ChatOps ready yet…
Leitnergasse 16, 8010 Graz | www.infralovers.com
http://nordicapis.com/12-frameworks-to-build-chatops-bots/
ChatOps Tools
Things to remember
• Never share confidential data through a ChatOps tool
• Mattermost is self-hosted, other tools are not
• External tools often integrate with Slack/Mattermost out-
of-the-box
Leitnergasse 16, 8010 Graz | www.infralovers.com
It’s not all sunshine and flowers
• Info diet
• Wiki / Documentation becomes “look into the chat history”
• Danger of being always “on”
• Ding, ding, ding – Notification hell
Leitnergasse 16, 8010 Graz | www.infralovers.com
I recommend this GitHub repo
• https://github.com/buritica/collaboration-guides
• Guidelines for Effective Collaboration
• Has a lot of great info about when to message, who to
message and when a phone call is a better idea
Leitnergasse 16, 8010 Graz | www.infralovers.com
ChatBots
What is a ChatBot?
• Software that can respond to your text messages
• Should “mimic” conversation with people using artificial
intelligence
• Can take action according to your wishes
• “Claire, book me a flight to San Francisco tomorrow”
Leitnergasse 16, 8010 Graz | www.infralovers.com
Why should you care?
• StartUp Buzzword of the year
• Will play a role in IT-Automation
• Do you like terminal windows? You’ll love bots!
• Consumer vs. Business
• Integrate a bot into your ChatOps tool
Leitnergasse 16, 8010 Graz | www.infralovers.com
Our solution
What we implemented
• ChatOps was a big part of solving our customers problem
• We created our own bot that joins the conversation
• The bot is able to interact with the deployment pipeline
• Employees are able to interact with the bot
• They are not able to interact with the deployment pipeline
directly
Leitnergasse 16, 8010 Graz | www.infralovers.com
Rollin our own…
• Our own bot is running on the Lita bot framework
• Extended by writing custom plugins
• Using the Ruby programming language
• Listens in on Slack (like a user)
• Triggers deployments with Jenkins
• Actually, we implemented two bots!
Leitnergasse 16, 8010 Graz | www.infralovers.com
via Bot
Why Lita?
• We really like Ruby
• At the time a very advanced bot framework
• Great Slack integration
• Plugins are like Ruby Gems
• Easiest to customize for us Rubyists
• We also use other Ruby tools in the deployment pipeline
Leitnergasse 16, 8010 Graz | www.infralovers.com
There are other bot options
Did you say two bots?
• We have one bot for each “environment”
• One for staging
• One for production
• Reason: Security
• We called them “Marvin” and “Bender”
Leitnergasse 16, 8010 Graz | www.infralovers.com
Bot Security
• Marvin is only allowed to deploy to staging
• All developers can communicate with Marvin
• Bender does “the heavy lifting” in production
• Only selected users can trigger production deployments
• We can grant and revoke deployments rights on a per user
basis
Leitnergasse 16, 8010 Graz | www.infralovers.com
The Bot and Jenkins
• The bot runs on the same instance as Jenkins does
• No cross-network triggering of jobs
• Jenkins dashboard is only accessible via SSH tunnel
• Jenkins gives job info to the bot, the bot posts it in Slack
• The bot is like a proxy.
• Ability to add more tools later (e.g. GitLab, GitHub)
Leitnergasse 16, 8010 Graz | www.infralovers.com
What other magic do we use?
• Amazon EC2 & Elastic Beanstalk (depends on app)
• Amazon CloudFormation for orchestration
• Amazon Lambda for serverless code execution
• Chef for Configuration Management
• Artifactory for artifact storage
• Datadog for monitoring
• GitLab for source control management
• Jenkins for continuous deployment
• There a also tools for a ”per app” basis (e.g. RunScope)
Leitnergasse 16, 8010 Graz | www.infralovers.com
Demo
Lessons learned
Leitnergasse 16, 8010 Graz | www.infralovers.com
• Empowering for the developers
• Removed unnecessary human interaction in deployments
• There is still QA going on (staging vs production)
• Management sees work happening
• Common place for information
What the future holds
Leitnergasse 16, 8010 Graz | www.infralovers.com
• Two-Factor Auth with Smartwatch (https://duo.com/)
• Amazon Alexa
• Google Assistant
• Apple Siri
• Using a more advanced bot as basis (Cog)
You want to learn more?
Leitnergasse 16, 8010 Graz | www.infralovers.com
We offer courses on
• ChatOps and custom bots
• Amazon Web Services
• Jenkins
• Chef
• Automated Workflows
• http://commandemy.com
We are hiring!
team@infralovers.com
Time for Q&A!
jbrueder@infralovers.com
Where can we find the demo code?
Leitnergasse 16, 8010 Graz | www.infralovers.com
https://github.com/infralovers/chatops-demo-cookbook
https://github.com/infralovers/chatops-demo-lita-plugin
References
Leitnergasse 16, 8010 Graz | www.infralovers.com
https://github.com/operable/cog
https://github.com/github/hubot
https://www.lita.io/
https://github.com/errbotio/errbot
https://github.com/buritica/collaboration-guides

More Related Content

What's hot

Icinga Camp San Francisco 2017 - Icinga Director - Managing your configuration
Icinga Camp San Francisco 2017 - Icinga Director - Managing your configurationIcinga Camp San Francisco 2017 - Icinga Director - Managing your configuration
Icinga Camp San Francisco 2017 - Icinga Director - Managing your configuration
Icinga
 
Icinga Camp Berlin 2017 - Icinga Web 2 - How to Write Modules
Icinga Camp Berlin 2017 - Icinga Web 2 - How to Write ModulesIcinga Camp Berlin 2017 - Icinga Web 2 - How to Write Modules
Icinga Camp Berlin 2017 - Icinga Web 2 - How to Write Modules
Icinga
 

What's hot (20)

Icinga Camp Bangalore - Icinga and Icinga Director
Icinga Camp Bangalore - Icinga and Icinga Director Icinga Camp Bangalore - Icinga and Icinga Director
Icinga Camp Bangalore - Icinga and Icinga Director
 
Icinga Camp Bangalore - Icinga2 and Ansible
Icinga Camp Bangalore - Icinga2 and AnsibleIcinga Camp Bangalore - Icinga2 and Ansible
Icinga Camp Bangalore - Icinga2 and Ansible
 
Icinga2 - Apify them all
Icinga2 - Apify them allIcinga2 - Apify them all
Icinga2 - Apify them all
 
Icinga Camp Antwerp - Icinga2 Configuration
Icinga Camp Antwerp - Icinga2 ConfigurationIcinga Camp Antwerp - Icinga2 Configuration
Icinga Camp Antwerp - Icinga2 Configuration
 
Icinga Camp Amsterdam - How to monitor Windows
Icinga Camp Amsterdam - How to monitor WindowsIcinga Camp Amsterdam - How to monitor Windows
Icinga Camp Amsterdam - How to monitor Windows
 
20161103 Serverless Italy Meetup
20161103   Serverless Italy Meetup20161103   Serverless Italy Meetup
20161103 Serverless Italy Meetup
 
Icinga camp ams 2016 icinga2
Icinga camp ams 2016 icinga2Icinga camp ams 2016 icinga2
Icinga camp ams 2016 icinga2
 
Serverless On Stage - Serverless URL Shortener
Serverless On Stage - Serverless URL ShortenerServerless On Stage - Serverless URL Shortener
Serverless On Stage - Serverless URL Shortener
 
Icinga Camp Amsterdam - Icinga Director
Icinga Camp Amsterdam - Icinga DirectorIcinga Camp Amsterdam - Icinga Director
Icinga Camp Amsterdam - Icinga Director
 
Icinga Camp San Diego 2016 - Icinga Director
Icinga Camp San Diego 2016 - Icinga DirectorIcinga Camp San Diego 2016 - Icinga Director
Icinga Camp San Diego 2016 - Icinga Director
 
Icinga Camp San Francisco 2017 - Icinga Director - Managing your configuration
Icinga Camp San Francisco 2017 - Icinga Director - Managing your configurationIcinga Camp San Francisco 2017 - Icinga Director - Managing your configuration
Icinga Camp San Francisco 2017 - Icinga Director - Managing your configuration
 
Icinga Web 2 at Icinga Camp Antwerp
Icinga Web 2 at Icinga Camp AntwerpIcinga Web 2 at Icinga Camp Antwerp
Icinga Web 2 at Icinga Camp Antwerp
 
Icinga Camp Berlin 2017 - Welcome & State of Icinga
Icinga Camp Berlin 2017 - Welcome & State of IcingaIcinga Camp Berlin 2017 - Welcome & State of Icinga
Icinga Camp Berlin 2017 - Welcome & State of Icinga
 
Presentation about Icinga at Kiratech DevOps Day in Verona
Presentation about Icinga at Kiratech DevOps Day in VeronaPresentation about Icinga at Kiratech DevOps Day in Verona
Presentation about Icinga at Kiratech DevOps Day in Verona
 
Icinga Camp Berlin 2017 - Icinga Web 2 - How to Write Modules
Icinga Camp Berlin 2017 - Icinga Web 2 - How to Write ModulesIcinga Camp Berlin 2017 - Icinga Web 2 - How to Write Modules
Icinga Camp Berlin 2017 - Icinga Web 2 - How to Write Modules
 
Saluki - do it like a user
Saluki - do it like a userSaluki - do it like a user
Saluki - do it like a user
 
Open Source Monitoring with Icinga at Fossasia 2015
Open Source Monitoring with Icinga at Fossasia 2015Open Source Monitoring with Icinga at Fossasia 2015
Open Source Monitoring with Icinga at Fossasia 2015
 
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
 
Loadays 2015 - Enterprise Monitoring with Icinga
Loadays 2015 - Enterprise Monitoring with IcingaLoadays 2015 - Enterprise Monitoring with Icinga
Loadays 2015 - Enterprise Monitoring with Icinga
 
Icinga Camp Amsterdam - Icinga2 and Ansible
Icinga Camp Amsterdam - Icinga2 and AnsibleIcinga Camp Amsterdam - Icinga2 and Ansible
Icinga Camp Amsterdam - Icinga2 and Ansible
 

Viewers also liked

Viewers also liked (20)

How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 
SIM-1グランプリ(スピードテスト)
SIM-1グランプリ(スピードテスト)SIM-1グランプリ(スピードテスト)
SIM-1グランプリ(スピードテスト)
 
大型 Web Application 轉移到 微服務的經驗分享
大型 Web Application 轉移到微服務的經驗分享大型 Web Application 轉移到微服務的經驗分享
大型 Web Application 轉移到 微服務的經驗分享
 
Let's view tanzania
Let's view tanzaniaLet's view tanzania
Let's view tanzania
 
Culture
CultureCulture
Culture
 
Atelier mooc enseigner le langage c en ligne
Atelier   mooc enseigner le langage c en ligneAtelier   mooc enseigner le langage c en ligne
Atelier mooc enseigner le langage c en ligne
 
Interview Techniques - Leverhulme PhD student training 2017
Interview Techniques - Leverhulme PhD student training 2017Interview Techniques - Leverhulme PhD student training 2017
Interview Techniques - Leverhulme PhD student training 2017
 
Le pacte Etat-métropoles: qu'est-ce que c'est ?
Le pacte Etat-métropoles: qu'est-ce que c'est ?Le pacte Etat-métropoles: qu'est-ce que c'est ?
Le pacte Etat-métropoles: qu'est-ce que c'est ?
 
Vietnam _Work Permits for Foreigners in Vietnam
Vietnam _Work Permits for Foreigners in VietnamVietnam _Work Permits for Foreigners in Vietnam
Vietnam _Work Permits for Foreigners in Vietnam
 
Aparato digestivo enfermería
Aparato digestivo enfermeríaAparato digestivo enfermería
Aparato digestivo enfermería
 
Performance Comparison of Mutex, RWLock and Atomic types in Rust
Performance Comparison of Mutex, RWLock and  Atomic types in RustPerformance Comparison of Mutex, RWLock and  Atomic types in Rust
Performance Comparison of Mutex, RWLock and Atomic types in Rust
 
How employee brand relationships and employee relationship co-exist
How employee brand relationships and employee relationship co-existHow employee brand relationships and employee relationship co-exist
How employee brand relationships and employee relationship co-exist
 
Earrings For Women And Children
Earrings For Women And ChildrenEarrings For Women And Children
Earrings For Women And Children
 
Workshop Biat, Unical - S3 Calabria
Workshop Biat, Unical - S3 CalabriaWorkshop Biat, Unical - S3 Calabria
Workshop Biat, Unical - S3 Calabria
 
Tour of UX deliverables - dev/haag
Tour of UX deliverables - dev/haagTour of UX deliverables - dev/haag
Tour of UX deliverables - dev/haag
 
ECSC-SUN newsletter January 2017
ECSC-SUN newsletter January 2017ECSC-SUN newsletter January 2017
ECSC-SUN newsletter January 2017
 
Respuesta ONUDC exportación de coca
Respuesta ONUDC exportación de cocaRespuesta ONUDC exportación de coca
Respuesta ONUDC exportación de coca
 
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみアメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
 
Do i trust what i can't see? Successful distributed teams - LeanAgileUS 2017
Do i trust what i can't see?  Successful distributed teams - LeanAgileUS 2017Do i trust what i can't see?  Successful distributed teams - LeanAgileUS 2017
Do i trust what i can't see? Successful distributed teams - LeanAgileUS 2017
 
10 Good Reasons - NetApp StorageGRID
10 Good Reasons - NetApp StorageGRID10 Good Reasons - NetApp StorageGRID
10 Good Reasons - NetApp StorageGRID
 

Similar to Bots are taking my job, so I started rollin my own

Making operations visible - Nick Gallbreath
Making operations visible - Nick GallbreathMaking operations visible - Nick Gallbreath
Making operations visible - Nick Gallbreath
Devopsdays
 
Making operations visible - devopsdays tokyo 2013
Making operations visible  - devopsdays tokyo 2013Making operations visible  - devopsdays tokyo 2013
Making operations visible - devopsdays tokyo 2013
Nick Galbreath
 

Similar to Bots are taking my job, so I started rollin my own (20)

What is cloud native and why should you care - Infracoders / DevOps / CloudNa...
What is cloud native and why should you care - Infracoders / DevOps / CloudNa...What is cloud native and why should you care - Infracoders / DevOps / CloudNa...
What is cloud native and why should you care - Infracoders / DevOps / CloudNa...
 
Citizen Developer Tools (session at SharePoint Saturday Houston 4/28/2018) by...
Citizen Developer Tools (session at SharePoint Saturday Houston 4/28/2018) by...Citizen Developer Tools (session at SharePoint Saturday Houston 4/28/2018) by...
Citizen Developer Tools (session at SharePoint Saturday Houston 4/28/2018) by...
 
Citizen Developer Tools @ Valo Solutions / Blue Meteorite Monday session
Citizen Developer Tools @ Valo Solutions / Blue Meteorite Monday sessionCitizen Developer Tools @ Valo Solutions / Blue Meteorite Monday session
Citizen Developer Tools @ Valo Solutions / Blue Meteorite Monday session
 
Citizen Developer Tools are not just for Citizen Developers (session at Share...
Citizen Developer Tools are not just for Citizen Developers (session at Share...Citizen Developer Tools are not just for Citizen Developers (session at Share...
Citizen Developer Tools are not just for Citizen Developers (session at Share...
 
Citizen Developer Tools - session at SPS New England 10/20/2018
Citizen Developer Tools - session at SPS New England 10/20/2018Citizen Developer Tools - session at SPS New England 10/20/2018
Citizen Developer Tools - session at SPS New England 10/20/2018
 
Citizen Developer Tools (session at SharePoint Saturday Twin Cities 4/14/2018...
Citizen Developer Tools (session at SharePoint Saturday Twin Cities 4/14/2018...Citizen Developer Tools (session at SharePoint Saturday Twin Cities 4/14/2018...
Citizen Developer Tools (session at SharePoint Saturday Twin Cities 4/14/2018...
 
The world is not black and white – Impact of decisions over the lifetime of a...
The world is not black and white – Impact of decisions over the lifetime of a...The world is not black and white – Impact of decisions over the lifetime of a...
The world is not black and white – Impact of decisions over the lifetime of a...
 
Choosing the right Technologies for your next unicorn.
Choosing the right Technologies for your next unicorn.Choosing the right Technologies for your next unicorn.
Choosing the right Technologies for your next unicorn.
 
IoT is Something to Figure Out
IoT is Something to Figure OutIoT is Something to Figure Out
IoT is Something to Figure Out
 
EMFcamp2022 - What if apps logged into you, instead of you logging into apps?
EMFcamp2022 - What if apps logged into you, instead of you logging into apps?EMFcamp2022 - What if apps logged into you, instead of you logging into apps?
EMFcamp2022 - What if apps logged into you, instead of you logging into apps?
 
Movin on Up SPSHouston 2017
Movin on Up SPSHouston 2017Movin on Up SPSHouston 2017
Movin on Up SPSHouston 2017
 
🌺 Women in Automation Series: Intro to Studio ▶ Session 1
🌺 Women in Automation Series: Intro to Studio ▶ Session 1🌺 Women in Automation Series: Intro to Studio ▶ Session 1
🌺 Women in Automation Series: Intro to Studio ▶ Session 1
 
BitCraft 2017 general presentation
BitCraft 2017 general presentationBitCraft 2017 general presentation
BitCraft 2017 general presentation
 
Introduction to IoT lab Berlin
Introduction to IoT lab BerlinIntroduction to IoT lab Berlin
Introduction to IoT lab Berlin
 
Making operations visible - Nick Gallbreath
Making operations visible - Nick GallbreathMaking operations visible - Nick Gallbreath
Making operations visible - Nick Gallbreath
 
Making operations visible - devopsdays tokyo 2013
Making operations visible  - devopsdays tokyo 2013Making operations visible  - devopsdays tokyo 2013
Making operations visible - devopsdays tokyo 2013
 
City of Amsterdam: High velocity development
City of Amsterdam: High velocity developmentCity of Amsterdam: High velocity development
City of Amsterdam: High velocity development
 
Openbar Kontich // How to create intelligent & personal conversational AI - W...
Openbar Kontich // How to create intelligent & personal conversational AI - W...Openbar Kontich // How to create intelligent & personal conversational AI - W...
Openbar Kontich // How to create intelligent & personal conversational AI - W...
 
Solutions to reduce Total Cost of Setup (TCS) and simplify your life! - #iJac...
Solutions to reduce Total Cost of Setup (TCS) and simplify your life! - #iJac...Solutions to reduce Total Cost of Setup (TCS) and simplify your life! - #iJac...
Solutions to reduce Total Cost of Setup (TCS) and simplify your life! - #iJac...
 
Flink's Journey from Academia to the ASF
Flink's Journey from Academia to the ASFFlink's Journey from Academia to the ASF
Flink's Journey from Academia to the ASF
 

Recently uploaded

一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理
一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理
一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理
AS
 
一比一原版英国格林多大学毕业证如何办理
一比一原版英国格林多大学毕业证如何办理一比一原版英国格林多大学毕业证如何办理
一比一原版英国格林多大学毕业证如何办理
AS
 
一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样
一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样
一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样
ayvbos
 
如何办理(UCLA毕业证)加州大学洛杉矶分校毕业证成绩单本科硕士学位证留信学历认证
如何办理(UCLA毕业证)加州大学洛杉矶分校毕业证成绩单本科硕士学位证留信学历认证如何办理(UCLA毕业证)加州大学洛杉矶分校毕业证成绩单本科硕士学位证留信学历认证
如何办理(UCLA毕业证)加州大学洛杉矶分校毕业证成绩单本科硕士学位证留信学历认证
hfkmxufye
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
F
 
一比一原版帝国理工学院毕业证如何办理
一比一原版帝国理工学院毕业证如何办理一比一原版帝国理工学院毕业证如何办理
一比一原版帝国理工学院毕业证如何办理
F
 
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
AS
 
一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样
一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样
一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样
AS
 
一比一原版桑佛德大学毕业证成绩单申请学校Offer快速办理
一比一原版桑佛德大学毕业证成绩单申请学校Offer快速办理一比一原版桑佛德大学毕业证成绩单申请学校Offer快速办理
一比一原版桑佛德大学毕业证成绩单申请学校Offer快速办理
apekaom
 
一比一原版贝德福特大学毕业证学位证书
一比一原版贝德福特大学毕业证学位证书一比一原版贝德福特大学毕业证学位证书
一比一原版贝德福特大学毕业证学位证书
F
 

Recently uploaded (20)

Loker Pemandu Lagu LC Semarang 085746015303
Loker Pemandu Lagu LC Semarang 085746015303Loker Pemandu Lagu LC Semarang 085746015303
Loker Pemandu Lagu LC Semarang 085746015303
 
一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理
一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理
一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 
一比一原版英国格林多大学毕业证如何办理
一比一原版英国格林多大学毕业证如何办理一比一原版英国格林多大学毕业证如何办理
一比一原版英国格林多大学毕业证如何办理
 
Down bad crying at the gym t shirtsDown bad crying at the gym t shirts
Down bad crying at the gym t shirtsDown bad crying at the gym t shirtsDown bad crying at the gym t shirtsDown bad crying at the gym t shirts
Down bad crying at the gym t shirtsDown bad crying at the gym t shirts
 
一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样
一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样
一比一原版(USYD毕业证书)悉尼大学毕业证原件一模一样
 
Nungambakkam (Chennai) Independent Escorts - 9632533318 100% genuine
Nungambakkam (Chennai) Independent Escorts - 9632533318 100% genuineNungambakkam (Chennai) Independent Escorts - 9632533318 100% genuine
Nungambakkam (Chennai) Independent Escorts - 9632533318 100% genuine
 
A LOOK INTO NETWORK TECHNOLOGIES MAINLY WAN.pptx
A LOOK INTO NETWORK TECHNOLOGIES MAINLY WAN.pptxA LOOK INTO NETWORK TECHNOLOGIES MAINLY WAN.pptx
A LOOK INTO NETWORK TECHNOLOGIES MAINLY WAN.pptx
 
如何办理(UCLA毕业证)加州大学洛杉矶分校毕业证成绩单本科硕士学位证留信学历认证
如何办理(UCLA毕业证)加州大学洛杉矶分校毕业证成绩单本科硕士学位证留信学历认证如何办理(UCLA毕业证)加州大学洛杉矶分校毕业证成绩单本科硕士学位证留信学历认证
如何办理(UCLA毕业证)加州大学洛杉矶分校毕业证成绩单本科硕士学位证留信学历认证
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
 
一比一原版帝国理工学院毕业证如何办理
一比一原版帝国理工学院毕业证如何办理一比一原版帝国理工学院毕业证如何办理
一比一原版帝国理工学院毕业证如何办理
 
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
 
Lowongan Kerja LC Yogyakarta Terbaru 085746015303
Lowongan Kerja LC Yogyakarta Terbaru 085746015303Lowongan Kerja LC Yogyakarta Terbaru 085746015303
Lowongan Kerja LC Yogyakarta Terbaru 085746015303
 
APNIC Updates presented by Paul Wilson at CaribNOG 27
APNIC Updates presented by Paul Wilson at  CaribNOG 27APNIC Updates presented by Paul Wilson at  CaribNOG 27
APNIC Updates presented by Paul Wilson at CaribNOG 27
 
一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样
一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样
一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
一比一原版桑佛德大学毕业证成绩单申请学校Offer快速办理
一比一原版桑佛德大学毕业证成绩单申请学校Offer快速办理一比一原版桑佛德大学毕业证成绩单申请学校Offer快速办理
一比一原版桑佛德大学毕业证成绩单申请学校Offer快速办理
 
一比一原版贝德福特大学毕业证学位证书
一比一原版贝德福特大学毕业证学位证书一比一原版贝德福特大学毕业证学位证书
一比一原版贝德福特大学毕业证学位证书
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 

Bots are taking my job, so I started rollin my own

  • 2. Infracoders • Infrastructure Automation • Technologies: Chef, Puppet, Docker, Jenkins etc. • Exchange of ideas • Tips & tricks • Networking Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 3. Plan for the future • Revive Infracoders Meetups • Every 6 weeks • Cooperation • Give a speech • Contact: linkedin.com/in/theresa-wallas twallas@infralovers.com Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 4. Agenda • 19:00-20:00 Talk, Questions & Answers • 20:00-21:00 Networking • Drinks are sponsored by Infralovers • Additional drinks at the bar Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 5. Bots are taking my job, so I started rollin’ my own…
  • 6. About me • Jürgen Brüder (@jaybrueder) • Senior IT-Consultant at Infralovers • Trainer at Commandemy • Before that, I did Start-Ups • Barcamp-Graz Orga Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 7. Infralovers • IT-Consultancy for over 13 years • CEO is Edmund Haselwanter • Customers include Telekom Austria, Sony NetServices, SAP, GE Capital to mention a few • Our focus: IT-Infrastructure, Cloud and Automation Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 8. • We also love to teach • Our courses include topics like OpenStack, AWS, Jenkins, Ruby, Chef, BDD, Kubernetes, Docker etc. • Tech that we actually use as Consultants • http://commandemy.com Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 9. Agenda • The problem we needed to solve • ChatBots and ChatOps • How we solved the problem • Live-Demo • Q&A Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 11. Moving to the cloud • For two years we accompanied a customer on his move to the cloud (Amazon Web Services) • Speed up deployments • Create an automated deployment pipeline • Reducing manual labour and human error Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 12. What is a Deployment? “The process of uploading a new version of software to a server”
  • 13.
  • 14. Communication is key • 5 enterprise applications moved so far • Each having it’s own remote developer team… • in 4 different countries (AT, DE, FIN, UK) • All managed by a couple of people in Austrian HQ Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 15. We did interviews • Where are the pain points? • What can we help improve? • What works? What does not? • How do employees feel about moving to the cloud? Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 16. Answers • We want as little operations as possible • We want to know what is going on all the time • Developers rely heavily on other people to deploy • Management does not appreciate what we do • More tools are good, but can we trust our employees? Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 17. Goals • We wanted to give people the power to deploy as often as they needed to • No access to deployment tools, except chat • Visibility and common history • Increase management appreciation Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 19. ChatOps • A collaboration model that connects people, tools, processes, and automation into a transparent workflow • It’s all about conversation • It’s basically your whole company happening inside a chat tool Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 20. You already use it with your friends • Sending SMS or WhatsApp messages instead of calling • Discussing important news inside Facebook comments • You probably chat with your co-workers through Skype • Are you still using E-Mails? Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 21. ChatOps in the enterprise • Using a chat tool is pretty common in the enterprise (Skype, Jabber) • Employees chatting with each other is normal • But does your IT infrastructure also chat with you? • Can you chat with your IT infrastructure? Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 22.
  • 23. What do we see? • Channels for each project • Direct reference of co-worker • External systems posting channel relevant messages (Trello, Mailchimp) • Interaction with Trello post Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 24. Interacting with IT is changing • Human to human interaction is driven by communication • Human to machine interaction used to be driven by buttons • With ChatOps, we can also communicate with machines and tools • But not all tools are ChatOps ready yet… Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 27.
  • 28.
  • 29.
  • 30. Things to remember • Never share confidential data through a ChatOps tool • Mattermost is self-hosted, other tools are not • External tools often integrate with Slack/Mattermost out- of-the-box Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 31. It’s not all sunshine and flowers • Info diet • Wiki / Documentation becomes “look into the chat history” • Danger of being always “on” • Ding, ding, ding – Notification hell Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 32. I recommend this GitHub repo • https://github.com/buritica/collaboration-guides • Guidelines for Effective Collaboration • Has a lot of great info about when to message, who to message and when a phone call is a better idea Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 34. What is a ChatBot? • Software that can respond to your text messages • Should “mimic” conversation with people using artificial intelligence • Can take action according to your wishes • “Claire, book me a flight to San Francisco tomorrow” Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 35.
  • 36. Why should you care? • StartUp Buzzword of the year • Will play a role in IT-Automation • Do you like terminal windows? You’ll love bots! • Consumer vs. Business • Integrate a bot into your ChatOps tool Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 38. What we implemented • ChatOps was a big part of solving our customers problem • We created our own bot that joins the conversation • The bot is able to interact with the deployment pipeline • Employees are able to interact with the bot • They are not able to interact with the deployment pipeline directly Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 39. Rollin our own… • Our own bot is running on the Lita bot framework • Extended by writing custom plugins • Using the Ruby programming language • Listens in on Slack (like a user) • Triggers deployments with Jenkins • Actually, we implemented two bots! Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 46. Why Lita? • We really like Ruby • At the time a very advanced bot framework • Great Slack integration • Plugins are like Ruby Gems • Easiest to customize for us Rubyists • We also use other Ruby tools in the deployment pipeline Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 47. There are other bot options
  • 48.
  • 49.
  • 50.
  • 51. Did you say two bots? • We have one bot for each “environment” • One for staging • One for production • Reason: Security • We called them “Marvin” and “Bender” Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 52. Bot Security • Marvin is only allowed to deploy to staging • All developers can communicate with Marvin • Bender does “the heavy lifting” in production • Only selected users can trigger production deployments • We can grant and revoke deployments rights on a per user basis Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 53. The Bot and Jenkins • The bot runs on the same instance as Jenkins does • No cross-network triggering of jobs • Jenkins dashboard is only accessible via SSH tunnel • Jenkins gives job info to the bot, the bot posts it in Slack • The bot is like a proxy. • Ability to add more tools later (e.g. GitLab, GitHub) Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 54.
  • 55. What other magic do we use? • Amazon EC2 & Elastic Beanstalk (depends on app) • Amazon CloudFormation for orchestration • Amazon Lambda for serverless code execution • Chef for Configuration Management • Artifactory for artifact storage • Datadog for monitoring • GitLab for source control management • Jenkins for continuous deployment • There a also tools for a ”per app” basis (e.g. RunScope) Leitnergasse 16, 8010 Graz | www.infralovers.com
  • 56. Demo
  • 57. Lessons learned Leitnergasse 16, 8010 Graz | www.infralovers.com • Empowering for the developers • Removed unnecessary human interaction in deployments • There is still QA going on (staging vs production) • Management sees work happening • Common place for information
  • 58. What the future holds Leitnergasse 16, 8010 Graz | www.infralovers.com • Two-Factor Auth with Smartwatch (https://duo.com/) • Amazon Alexa • Google Assistant • Apple Siri • Using a more advanced bot as basis (Cog)
  • 59. You want to learn more? Leitnergasse 16, 8010 Graz | www.infralovers.com We offer courses on • ChatOps and custom bots • Amazon Web Services • Jenkins • Chef • Automated Workflows • http://commandemy.com
  • 62. Where can we find the demo code? Leitnergasse 16, 8010 Graz | www.infralovers.com https://github.com/infralovers/chatops-demo-cookbook https://github.com/infralovers/chatops-demo-lita-plugin
  • 63. References Leitnergasse 16, 8010 Graz | www.infralovers.com https://github.com/operable/cog https://github.com/github/hubot https://www.lita.io/ https://github.com/errbotio/errbot https://github.com/buritica/collaboration-guides