SlideShare a Scribd company logo
DevOpsDays DC
A house divided against
itself cannot stand.
How to Automate Yourself
out of a Job
judy johnson
Software Engineer
Onyx Point
@miz_j
1
A Day in the Life...
My job titles (alphabetically):
● Member of fun committee
● ScrumMaster
● Software Engineer
● System Engineer
● Team Lead
● (other duties as assigned)
○ Customer support
○ Documentation
○ Jira
○ Meetings
○ Reporting
And when I am not at work…
● Bake cookies, cakes
● Catch up with my kids (both my daughters
are engineers)
● Enjoy nature - walk every Saturday
● Go to concerts
● Try to read actual books
● Volunteer (college, high school, middle
school, women in tech)
● Watch Hockey Games (Go Caps! Bruins!)
2
I love deadlines. I like the
whooshing sound they make as
they fly by.
~ Douglas Adams
So… why is DevOps so important to me?
● Cooperation
● Communication
● Repeatability/Consistency
● Efficiency
3
© 123RF
...and why is Automation so Important in DevOps?
My Personal DevOps Process
● Perform Manually/Document
● Script
● Test/Peer Review
● Release
● Retrospect and start again
Every step in this process brings improvement, so even if you do not get beyond
the documentation step, you’re ahead...
4
© 123RF
A quote so I can ramble on a little more...
“Life is trying things to see if they work.”
– Ray Bradbury
5
Why automate?
● Speed
● Consistency
● Cost-savings
● Reduce human error
● Scalability
● As part of CI Process
6
© 123RF
What do we automate (some examples)
● Repeatable Processes
● Testing
● Deployment Processes
● Hardware/Software Status
● Metrics/Reporting
● Boring stuff (email sorting, etc)
● For convenience (IFTTT)
7
© Thanks, Allie Brosh, “Hyperbole and a Half”
What tools do we use?
● Ruby, Perl, Python, Java, etc
● Jenkins, Travis, Gitlab-CI, etc
● Puppet, Chef, Salt, Ansible
● Database queries
● Cron jobs
● APIs
● ...and many more
8© 123RF
Why would you *not* automate (some reasons)
● The time to automate is longer than time to perform the task and
...the task is not performed often
● Interim results and statuses need to be available
● Human intervention needed
● Security risk (e.g. plain-text passwords)
● Correct automation tools not available
● Trying to automate too much at once
● Creativity
9
© 123RF
© 123RF.com
10
Why do people fear automation
● Fear of losing a job
● Don’t trust what they can’t control
● Lack of knowledge of tools
11
“Good afternoon, gentlemen. I am a HAL
9000 computer."
– HAL 9000 - 2001: A Space Odyssey
The CLI (Command Line Interface)
and the API (Application Program Interface)
● Accessibility (screen-readers are happier with plain text)
● Easy to read and recreate/repeat
● Often too many options to fit on a readable GUI screen
...or too much output to view at once
● Return data in a format for reuse (.csv, .json, etc)
12
CLIs
● Easy to read and recreate (pkzip)
● Can fit more into less space/time
13
APIs
● “a set of functions and procedures allowing the creation of applications that
access the features or data of an operating system, application, or other
service.” – Wikipedia
● Get data needed from a function call rather than navigating
● Data is returned in a readable format
● Data can be manipulated before presented to the end user
14
An API in action
15
Some Metrics that show what we’ve gained
● Cost
● Test coverage
● Customer Satisfaction
● Defects Found
● MTTR (mean time to recover)
● Time Saved on testing
● Time to release
● Risk
16
© 123RF
Toll house cookie slide
● 2 1/4 cups all-purpose flour
● 1 teaspoon baking soda
● 1 teaspoon salt
● 1 cup (2 sticks) butter, softened
● 3/4 cup granulated sugar
● 3/4 cup packed brown sugar
● 1 teaspoon vanilla extract
● 2 large eggs
● 2 cups (12-oz. pkg.) NESTLÉ® TOLL HOUSE®
Semi-Sweet Chocolate Morsels
Bake at 375 degrees for 7-9 minutes
17
Resources
● I totally started to write a list of resources here
● But then I realized I was surrounded by amazing DevOps people
● And many of them have read – and written – so much about automation,
● So…
Look around you!
18© 123RF.com
Quotations
“If you automate a process that has errors, all you’ve done is automate the generation of
those errors.” – W.L.W. Borowiecki
“Any daily work task that takes 5 minutes will cost over 20 hours a year, or over half of a
work week. Even if it takes 20 hours to automate that daily 5 minute task, the automation
will break even in a year.” – Anthony J. Stieber
"I will always choose a lazy person for a difficult job. Because, he will find an easy way to do
it." – Bill Gates
“You can’t automate stupid!” – Kitt
19
© 123RF.com
In conclusion...
20
DevOpsDays DC
A house divided against
itself cannot stand.

