SlideShare a Scribd company logo
AIN’T NOBODY GOT TIME FOR THAT!
MATT FROST
@SHRTWHITEBLDGUY
HTTPS://JOIND.IN/16027
WHO AM I?
INTRODUCTION
WHAT IS AUTOMATION?
DEFINITION
WHY AUTOMATE?
DEFINING PURPOSE
• TASKS BECOME CLEARLY DEFINED IN ONE LOCATION
• OFFERS AN OPPORTUNITY TO REFINE PROCESSES
• ELIMINATES PROCESS VARIATION
• ELIMINATES DISRUPTIONS
WHY AUTOMATE?
WHAT WE’LL COVER
• CHALLENGES
• WHAT/WHERE/WHEN/WHY/HOW?
• OVERVIEW OF AUTOMATION TOOLS/TECHNIQUES
WHAT WE’LL COVER
AUTOMATION CHALLENGES
CHALLENGES
• REQUIRES A STRONG UNDERSTANDING OF THE PROCESS
• REQUIRES A LOT OF TRUST IN THE PROCESS
• REQUIRES A PLAN IF SOMETHING GOES SIDEWAYS
AUTOMATION CHALLENGES
HOW DO WE AUTOMATE?
OBJECTIVE
• TOOLS
• SCRIPTING
• EXPERIENCE
HOW DO WE AUTOMATE?
WHERE CAN WE AUTOMATE?
OBJECTIVE
• LOCALLY
• DEV ENVIRONMENTS
• PRODUCTION
WHERE CAN WE AUTOMATE
LOCALLY
WHERE CAN WE AUTOMATE?
WHEN YOU THINK ABOUT ALL THE
THINGS YOU HAVE TO DO TO START
WORKING, IT’S ANNOYING RIGHT?
THERE ARE SOME
EASY OPTIONS…BUT
ALFRED!
SWEET RIGHT?
WORKFLOWS!
Ain't Nobody Got Time For That: Intro to Automation
LOCAL SCRIPTING
TOOLS
DEPLOYMENT/CI
• PHING
• JENKINS
• ANSIBLE
• TRAVIS CI
• CUSTOM SHELL SCRIPTS
MONITORING
• NEW RELIC
• PINGDOM
• CUSTOM SHELL SCRIPTS
• TESTING TOOLS
TESTING TOOLS
• PHPUNIT
• PHPSPEC
• BEHAT
• CODECEPTION
• RUNSCOPE
PROVISIONING
• ANSIBLE
• CHEF
• PUPPET
• SHELL SCRIPTS
THERE ARE OPTIONS
YOU DON’T NEED ALL THESE TOOLS
BUT…
CREATING A
SOLUTION
SERVER DEPLOYMENT
CREATING A SOLUTION
DIGITAL OCEAN API
CREATING A SOLUTION
Ain't Nobody Got Time For That: Intro to Automation
Ain't Nobody Got Time For That: Intro to Automation
I DON’T WANT TO CLICK THAT
MANY TIMES…
CREATING A SOLUTION
ANSIBLE
CREATING A SOLUTION
SERVER SETUP CAN BE HARD
CREATING A SOLUTION
HERE’S WHAT I NEEDED
CREATING A SOLUTION
• PHP (AND DEPS)
• MYSQL (AND DEPS)
• APACHE (I KNOW…)
• WORDPRESS CONFIGS
ANSIBLE STRUCTURE
CREATING A SOLUTION
ROLES
• Files
• Handlers
• Meta
• Tasks
• Templates
• Vars
PLAYBOOK
---
- name: Install Apache2
apt: pkg=apache2 state=installed update_cache=true
register: apache2
- name: Install Apache2 MPM Prefork
apt: pkg=apache2-pmp-prefork state=installed
when: apache2|success
register: prefork
- name: Install Apache2 MPM Prefork
apt: pkg=apache2-pmp-prefork state=installed
when: apache2|success
register: prefork
---
- hosts: bd
roles:
- setup
- iptables-setup
- apache2-setup
- mysql-setup
- php-setup
- users-setup
PLAYBOOK EXAMPLE
PHING
CREATING A SOLUTION
CONSIDERATIONS
CREATING A SOLUTION
<?xml version="1.0" encoding="UTF-8"?>
<project name="BDSO" default="build" basedir="./">
<property file="bdso.properties" />
<target name="composer">
<echo msg="Composer automatic updates aren't enabled at this point" />
<echo msg="Running self-update on composer" />
<exec command="sudo composer self-update" passthru="true" />
<echo msg="Installing new dependencies (if necessary)" />
<exec command="composer install --no-dev --no-scripts" passthru="true" />
</target>
<target name="build">
<phingcall target="composer" />
</target>
COMPOSER INSTALL WITH PHING
INSTALLING PHING
CREATING A SOLUTION
“phing/phing”: “2.*”
RUNNING PHING
CREATING A SOLUTION
vendor/bin/phing -f path/to/build.xml
BASH SCRIPTING
CREATING A SOLUTION
SCRIPTING COMMANDS
CREATING A SOLUTION
MY FAVORITE UNIX COMMAND
find ./ -type f -name ‘*.php’ -print0 | xargs -0 grep -n ‘SearchTerm’
finder -s ‘SearchTerm’
MONITORING WITH SHELL
SCRIPTS
CREATING A SOLUTION
THE BASICS
CREATING A SOLUTION
• MAKE SURE SERVICES ARE RUNNING
• CHECK SERVER LOAD
• NOTIFICATIONS
SIMPLICITY OVER ALL ELSE
CONCLUSION
SECURITY
CONCLUSION
AUTOMATION IS ATTAINABLE
CONCLUSION
QUESTIONS?
CONCLUSION
FEEDBACK
CONCLUSION
https://joind.in/16027
Twitter: @shrtwhitebldguy
IRC: mfrost503

