Failing at Scale - PNWPHP 2016

Chris Tankersley
Chris TankersleyPHP Programmer at Home
Failing at Scale
Chris Tankersley
@dragonmantank
Pacific Northwest PHP, September 2016
Pacific Northwest PHP, September 2016 1
I think something is wrong
Pacific Northwest PHP, September 2016 2
Problems with Distributed Applications
• Making sure that configurations are consistent
• Making sure that your code gets updated everywhere
• Actually finding errors
Pacific Northwest PHP, September 2016 3
I know this is a bug, but where?
Pacific Northwest PHP, September 2016 4
You Can’t Rely on Physical Files
• Servers/Containers Disappear
• How do you know where something happened?
Pacific Northwest PHP, September 2016 5
syslog
Pacific Northwest PHP, September 2016 6
Your Server
PHP Application
Monolog
syslog
Centralized syslog Server
syslog
Set up the Server
# /etc/init.d/syslog.conf, or something similiar
# Make sure the following is set
SYSLOGD="-r -m0"
Pacific Northwest PHP, September 2016 7
Set up the server
# /etc/syslog.conf, or something similiar
# Set up the log file locations
*.emerg /var/log/emergency.log
*.alert /var/log/alert.log
# Or lump them together
*.emerg /var/log/application.log
*.alert /var/log/application.log
Pacific Northwest PHP, September 2016 8
Set up the clients
# /etc/syslog.conf, or something similiar
# Send all log types of all log severities to a
# single server
*.* @<hostname|IP Address>
Pacific Northwest PHP, September 2016 9
Logging SaaS
• Same idea as a remote syslog
• Usually installs some log watching software
• Pretty interface for searching/looking at logs
Pacific Northwest PHP, September 2016 10
Loggly
Pacific Northwest PHP, September 2016 11
ELK Stack
• ElasticSearch, LogStash, Kibana
• Can run locally or through a SaaS service like logz.io
Pacific Northwest PHP, September 2016 12
Logz.io
Pacific Northwest PHP, September 2016 13
But I swear I fixed that bug!
Pacific Northwest PHP, September 2016 14
Don’t Trust Humans
We Suck
Pacific Northwest PHP, September 2016 15
Anything you do by hand, Automate
Pacific Northwest PHP, September 2016 16
Automating the Build Process
• Composer
• Grunt/Gulp/npm/asset pipelines
• Putting proper config files in place
Pacific Northwest PHP, September 2016 17
Track Everything
Pacific Northwest PHP, September 2016 18
Automating Code Pushes
Pacific Northwest PHP, September 2016 19
I’m pretty sure we have PHP… 5.6
installed?
Pacific Northwest PHP, September 2016 20
Remember, Don’t Trust Humans!
Pacific Northwest PHP, September 2016 21
Ansible
• Self contained and can be run from anywhere
• Very easy to get set up and running
• Lots of “playbooks”
Pacific Northwest PHP, September 2016 22
Puppet
• Master-Agent Setup
• Constantly checks to make sure machines are compliant
• You might be using it already!
Pacific Northwest PHP, September 2016 23
Vagrant Cookbook
Pacific Northwest PHP, September 2016 24
Thank You!
• https://github.com/dragonmantank
• Author of “Docker for Developers”
• https://leanpub.com/dockerfordevs
• http://ctankersley.com
• chris@ctankersley.com
• @dragonmantank
• https://joind.in/talk/64ad5
Pacific Northwest PHP, September 2016 25
1 of 25

Recommended

Docker for Developers - PNWPHP 2016 Workshop by
Docker for Developers - PNWPHP 2016 WorkshopDocker for Developers - PNWPHP 2016 Workshop
Docker for Developers - PNWPHP 2016 WorkshopChris Tankersley
686 views84 slides
Indexing BackPAN by
Indexing BackPANIndexing BackPAN
Indexing BackPANbrian d foy
1.6K views29 slides
BackPAN Archeology by
BackPAN ArcheologyBackPAN Archeology
BackPAN Archeologybrian d foy
2.2K views25 slides
Reverse Installing CPAN by
Reverse Installing CPANReverse Installing CPAN
Reverse Installing CPANbrian d foy
3.4K views53 slides
MyCPAN (Frozen Perl 2008 Lightning Talk) by
MyCPAN (Frozen Perl 2008 Lightning Talk)MyCPAN (Frozen Perl 2008 Lightning Talk)
MyCPAN (Frozen Perl 2008 Lightning Talk)brian d foy
1.9K views17 slides
Composer by
ComposerComposer
ComposerLe Thanh Sang
824 views8 slides