More Related Content

Similar to How to Automate Yourself out of a Job (7/9/19)

Benchmarks, performance, scalability, and capacity what s behind the numbers...
Benchmarks, performance, scalability, and capacity  what s behind the numbers...Benchmarks, performance, scalability, and capacity  what s behind the numbers...
Benchmarks, performance, scalability, and capacity what s behind the numbers...
james tong
 
Benchmarks, performance, scalability, and capacity what's behind the numbers
Benchmarks, performance, scalability, and capacity what's behind the numbersBenchmarks, performance, scalability, and capacity what's behind the numbers
Benchmarks, performance, scalability, and capacity what's behind the numbers
Justin Dorfman
 
Don't Suck at Building Stuff - Mykel Alvis at Puppet Camp Altanta
Don't Suck at Building Stuff  - Mykel Alvis at Puppet Camp AltantaDon't Suck at Building Stuff  - Mykel Alvis at Puppet Camp Altanta
Don't Suck at Building Stuff - Mykel Alvis at Puppet Camp Altanta
Puppet
 
Path Dependent Development (PyCon AU)
Path Dependent Development (PyCon AU)Path Dependent Development (PyCon AU)
Path Dependent Development (PyCon AU)
ncoghlan_dev
 
Validating big data jobs - Spark AI Summit EU
Validating big data jobs  - Spark AI Summit EUValidating big data jobs  - Spark AI Summit EU
Validating big data jobs - Spark AI Summit EU
Holden Karau
 
Validating Big Data Jobs—Stopping Failures Before Production on Apache Spark...
 Validating Big Data Jobs—Stopping Failures Before Production on Apache Spark... Validating Big Data Jobs—Stopping Failures Before Production on Apache Spark...
Validating Big Data Jobs—Stopping Failures Before Production on Apache Spark...
Databricks
 
Introducing Pair Programming
Introducing Pair ProgrammingIntroducing Pair Programming
Introducing Pair Programming
Steven Smith
 
Super fast end-to-end-tests
Super fast end-to-end-testsSuper fast end-to-end-tests
Super fast end-to-end-tests
Lars Thorup
 
Fast end-to-end-tests
Fast end-to-end-testsFast end-to-end-tests
Fast end-to-end-tests
Rikke Veng Petersen
 
Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?
Kris Buytaert
 
Java vs. C/C++
Java vs. C/C++Java vs. C/C++
Java vs. C/C++
Azul Systems Inc.
 