More Related Content

Viewers also liked (11)

PDF
PHP Cloud Deployment Toolkits
Mitch Pirtle
 
PDF
Desplegando código con Phing, PHPunit, Coder y Jenkins
La Drupalera
 
PDF
Phing
mdekrijger
 
PDF
Building and Deploying PHP Apps Using phing
Mihail Irintchev
 
PPTX
Automated Deployments
Martin Etmajer
 
PDF
Continuous Integration @ MeetMagento Germany 2015
Aleksey Razbakov
 
PDF
Deploying PHP applications with Phing
Michiel Rook
 
PPT
Ansible presentation
John Lynch
 
PPTX
Automated Deployments with Ansible
Martin Etmajer
 
PPTX
Ansible: How to Get More Sleep and Require Less Coffee
Sarah Z
 
PDF
Ansible Introduction
Robert Reiz
 
PHP Cloud Deployment Toolkits
Mitch Pirtle
 
Desplegando código con Phing, PHPunit, Coder y Jenkins
La Drupalera
 
Phing
mdekrijger
 
Building and Deploying PHP Apps Using phing
Mihail Irintchev
 
Automated Deployments
Martin Etmajer
 
Continuous Integration @ MeetMagento Germany 2015
Aleksey Razbakov
 
Deploying PHP applications with Phing
Michiel Rook
 
Ansible presentation
John Lynch
 
Automated Deployments with Ansible
Martin Etmajer
 
Ansible: How to Get More Sleep and Require Less Coffee
Sarah Z
 
Ansible Introduction
Robert Reiz
 

Similar to Ain't Nobody Got Time For That: Intro to Automation (20)

PPTX
Northeast PHP - High Performance PHP
Jonathan Klein
 
KEY
Standardizing and Managing Your Infrastructure - MOSC 2011
Brian Ritchie
 
PPTX
BIG DATA ANALYSIS
Nitesh Singh
 
PDF
Lessons learned from building Demand Side Platform
bbogacki
 
PDF
Your code are my tests
Michelangelo van Dam
 
KEY
Site Performance - From Pinto to Ferrari
Joseph Scott
 
PDF
Top ten-list
Brian DeShong
 
PDF
Introduction to red team operations
Sunny Neo
 
PPTX
Pentest Apocalypse
Beau Bullock
 
PPTX
Reducing Bugs With Static Code Analysis php tek 2025
Scott Keck-Warren
 
PDF
Deployments in one click!
Manuel de la Peña Peña
 
PPTX
Quality code in wordpress
Ran Bar-Zik
 
PDF
Improving qa on php projects
Michelangelo van Dam
 
PPTX
ExpressionEngine - Simple Steps to Performance and Security (EECI 2014)
Nexcess.net LLC
 
PDF
Oracle_Patching_Untold_Story_Final_Part2.pdf
Alex446314
 
PDF
Google App Engine: For PHP Developers
Abu Ashraf Masnun
 
PDF
NYC HUG - Application Architectures with Apache Hadoop
markgrover
 
PPTX
Pentest Apocalypse - SANSFIRE 2016 Edition
Beau Bullock
 
PPTX
Getting Started with OpenStack Development
Rackspace
 
PDF
we45 DEFCON Workshop - Building AppSec Automation with Python
Abhay Bhargav
 
Northeast PHP - High Performance PHP
Jonathan Klein
 
Standardizing and Managing Your Infrastructure - MOSC 2011
Brian Ritchie
 
BIG DATA ANALYSIS
Nitesh Singh
 
Lessons learned from building Demand Side Platform
bbogacki
 
Your code are my tests
Michelangelo van Dam
 
Site Performance - From Pinto to Ferrari
Joseph Scott
 
Top ten-list
Brian DeShong
 
Introduction to red team operations
Sunny Neo
 
Pentest Apocalypse
Beau Bullock
 