More Related Content

What's hot

Working with Xcode and Swift Package Manager by
Working with Xcode and Swift Package ManagerWorking with Xcode and Swift Package Manager
Working with Xcode and Swift Package ManagerJens Ravens
733 views7 slides
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ... by
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...Ortus Solutions, Corp
687 views39 slides
The Integration of Laravel with Swoole by
The Integration of Laravel with SwooleThe Integration of Laravel with Swoole
The Integration of Laravel with SwooleAlbert Chen
3.5K views57 slides
DevOps tools for everyone - Vagrant, Puppet and Webmin by
DevOps tools for everyone - Vagrant, Puppet and WebminDevOps tools for everyone - Vagrant, Puppet and Webmin
DevOps tools for everyone - Vagrant, Puppet and Webminpostrational
57K views38 slides
Paris Monitoring meetup #1 - Zabbix at BlaBlaCar by
Paris Monitoring meetup #1 - Zabbix at BlaBlaCarParis Monitoring meetup #1 - Zabbix at BlaBlaCar
Paris Monitoring meetup #1 - Zabbix at BlaBlaCarJean Baptiste Favre
1.9K views26 slides
The problem with Perl by
The problem with PerlThe problem with Perl
The problem with PerlPedro Figueiredo
865 views28 slides

What's hot(20)

Working with Xcode and Swift Package Manager by Jens Ravens
Working with Xcode and Swift Package ManagerWorking with Xcode and Swift Package Manager
Working with Xcode and Swift Package Manager
Jens Ravens733 views
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ... by Ortus Solutions, Corp
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
The Integration of Laravel with Swoole by Albert Chen
The Integration of Laravel with SwooleThe Integration of Laravel with Swoole
The Integration of Laravel with Swoole
Albert Chen3.5K views
DevOps tools for everyone - Vagrant, Puppet and Webmin by postrational
DevOps tools for everyone - Vagrant, Puppet and WebminDevOps tools for everyone - Vagrant, Puppet and Webmin
DevOps tools for everyone - Vagrant, Puppet and Webmin
postrational57K views
Paris Monitoring meetup #1 - Zabbix at BlaBlaCar by Jean Baptiste Favre
Paris Monitoring meetup #1 - Zabbix at BlaBlaCarParis Monitoring meetup #1 - Zabbix at BlaBlaCar
Paris Monitoring meetup #1 - Zabbix at BlaBlaCar
Jean Baptiste Favre1.9K views
perlcc made easy or, how to make a CGI Moose app by cPanel
perlcc made easy or, how to make a CGI Moose appperlcc made easy or, how to make a CGI Moose app
perlcc made easy or, how to make a CGI Moose app
cPanel1.9K views
Building real time applications with Symfony2 by Antonio Peric-Mazar
Building real time applications with Symfony2Building real time applications with Symfony2
Building real time applications with Symfony2
Antonio Peric-Mazar3.4K views
RedMart Migrating from EC2 to VPC with Chef by Ritesh Angural
RedMart Migrating from EC2 to VPC with ChefRedMart Migrating from EC2 to VPC with Chef
RedMart Migrating from EC2 to VPC with Chef
Ritesh Angural1.1K views
Lightning branches at RedMart (Js conf Asia 2014 Talk) by Ritesh Angural
Lightning branches at RedMart (Js conf Asia 2014  Talk)Lightning branches at RedMart (Js conf Asia 2014  Talk)
Lightning branches at RedMart (Js conf Asia 2014 Talk)
Ritesh Angural1.5K views
Web frameworks don't matter by Tomas Doran
Web frameworks don't matterWeb frameworks don't matter
Web frameworks don't matter
Tomas Doran593 views
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20 by Michael Lihs
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Michael Lihs4.5K views
Developing OpenResty Framework by OpenRestyCon
Developing OpenResty FrameworkDeveloping OpenResty Framework
Developing OpenResty Framework
OpenRestyCon1.3K views
Apache Camel workshop at BarcelonaJUG in January 2014 by Claus Ibsen
Apache Camel workshop at BarcelonaJUG in January 2014Apache Camel workshop at BarcelonaJUG in January 2014
Apache Camel workshop at BarcelonaJUG in January 2014
Claus Ibsen3.9K views
Making your first contribution to Foreman by Dominic Cleal
Making your first contribution to ForemanMaking your first contribution to Foreman
Making your first contribution to Foreman
Dominic Cleal1.7K views
High Concurrency Architecture and Laravel Performance Tuning by Albert Chen
High Concurrency Architecture and Laravel Performance TuningHigh Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance Tuning
Albert Chen20K views