What Your Tech Lead Thinks You Know (But Didn't Teach You)
What Your Tech Lead Thinks You Know (But Didn't Teach You)What Your Tech Lead Thinks You Know (But Didn't Teach You)
What Your Tech Lead Thinks You Know (But Didn't Teach You)
Chris Riccomini
 
Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.
Kris Buytaert
 
Monitoring and automation
Monitoring and automationMonitoring and automation
Monitoring and automation
Ricardo Bánffy
 
Droid con
Droid conDroid con
Droid con
kashifrazzaqui
 
Running Neo4j in Production: Tips, Tricks and Optimizations
Running Neo4j in Production:  Tips, Tricks and OptimizationsRunning Neo4j in Production:  Tips, Tricks and Optimizations
Running Neo4j in Production: Tips, Tricks and Optimizations
Nick Manning
 
Running Neo4j in Production: Tips, Tricks and Optimizations
Running Neo4j in Production:  Tips, Tricks and OptimizationsRunning Neo4j in Production:  Tips, Tricks and Optimizations
Running Neo4j in Production: Tips, Tricks and OptimizationsNick Manning
 
IntoWebGL - Unite Melbourne 2015
IntoWebGL - Unite Melbourne 2015IntoWebGL - Unite Melbourne 2015
IntoWebGL - Unite Melbourne 2015
Ryan Alcock
 
Automating The New York Times Crossword by Phil Wells
Automating The New York Times Crossword by Phil WellsAutomating The New York Times Crossword by Phil Wells
Automating The New York Times Crossword by Phil Wells
Sauce Labs
 
Stop Sucking at Building Stuff!
Stop Sucking at Building Stuff!Stop Sucking at Building Stuff!
Stop Sucking at Building Stuff!
Puppet
 

Similar to How to Automate Yourself out of a Job (7/9/19) (20)

Benchmarks, performance, scalability, and capacity what s behind the numbers...
Benchmarks, performance, scalability, and capacity  what s behind the numbers...Benchmarks, performance, scalability, and capacity  what s behind the numbers...
Benchmarks, performance, scalability, and capacity what s behind the numbers...
 
Benchmarks, performance, scalability, and capacity what's behind the numbers
Benchmarks, performance, scalability, and capacity what's behind the numbersBenchmarks, performance, scalability, and capacity what's behind the numbers
Benchmarks, performance, scalability, and capacity what's behind the numbers
 
Don't Suck at Building Stuff - Mykel Alvis at Puppet Camp Altanta
Don't Suck at Building Stuff  - Mykel Alvis at Puppet Camp AltantaDon't Suck at Building Stuff  - Mykel Alvis at Puppet Camp Altanta
Don't Suck at Building Stuff - Mykel Alvis at Puppet Camp Altanta
 
Path Dependent Development (PyCon AU)
Path Dependent Development (PyCon AU)Path Dependent Development (PyCon AU)
Path Dependent Development (PyCon AU)
 
Validating big data jobs - Spark AI Summit EU
Validating big data jobs  - Spark AI Summit EUValidating big data jobs  - Spark AI Summit EU
Validating big data jobs - Spark AI Summit EU
 
Validating Big Data Jobs—Stopping Failures Before Production on Apache Spark...
 Validating Big Data Jobs—Stopping Failures Before Production on Apache Spark... Validating Big Data Jobs—Stopping Failures Before Production on Apache Spark...
Validating Big Data Jobs—Stopping Failures Before Production on Apache Spark...
 
Introducing Pair Programming
Introducing Pair ProgrammingIntroducing Pair Programming
Introducing Pair Programming
 
Super fast end-to-end-tests
Super fast end-to-end-testsSuper fast end-to-end-tests
Super fast end-to-end-tests
 
Fast end-to-end-tests
Fast end-to-end-testsFast end-to-end-tests
Fast end-to-end-tests
 
Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?
 
Java vs. C/C++
Java vs. C/C++Java vs. C/C++
Java vs. C/C++
 
What Your Tech Lead Thinks You Know (But Didn't Teach You)
What Your Tech Lead Thinks You Know (But Didn't Teach You)What Your Tech Lead Thinks You Know (But Didn't Teach You)
What Your Tech Lead Thinks You Know (But Didn't Teach You)
 
Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.
 
Monitoring and automation
Monitoring and automationMonitoring and automation
Monitoring and automation
 
Droid con
Droid conDroid con
Droid con
 
Running Neo4j in Production: Tips, Tricks and Optimizations
Running Neo4j in Production:  Tips, Tricks and OptimizationsRunning Neo4j in Production:  Tips, Tricks and Optimizations
Running Neo4j in Production: Tips, Tricks and Optimizations
 
Running Neo4j in Production: Tips, Tricks and Optimizations
Running Neo4j in Production:  Tips, Tricks and OptimizationsRunning Neo4j in Production:  Tips, Tricks and Optimizations
Running Neo4j in Production: Tips, Tricks and Optimizations
 
IntoWebGL - Unite Melbourne 2015
IntoWebGL - Unite Melbourne 2015IntoWebGL - Unite Melbourne 2015
IntoWebGL - Unite Melbourne 2015
 
Automating The New York Times Crossword by Phil Wells
Automating The New York Times Crossword by Phil WellsAutomating The New York Times Crossword by Phil Wells
Automating The New York Times Crossword by Phil Wells
 
Stop Sucking at Building Stuff!
Stop Sucking at Building Stuff!Stop Sucking at Building Stuff!
Stop Sucking at Building Stuff!
 

Recently uploaded

Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 

Recently uploaded (20)

Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 

How to Automate Yourself out of a Job (7/9/19)

  • 1. DevOpsDays DC A house divided against itself cannot stand.
  • 2. How to Automate Yourself out of a Job judy johnson Software Engineer Onyx Point @miz_j 1
  • 3. A Day in the Life... My job titles (alphabetically): ● Member of fun committee ● ScrumMaster ● Software Engineer ● System Engineer ● Team Lead ● (other duties as assigned) ○ Customer support ○ Documentation ○ Jira ○ Meetings ○ Reporting And when I am not at work… ● Bake cookies, cakes ● Catch up with my kids (both my daughters are engineers) ● Enjoy nature - walk every Saturday ● Go to concerts ● Try to read actual books ● Volunteer (college, high school, middle school, women in tech) ● Watch Hockey Games (Go Caps! Bruins!) 2 I love deadlines. I like the whooshing sound they make as they fly by. ~ Douglas Adams
  • 4. So… why is DevOps so important to me? ● Cooperation ● Communication ● Repeatability/Consistency ● Efficiency 3 © 123RF
  • 5. ...and why is Automation so Important in DevOps? My Personal DevOps Process ● Perform Manually/Document ● Script ● Test/Peer Review ● Release ● Retrospect and start again Every step in this process brings improvement, so even if you do not get beyond the documentation step, you’re ahead... 4 © 123RF
  • 6. A quote so I can ramble on a little more... “Life is trying things to see if they work.” – Ray Bradbury 5
  • 7. Why automate? ● Speed ● Consistency ● Cost-savings ● Reduce human error ● Scalability ● As part of CI Process 6 © 123RF
  • 8. What do we automate (some examples) ● Repeatable Processes ● Testing ● Deployment Processes ● Hardware/Software Status ● Metrics/Reporting ● Boring stuff (email sorting, etc) ● For convenience (IFTTT) 7 © Thanks, Allie Brosh, “Hyperbole and a Half”
  • 9. What tools do we use? ● Ruby, Perl, Python, Java, etc ● Jenkins, Travis, Gitlab-CI, etc ● Puppet, Chef, Salt, Ansible ● Database queries ● Cron jobs ● APIs ● ...and many more 8© 123RF
  • 10. Why would you *not* automate (some reasons) ● The time to automate is longer than time to perform the task and ...the task is not performed often ● Interim results and statuses need to be available ● Human intervention needed ● Security risk (e.g. plain-text passwords) ● Correct automation tools not available ● Trying to automate too much at once ● Creativity 9 © 123RF
  • 12. Why do people fear automation ● Fear of losing a job ● Don’t trust what they can’t control ● Lack of knowledge of tools 11 “Good afternoon, gentlemen. I am a HAL 9000 computer." – HAL 9000 - 2001: A Space Odyssey
  • 13. The CLI (Command Line Interface) and the API (Application Program Interface) ● Accessibility (screen-readers are happier with plain text) ● Easy to read and recreate/repeat ● Often too many options to fit on a readable GUI screen ...or too much output to view at once ● Return data in a format for reuse (.csv, .json, etc) 12
  • 14. CLIs ● Easy to read and recreate (pkzip) ● Can fit more into less space/time 13
  • 15. APIs ● “a set of functions and procedures allowing the creation of applications that access the features or data of an operating system, application, or other service.” – Wikipedia ● Get data needed from a function call rather than navigating ● Data is returned in a readable format ● Data can be manipulated before presented to the end user 14
  • 16. An API in action 15
  • 17. Some Metrics that show what we’ve gained ● Cost ● Test coverage ● Customer Satisfaction ● Defects Found ● MTTR (mean time to recover) ● Time Saved on testing ● Time to release ● Risk 16 © 123RF
  • 18. Toll house cookie slide ● 2 1/4 cups all-purpose flour ● 1 teaspoon baking soda ● 1 teaspoon salt ● 1 cup (2 sticks) butter, softened ● 3/4 cup granulated sugar ● 3/4 cup packed brown sugar ● 1 teaspoon vanilla extract ● 2 large eggs ● 2 cups (12-oz. pkg.) NESTLÉ® TOLL HOUSE® Semi-Sweet Chocolate Morsels Bake at 375 degrees for 7-9 minutes 17
  • 19. Resources ● I totally started to write a list of resources here ● But then I realized I was surrounded by amazing DevOps people ● And many of them have read – and written – so much about automation, ● So… Look around you! 18© 123RF.com
  • 20. Quotations “If you automate a process that has errors, all you’ve done is automate the generation of those errors.” – W.L.W. Borowiecki “Any daily work task that takes 5 minutes will cost over 20 hours a year, or over half of a work week. Even if it takes 20 hours to automate that daily 5 minute task, the automation will break even in a year.” – Anthony J. Stieber "I will always choose a lazy person for a difficult job. Because, he will find an easy way to do it." – Bill Gates “You can’t automate stupid!” – Kitt 19
  • 22. DevOpsDays DC A house divided against itself cannot stand.