Reducing Bugs With Static Code Analysis php tek 2025
Scott Keck-Warren
 
Deployments in one click!
Manuel de la Peña Peña
 
Quality code in wordpress
Ran Bar-Zik
 
Improving qa on php projects
Michelangelo van Dam
 
ExpressionEngine - Simple Steps to Performance and Security (EECI 2014)
Nexcess.net LLC
 
Oracle_Patching_Untold_Story_Final_Part2.pdf
Alex446314
 
Google App Engine: For PHP Developers
Abu Ashraf Masnun
 
NYC HUG - Application Architectures with Apache Hadoop
markgrover
 
Pentest Apocalypse - SANSFIRE 2016 Edition
Beau Bullock
 
Getting Started with OpenStack Development
Rackspace
 
we45 DEFCON Workshop - Building AppSec Automation with Python
Abhay Bhargav
 
Ad

More from mfrost503 (7)

PPTX
Getting started-php unit
mfrost503
 
PDF
Intro to OAuth
mfrost503
 
PPT
Mocking Dependencies in PHPUnit
mfrost503
 
PPT
Mocking Dependencies in PHPUnit
mfrost503
 
PPT
Agent of Change
mfrost503
 
PPT
Agent of Change
mfrost503
 
KEY
BDD Language in PHPUnit Tests
mfrost503
 
Getting started-php unit
mfrost503
 
Intro to OAuth
mfrost503
 
Mocking Dependencies in PHPUnit
mfrost503
 
Mocking Dependencies in PHPUnit
mfrost503
 
Agent of Change
mfrost503
 
Agent of Change
mfrost503
 
BDD Language in PHPUnit Tests
mfrost503
 
Ad

Recently uploaded (20)

PDF
How Current Advanced Cyber Threats Transform Business Operation
Eryk Budi Pratama
 
PPTX
Lecture 5 - Agentic AI and model context protocol.pptx
Dr. LAM Yat-fai (林日辉)
 
PDF
Ampere Offers Energy-Efficient Future For AI And Cloud
ShapeBlue
 
PPTX
Top Managed Service Providers in Los Angeles
Captain IT
 
PDF
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
PDF
UiPath vs Other Automation Tools Meeting Presentation.pdf
Tracy Dixon
 
PDF
Trading Volume Explained by CIFDAQ- Secret Of Market Trends
CIFDAQ
 
PDF
2025-07-15 EMEA Volledig Inzicht Dutch Webinar
ThousandEyes
 
PPTX
Machine Learning Benefits Across Industries
SynapseIndia
 
PPTX
Simplifying End-to-End Apache CloudStack Deployment with a Web-Based Automati...
ShapeBlue
 
PDF
Women in Automation Presents: Reinventing Yourself — Bold Career Pivots That ...
DianaGray10
 
PDF
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
PDF
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
PDF
How a Code Plagiarism Checker Protects Originality in Programming
Code Quiry
 
PDF
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
PDF
Rethinking Security Operations - Modern SOC.pdf
Haris Chughtai
 
PDF
Arcee AI - building and working with small language models (06/25)
Julien SIMON
 
PDF
Productivity Management Software | Workstatus
Lovely Baghel
 
PDF
Lecture A - AI Workflows for Banking.pdf
Dr. LAM Yat-fai (林日辉)
 
PDF
Building Resilience with Digital Twins : Lessons from Korea
SANGHEE SHIN
 
How Current Advanced Cyber Threats Transform Business Operation
Eryk Budi Pratama
 
Lecture 5 - Agentic AI and model context protocol.pptx
Dr. LAM Yat-fai (林日辉)
 
Ampere Offers Energy-Efficient Future For AI And Cloud
ShapeBlue
 
Top Managed Service Providers in Los Angeles
Captain IT
 
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
UiPath vs Other Automation Tools Meeting Presentation.pdf
Tracy Dixon
 
Trading Volume Explained by CIFDAQ- Secret Of Market Trends
CIFDAQ
 
2025-07-15 EMEA Volledig Inzicht Dutch Webinar
ThousandEyes
 
Machine Learning Benefits Across Industries
SynapseIndia
 
Simplifying End-to-End Apache CloudStack Deployment with a Web-Based Automati...
ShapeBlue
 
Women in Automation Presents: Reinventing Yourself — Bold Career Pivots That ...
DianaGray10
 
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
How a Code Plagiarism Checker Protects Originality in Programming
Code Quiry
 
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
Rethinking Security Operations - Modern SOC.pdf
Haris Chughtai
 
Arcee AI - building and working with small language models (06/25)
Julien SIMON
 
Productivity Management Software | Workstatus
Lovely Baghel
 
Lecture A - AI Workflows for Banking.pdf
Dr. LAM Yat-fai (林日辉)
 
Building Resilience with Digital Twins : Lessons from Korea
SANGHEE SHIN
 

Ain't Nobody Got Time For That: Intro to Automation