Viewers also liked

e-Extortion Trends and Defense by
e-Extortion Trends and Defensee-Extortion Trends and Defense
e-Extortion Trends and DefenseErik Iker
921 views34 slides
Bridging the Gap: Connecting AWS and Kafka by
Bridging the Gap: Connecting AWS and KafkaBridging the Gap: Connecting AWS and Kafka
Bridging the Gap: Connecting AWS and KafkaPengfei (Jason) Li
2.7K views47 slides
Java standards in WCM by
Java standards in WCMJava standards in WCM
Java standards in WCMPaolo Mottadelli
1.3K views33 slides
Choosing the right data storage in the Cloud. by
Choosing the right data storage in the Cloud. Choosing the right data storage in the Cloud.
Choosing the right data storage in the Cloud. Amazon Web Services
1.3K views51 slides
Software Architectures, Week 3 - Microservice-based Architectures by
Software Architectures, Week 3 - Microservice-based ArchitecturesSoftware Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based ArchitecturesAngelos Kapsimanis
855 views59 slides
Microservices Tracing With Spring Cloud and Zipkin @Szczecin JUG by
Microservices Tracing With Spring Cloud and Zipkin @Szczecin JUGMicroservices Tracing With Spring Cloud and Zipkin @Szczecin JUG
Microservices Tracing With Spring Cloud and Zipkin @Szczecin JUGMarcin Grzejszczak
2.7K views74 slides

Viewers also liked(20)

e-Extortion Trends and Defense by Erik Iker
e-Extortion Trends and Defensee-Extortion Trends and Defense
e-Extortion Trends and Defense
Erik Iker921 views
Bridging the Gap: Connecting AWS and Kafka by Pengfei (Jason) Li
Bridging the Gap: Connecting AWS and KafkaBridging the Gap: Connecting AWS and Kafka
Bridging the Gap: Connecting AWS and Kafka
Pengfei (Jason) Li2.7K views
Choosing the right data storage in the Cloud. by Amazon Web Services
Choosing the right data storage in the Cloud. Choosing the right data storage in the Cloud.
Choosing the right data storage in the Cloud.
Amazon Web Services1.3K views
Software Architectures, Week 3 - Microservice-based Architectures by Angelos Kapsimanis
Software Architectures, Week 3 - Microservice-based ArchitecturesSoftware Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based Architectures
Angelos Kapsimanis855 views
Microservices Tracing With Spring Cloud and Zipkin @Szczecin JUG by Marcin Grzejszczak
Microservices Tracing With Spring Cloud and Zipkin @Szczecin JUGMicroservices Tracing With Spring Cloud and Zipkin @Szczecin JUG
Microservices Tracing With Spring Cloud and Zipkin @Szczecin JUG
Marcin Grzejszczak2.7K views
Astricon 2016 - Scaling ARI and Production by Dan Jenkins
Astricon 2016 - Scaling ARI and ProductionAstricon 2016 - Scaling ARI and Production
Astricon 2016 - Scaling ARI and Production
Dan Jenkins2.4K views
Fostering a Culture of Analytics by Alex Welch
Fostering a Culture of AnalyticsFostering a Culture of Analytics
Fostering a Culture of Analytics
Alex Welch473 views
Gartner 2017 London: How to re-invent your IT Architecture? by LeanIX GmbH
Gartner 2017 London: How to re-invent your IT Architecture?Gartner 2017 London: How to re-invent your IT Architecture?
Gartner 2017 London: How to re-invent your IT Architecture?
LeanIX GmbH2.2K views
Docker introduction by Phuc Nguyen
Docker introductionDocker introduction
Docker introduction
Phuc Nguyen1.3K views
Chicago AWS user group meetup - May 2014 at Cohesive by AWS Chicago
Chicago AWS user group meetup - May 2014 at CohesiveChicago AWS user group meetup - May 2014 at Cohesive
Chicago AWS user group meetup - May 2014 at Cohesive
AWS Chicago461 views
Developing highly scalable applications with Symfony and RabbitMQ by Alexey Petrov
Developing highly scalable applications with  Symfony and RabbitMQDeveloping highly scalable applications with  Symfony and RabbitMQ
Developing highly scalable applications with Symfony and RabbitMQ
Alexey Petrov3K views
API Management - Practical Enterprise Implementation Experience by Capgemini
API Management - Practical Enterprise Implementation ExperienceAPI Management - Practical Enterprise Implementation Experience
API Management - Practical Enterprise Implementation Experience
Capgemini2.2K views

