SlideShare a Scribd company logo
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 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
 
Icinga Camp Bangalore - Icinga2 and Ansible
Icinga Camp Bangalore - Icinga2 and AnsibleIcinga Camp Bangalore - Icinga2 and Ansible
Icinga Camp Bangalore - Icinga2 and Ansible
Icinga
 
Icinga2 - Apify them all
Icinga2 - Apify them allIcinga2 - Apify them all
Icinga2 - Apify them all
Icinga
 
Icinga Camp Antwerp - Icinga2 Configuration
Icinga Camp Antwerp - Icinga2 ConfigurationIcinga Camp Antwerp - Icinga2 Configuration
Icinga Camp Antwerp - Icinga2 Configuration
Icinga
 
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
Icinga
 
20161103 Serverless Italy Meetup
20161103   Serverless Italy Meetup20161103   Serverless Italy Meetup
20161103 Serverless Italy Meetup
Luca Bianchi
 
Icinga camp ams 2016 icinga2
Icinga camp ams 2016 icinga2Icinga camp ams 2016 icinga2
Icinga camp ams 2016 icinga2
Assaf Flatto
 
Serverless On Stage - Serverless URL Shortener
Serverless On Stage - Serverless URL ShortenerServerless On Stage - Serverless URL Shortener
Serverless On Stage - Serverless URL Shortener
Luca Bianchi
 
Icinga Camp Amsterdam - Icinga Director
Icinga Camp Amsterdam - Icinga DirectorIcinga Camp Amsterdam - Icinga Director
Icinga Camp Amsterdam - Icinga Director
Icinga
 
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
 
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 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
 
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
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
 
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
 
Saluki - do it like a user
Saluki - do it like a userSaluki - do it like a user
Saluki - do it like a user
Icinga
 
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
Icinga
 
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
Icinga
 
Loadays 2015 - Enterprise Monitoring with Icinga
Loadays 2015 - Enterprise Monitoring with IcingaLoadays 2015 - Enterprise Monitoring with Icinga
Loadays 2015 - Enterprise Monitoring with Icinga
Icinga
 
Icinga Camp Amsterdam - Icinga2 and Ansible
Icinga Camp Amsterdam - Icinga2 and AnsibleIcinga Camp Amsterdam - Icinga2 and Ansible
Icinga Camp Amsterdam - Icinga2 and Ansible
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

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
Leslie Samuel
 
SIM-1グランプリ(スピードテスト)
SIM-1グランプリ(スピードテスト)SIM-1グランプリ(スピードテスト)
SIM-1グランプリ(スピードテスト)
xerajp
 
大型 Web Application 轉移到 微服務的經驗分享
大型 Web Application 轉移到微服務的經驗分享大型 Web Application 轉移到微服務的經驗分享
大型 Web Application 轉移到 微服務的經驗分享
Andrew Wu
 
Let's view tanzania
Let's view tanzaniaLet's view tanzania
Let's view tanzania
Let's view Tanzania
 
Culture
CultureCulture
Culture
Reed Hastings
 
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
Ella Hamonic
 
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
Jenna Mittelmeier
 
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
Dr. Oliver Massmann
 
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
Mitsunori Komatsu
 
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
CBR Conference
 
Earrings For Women And Children
Earrings For Women And ChildrenEarrings For Women And Children
Earrings For Women And Children
Chain Me Up
 
Workshop Biat, Unical - S3 Calabria
Workshop Biat, Unical - S3 CalabriaWorkshop Biat, Unical - S3 Calabria
Workshop Biat, Unical - S3 Calabria
DipProg
 
Tour of UX deliverables - dev/haag
Tour of UX deliverables - dev/haagTour of UX deliverables - dev/haag
Tour of UX deliverables - dev/haag
Peter Boersma
 
ECSC-SUN newsletter January 2017
ECSC-SUN newsletter January 2017ECSC-SUN newsletter January 2017
ECSC-SUN newsletter January 2017
SUN Civil Society Network
 
Respuesta ONUDC exportación de coca
Respuesta ONUDC exportación de cocaRespuesta ONUDC exportación de coca
Respuesta ONUDC exportación de coca
Alejandra Prado
 
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみアメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
Kazunari Hara
 
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
Mark Kilby
 
10 Good Reasons - NetApp StorageGRID
10 Good Reasons - NetApp StorageGRID10 Good Reasons - NetApp StorageGRID
10 Good Reasons - NetApp StorageGRID
NetAppUK
 

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

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...
Infralovers
 
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...
Antti Koskela
 
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
Antti Koskela
 
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...
Antti Koskela
 
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
Antti Koskela
 
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...
Antti Koskela
 
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...
Eric Reiche
 
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.
Gladson DSouza
 
IoT is Something to Figure Out
IoT is Something to Figure OutIoT is Something to Figure Out
IoT is Something to Figure Out
Peter Hoddie
 
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?
Chris Swan
 
Movin on Up SPSHouston 2017
Movin on Up SPSHouston 2017Movin on Up SPSHouston 2017
Movin on Up SPSHouston 2017
Jim Adcock
 
🌺 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
Cristina Vidu
 
BitCraft 2017 general presentation
BitCraft 2017 general presentationBitCraft 2017 general presentation
BitCraft 2017 general presentation
Michal Wasilewski
 
Introduction to IoT lab Berlin
Introduction to IoT lab BerlinIntroduction to IoT lab Berlin
Introduction to IoT lab Berlin
Claro Partners Inc.
 
Making operations visible - Nick Gallbreath
Making operations visible - Nick GallbreathMaking operations visible - Nick Gallbreath
Making operations visible - Nick GallbreathDevopsdays
 
Making operations visible - devopsdays tokyo 2013
Making operations visible  - devopsdays tokyo 2013Making operations visible  - devopsdays tokyo 2013
Making operations visible - devopsdays tokyo 2013Nick Galbreath
 
City of Amsterdam: High velocity development
City of Amsterdam: High velocity developmentCity of Amsterdam: High velocity development
City of Amsterdam: High velocity development
Boris van Hoytema
 
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...
Openbar
 
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...
Andrea Fontana
 
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
Fabian Hueske
 

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

JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
Javier Lasa
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
Arif0071
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Brad Spiegel Macon GA
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
Gal Baras
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Sanjeev Rampal
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
natyesu
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
laozhuseo02
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
JeyaPerumal1
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
3ipehhoa
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
3ipehhoa
 
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptxInternet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
VivekSinghShekhawat2
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
3ipehhoa
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
JungkooksNonexistent
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
keoku
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
Rogerio Filho
 
Comptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guideComptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guide
GTProductions1
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
nirahealhty
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
eutxy
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
ufdana
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
laozhuseo02
 

Recently uploaded (20)

JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
 
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptxInternet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
 
Comptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guideComptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guide
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
 

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