Similar to Failing at Scale - PNWPHP 2016

DevOps, CLI, APIs, Oh My! Security Gone Agile by
DevOps, CLI, APIs, Oh My!  Security Gone AgileDevOps, CLI, APIs, Oh My!  Security Gone Agile
DevOps, CLI, APIs, Oh My! Security Gone AgileMatt Tesauro
1.4K views44 slides
On the Move, Migrations Made Simple by
On the Move, Migrations Made SimpleOn the Move, Migrations Made Simple
On the Move, Migrations Made SimpleJonathan Perlman
3.6K views60 slides
Midwest php 2013 deploying php on paas- why & how by
Midwest php 2013   deploying php on paas- why & howMidwest php 2013   deploying php on paas- why & how
Midwest php 2013 deploying php on paas- why & howdotCloud
17.7K views46 slides
First steps of programming with php by
First steps of programming with phpFirst steps of programming with php
First steps of programming with phpKanha Sahu
702 views24 slides
Your Inner Sysadmin - Tutorial (SunshinePHP 2015) by
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)Chris Tankersley
1.6K views53 slides
An introduction to php shells by
An introduction to php shellsAn introduction to php shells
An introduction to php shellsRichieSM
2.3K views20 slides

Similar to Failing at Scale - PNWPHP 2016(20)

DevOps, CLI, APIs, Oh My! Security Gone Agile by Matt Tesauro
DevOps, CLI, APIs, Oh My!  Security Gone AgileDevOps, CLI, APIs, Oh My!  Security Gone Agile
DevOps, CLI, APIs, Oh My! Security Gone Agile
Matt Tesauro1.4K views
On the Move, Migrations Made Simple by Jonathan Perlman
On the Move, Migrations Made SimpleOn the Move, Migrations Made Simple
On the Move, Migrations Made Simple
Jonathan Perlman3.6K views
Midwest php 2013 deploying php on paas- why & how by dotCloud
Midwest php 2013   deploying php on paas- why & howMidwest php 2013   deploying php on paas- why & how
Midwest php 2013 deploying php on paas- why & how
dotCloud17.7K views
First steps of programming with php by Kanha Sahu
First steps of programming with phpFirst steps of programming with php
First steps of programming with php
Kanha Sahu702 views
Your Inner Sysadmin - Tutorial (SunshinePHP 2015) by Chris Tankersley
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
Chris Tankersley1.6K views
An introduction to php shells by RichieSM
An introduction to php shellsAn introduction to php shells
An introduction to php shells
RichieSM2.3K views
Your Inner Sysadmin - MidwestPHP 2015 by Chris Tankersley
Your Inner Sysadmin - MidwestPHP 2015Your Inner Sysadmin - MidwestPHP 2015
Your Inner Sysadmin - MidwestPHP 2015
Chris Tankersley820 views
Docker for PHP Developers (NomadPHP) by Chris Tankersley
Docker for PHP Developers (NomadPHP)Docker for PHP Developers (NomadPHP)
Docker for PHP Developers (NomadPHP)
Chris Tankersley823 views
ApacheCon NA 2019 : Adding AI to customer segmentation using Apache Unomi and... by Serge Huber
ApacheCon NA 2019 : Adding AI to customer segmentation using Apache Unomi and...ApacheCon NA 2019 : Adding AI to customer segmentation using Apache Unomi and...
ApacheCon NA 2019 : Adding AI to customer segmentation using Apache Unomi and...
Serge Huber547 views
PHP Installed on IBM i - the Nickel Tour by Rod Flohr
PHP Installed on IBM i - the Nickel TourPHP Installed on IBM i - the Nickel Tour
PHP Installed on IBM i - the Nickel Tour
Rod Flohr3.3K views
On the Move - Migrations Made Simple by Jonathan Perlman
On the Move - Migrations Made SimpleOn the Move - Migrations Made Simple
On the Move - Migrations Made Simple
Jonathan Perlman2.1K views
Laravel Forge: Hello World to Hello Production by Joe Ferguson
Laravel Forge: Hello World to Hello ProductionLaravel Forge: Hello World to Hello Production
Laravel Forge: Hello World to Hello Production
Joe Ferguson8.1K views
Last Month in PHP - February 2016 by Eric Poe
Last Month in PHP - February 2016Last Month in PHP - February 2016
Last Month in PHP - February 2016
Eric Poe581 views
Create dynamic sites with PHP & MySQL by kangaro10a
Create dynamic sites with PHP & MySQLCreate dynamic sites with PHP & MySQL
Create dynamic sites with PHP & MySQL
kangaro10a2.7K views
23 LAMP Stack #burningkeyboards by Denis Ristic
23 LAMP Stack #burningkeyboards23 LAMP Stack #burningkeyboards
23 LAMP Stack #burningkeyboards
Denis Ristic246 views
Rock Solid Deployment of Web Applications by Pablo Godel
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web Applications
Pablo Godel10.3K views
Sys ml helperprofile-rhapsody813-obtainandinstall-v1 by Fraser Chadburn
Sys ml helperprofile-rhapsody813-obtainandinstall-v1Sys ml helperprofile-rhapsody813-obtainandinstall-v1
Sys ml helperprofile-rhapsody813-obtainandinstall-v1
Fraser Chadburn2.2K views
Deploying PHP on PaaS: Why and How? by Docker, Inc.
Deploying PHP on PaaS: Why and How?Deploying PHP on PaaS: Why and How?
Deploying PHP on PaaS: Why and How?
Docker, Inc.692 views

More from Chris Tankersley

Docker is Dead: Long Live Containers by
Docker is Dead: Long Live ContainersDocker is Dead: Long Live Containers
Docker is Dead: Long Live ContainersChris Tankersley
53 views52 slides
Bend time to your will with git by
Bend time to your will with gitBend time to your will with git
Bend time to your will with gitChris Tankersley
194 views73 slides
Using PHP Functions! (Not those functions, Google Cloud Functions) by
Using PHP Functions! (Not those functions, Google Cloud Functions)Using PHP Functions! (Not those functions, Google Cloud Functions)
Using PHP Functions! (Not those functions, Google Cloud Functions)Chris Tankersley
177 views72 slides
Dead Simple APIs with OpenAPI by
Dead Simple APIs with OpenAPIDead Simple APIs with OpenAPI
Dead Simple APIs with OpenAPIChris Tankersley
311 views63 slides
Killer Docker Workflows for Development by
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for DevelopmentChris Tankersley
159 views64 slides
You Got Async in my PHP! by
You Got Async in my PHP!You Got Async in my PHP!
You Got Async in my PHP!Chris Tankersley
164 views140 slides

More from Chris Tankersley(20)

Using PHP Functions! (Not those functions, Google Cloud Functions) by Chris Tankersley
Using PHP Functions! (Not those functions, Google Cloud Functions)Using PHP Functions! (Not those functions, Google Cloud Functions)
Using PHP Functions! (Not those functions, Google Cloud Functions)
Chris Tankersley177 views
Killer Docker Workflows for Development by Chris Tankersley
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
Chris Tankersley159 views
Docker for Developers - PHP Detroit 2018 by Chris Tankersley
Docker for Developers - PHP Detroit 2018Docker for Developers - PHP Detroit 2018
Docker for Developers - PHP Detroit 2018
Chris Tankersley865 views
BASHing at the CLI - Midwest PHP 2018 by Chris Tankersley
BASHing at the CLI - Midwest PHP 2018BASHing at the CLI - Midwest PHP 2018
BASHing at the CLI - Midwest PHP 2018
Chris Tankersley363 views
Docker for PHP Developers - php[world] 2017 by Chris Tankersley
Docker for PHP Developers - php[world] 2017Docker for PHP Developers - php[world] 2017
Docker for PHP Developers - php[world] 2017
Chris Tankersley821 views
Docker for PHP Developers - Madison PHP 2017 by Chris Tankersley
Docker for PHP Developers - Madison PHP 2017Docker for PHP Developers - Madison PHP 2017
Docker for PHP Developers - Madison PHP 2017
Chris Tankersley1.7K views
Docker for Developers - php[tek] 2017 by Chris Tankersley
Docker for Developers - php[tek] 2017Docker for Developers - php[tek] 2017
Docker for Developers - php[tek] 2017
Chris Tankersley1.1K views
OOP Is More Then Cars and Dogs - Midwest PHP 2017 by Chris Tankersley
OOP Is More Then Cars and Dogs - Midwest PHP 2017OOP Is More Then Cars and Dogs - Midwest PHP 2017
OOP Is More Then Cars and Dogs - Midwest PHP 2017
Chris Tankersley608 views
From Docker to Production - SunshinePHP 2017 by Chris Tankersley
From Docker to Production - SunshinePHP 2017From Docker to Production - SunshinePHP 2017
From Docker to Production - SunshinePHP 2017
Chris Tankersley853 views
Docker for Developers - Sunshine PHP by Chris Tankersley
Docker for Developers - Sunshine PHPDocker for Developers - Sunshine PHP
Docker for Developers - Sunshine PHP
Chris Tankersley812 views
Coming to Terms with OOP In Drupal - php[world] 2016 by Chris Tankersley
Coming to Terms with OOP In Drupal - php[world] 2016Coming to Terms with OOP In Drupal - php[world] 2016
Coming to Terms with OOP In Drupal - php[world] 2016
Chris Tankersley387 views
How We Got Here: A Brief History of Open Source by Chris Tankersley
How We Got Here: A Brief History of Open SourceHow We Got Here: A Brief History of Open Source
How We Got Here: A Brief History of Open Source
Chris Tankersley382 views

Recently uploaded

How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...ShapeBlue
171 views28 slides
Qualifying SaaS, IaaS.pptx by
Qualifying SaaS, IaaS.pptxQualifying SaaS, IaaS.pptx
Qualifying SaaS, IaaS.pptxSachin Bhandari
1.1K views8 slides
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...ShapeBlue
196 views62 slides
The Role of Patterns in the Era of Large Language Models by
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language ModelsYunyao Li
91 views65 slides
State of the Union - Rohit Yadav - Apache CloudStack by
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStackShapeBlue
303 views53 slides
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlueShapeBlue
152 views23 slides

Recently uploaded(20)

How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue171 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue196 views
The Role of Patterns in the Era of Large Language Models by Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li91 views
State of the Union - Rohit Yadav - Apache CloudStack by ShapeBlue
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStack
ShapeBlue303 views
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue152 views
The Power of Heat Decarbonisation Plans in the Built Environment by IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE84 views
"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays58 views
LLMs in Production: Tooling, Process, and Team Structure by Aggregage
LLMs in Production: Tooling, Process, and Team StructureLLMs in Production: Tooling, Process, and Team Structure
LLMs in Production: Tooling, Process, and Team Structure
Aggregage57 views
Business Analyst Series 2023 - Week 4 Session 8 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 8Business Analyst Series 2023 -  Week 4 Session 8
Business Analyst Series 2023 - Week 4 Session 8
DianaGray10145 views
"Running students' code in isolation. The hard way", Yurii Holiuk by Fwdays
"Running students' code in isolation. The hard way", Yurii Holiuk "Running students' code in isolation. The hard way", Yurii Holiuk
"Running students' code in isolation. The hard way", Yurii Holiuk
Fwdays36 views
"Package management in monorepos", Zoltan Kochan by Fwdays
"Package management in monorepos", Zoltan Kochan"Package management in monorepos", Zoltan Kochan
"Package management in monorepos", Zoltan Kochan
Fwdays34 views
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... by ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue164 views
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue137 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
The Power of Generative AI in Accelerating No Code Adoption.pdf by Saeed Al Dhaheri
The Power of Generative AI in Accelerating No Code Adoption.pdfThe Power of Generative AI in Accelerating No Code Adoption.pdf
The Power of Generative AI in Accelerating No Code Adoption.pdf
Saeed Al Dhaheri39 views
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by The Digital Insurer
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by ShapeBlue
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystems
ShapeBlue247 views

Failing at Scale - PNWPHP 2016

  • 1. Failing at Scale Chris Tankersley @dragonmantank Pacific Northwest PHP, September 2016 Pacific Northwest PHP, September 2016 1
  • 2. I think something is wrong Pacific Northwest PHP, September 2016 2
  • 3. Problems with Distributed Applications • Making sure that configurations are consistent • Making sure that your code gets updated everywhere • Actually finding errors Pacific Northwest PHP, September 2016 3
  • 4. I know this is a bug, but where? Pacific Northwest PHP, September 2016 4
  • 5. You Can’t Rely on Physical Files • Servers/Containers Disappear • How do you know where something happened? Pacific Northwest PHP, September 2016 5
  • 6. syslog Pacific Northwest PHP, September 2016 6 Your Server PHP Application Monolog syslog Centralized syslog Server syslog
  • 7. Set up the Server # /etc/init.d/syslog.conf, or something similiar # Make sure the following is set SYSLOGD="-r -m0" Pacific Northwest PHP, September 2016 7
  • 8. Set up the server # /etc/syslog.conf, or something similiar # Set up the log file locations *.emerg /var/log/emergency.log *.alert /var/log/alert.log # Or lump them together *.emerg /var/log/application.log *.alert /var/log/application.log Pacific Northwest PHP, September 2016 8
  • 9. Set up the clients # /etc/syslog.conf, or something similiar # Send all log types of all log severities to a # single server *.* @<hostname|IP Address> Pacific Northwest PHP, September 2016 9
  • 10. Logging SaaS • Same idea as a remote syslog • Usually installs some log watching software • Pretty interface for searching/looking at logs Pacific Northwest PHP, September 2016 10
  • 11. Loggly Pacific Northwest PHP, September 2016 11
  • 12. ELK Stack • ElasticSearch, LogStash, Kibana • Can run locally or through a SaaS service like logz.io Pacific Northwest PHP, September 2016 12
  • 13. Logz.io Pacific Northwest PHP, September 2016 13
  • 14. But I swear I fixed that bug! Pacific Northwest PHP, September 2016 14
  • 15. Don’t Trust Humans We Suck Pacific Northwest PHP, September 2016 15
  • 16. Anything you do by hand, Automate Pacific Northwest PHP, September 2016 16
  • 17. Automating the Build Process • Composer • Grunt/Gulp/npm/asset pipelines • Putting proper config files in place Pacific Northwest PHP, September 2016 17
  • 18. Track Everything Pacific Northwest PHP, September 2016 18
  • 19. Automating Code Pushes Pacific Northwest PHP, September 2016 19
  • 20. I’m pretty sure we have PHP… 5.6 installed? Pacific Northwest PHP, September 2016 20
  • 21. Remember, Don’t Trust Humans! Pacific Northwest PHP, September 2016 21
  • 22. Ansible • Self contained and can be run from anywhere • Very easy to get set up and running • Lots of “playbooks” Pacific Northwest PHP, September 2016 22
  • 23. Puppet • Master-Agent Setup • Constantly checks to make sure machines are compliant • You might be using it already! Pacific Northwest PHP, September 2016 23
  • 24. Vagrant Cookbook Pacific Northwest PHP, September 2016 24
  • 25. Thank You! • https://github.com/dragonmantank • Author of “Docker for Developers” • https://leanpub.com/dockerfordevs • http://ctankersley.com • chris@ctankersley.com • @dragonmantank • https://joind.in/talk/64ad5 Pacific Northwest PHP, September 2016 25