SlideShare a Scribd company logo
Cleaning the Park:
Reclaim your Logging
Matt Campbell
matthew.campbell@d2l.com
@beardedcoder
Matt Campbell
Engineering Director with D2L
Leading project to achieve proper web-scale in AWS
Previously lead move to monthly deployments
matthew.campbell@d2l.com
@beardedcoder
What can I expect from this talk?
• Who is D2L and what do they do?
• How we ended up with a dirty park
• How we tried (and failed) to clean up
• How we tried (and failed less) to clean up
• What I’ve learned along the way
Millions of
logins daily
at peak
TBs of
aggregate
data
PBs of
aggregate
content
Clients
with Multi-
TB DBs
Dev adds code
Code generates
log
Logging
• Structured information written out during operation of code.
• Can be at various levels (info, debug, warn, error, fatal).
• Typically used to debug exceptional code behavior.
For the purposes of this talk, when I refer to logging, I mean Error/Fatal level
logging (the really bad stuff)
Broken Window Theory
Users
Application Servers
Database
New Application Servers
Migrated DatabasePartially Migrated Database
Made visible count of logs made each day
Users
Application Servers
Database
New Application Servers
Migrated Database
Dev and Ops were very separated at the time
Tried to solve logging for all things at once
Tried to solve for all regions and all instances at once
They didn’t have a strong why
Users
Application Servers
Migrated Database
Dev adds code
Code generates
log
Dev reviews
log and makes
change
Resistance to Change
UnfamiliaritywithProblem
Resistance to Change
UnfamiliaritywithProblem
Resistance to Change
UnfamiliaritywithProblem
Resistance to Change
UnfamiliaritywithProblem
Resistance to Change
UnfamiliaritywithProblem
Top Tips
Go for something sticky
Everyone has inertia to overcome
It’s OK to acknowledge this will take awhile
Celebrate the small victories
Don’t be afraid to start
You don’t need to know how to finish
Cleaning the Park:
Reclaim your Logging
Matt Campbell
matthew.campbell@d2l.com
@beardedcoder

More Related Content

What's hot

Hector's slides
Hector's slidesHector's slides
Hector's slides
IIHEvents
 
AWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter Kemps
AWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter KempsAWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter Kemps
AWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter Kemps
Amazon Web Services
 
Life After Adobe - Nick Barreto & Simon Collinson - ebookcraft 2018
Life After Adobe - Nick Barreto & Simon Collinson - ebookcraft 2018Life After Adobe - Nick Barreto & Simon Collinson - ebookcraft 2018
Life After Adobe - Nick Barreto & Simon Collinson - ebookcraft 2018
BookNet Canada
 
EXPERTALKS: Jul 2012 - Build using Gradle
EXPERTALKS: Jul 2012 - Build using GradleEXPERTALKS: Jul 2012 - Build using Gradle
EXPERTALKS: Jul 2012 - Build using Gradle
EXPERTALKS
 
Scaling small apps
Scaling small appsScaling small apps
Scaling small apps
Michael Brunton-Spall
 
Reactive application
Reactive applicationReactive application
Reactive application
Christophe Marchal
 
Building Modular Dynamic Web Apps Ben Hale
Building Modular Dynamic Web Apps   Ben HaleBuilding Modular Dynamic Web Apps   Ben Hale
Building Modular Dynamic Web Apps Ben Hale
catherinewall
 
Go Hybrid with Azure Web Apps
Go Hybrid with Azure Web AppsGo Hybrid with Azure Web Apps
Go Hybrid with Azure Web Apps
Tom Van Gramberen
 
TechDays Wrap-up Seven Stars Shares
TechDays Wrap-up Seven Stars SharesTechDays Wrap-up Seven Stars Shares
TechDays Wrap-up Seven Stars Shares
Marjolijn van Hulzen
 
GreenButton-201502
GreenButton-201502GreenButton-201502
GreenButton-201502
Jonathan Kalbfeld, MBA
 
FMEWT17 Getting Satrted FME 2017 (Ken)
FMEWT17 Getting Satrted FME 2017 (Ken)FMEWT17 Getting Satrted FME 2017 (Ken)
FMEWT17 Getting Satrted FME 2017 (Ken)
gespsrl
 
Cloud Expo Silicon Valley: Prepare for the Surge… Before It’s Too Late
Cloud Expo Silicon Valley: Prepare for the Surge… Before It’s Too LateCloud Expo Silicon Valley: Prepare for the Surge… Before It’s Too Late
Cloud Expo Silicon Valley: Prepare for the Surge… Before It’s Too Late
RightScale
 
Cloud computing: cost reduction
Cloud computing: cost reductionCloud computing: cost reduction
Cloud computing: cost reduction
Hesham Shabana
 
TallyJS #1 - Intro to AngularJS
TallyJS #1 - Intro to AngularJSTallyJS #1 - Intro to AngularJS
TallyJS #1 - Intro to AngularJS
Andrew Hart
 
Programming pillars
Programming pillarsProgramming pillars
Programming pillars
Ian Stuart
 
The Why and How of Applications with APIs and microservices
The Why and How of Applications with APIs and microservicesThe Why and How of Applications with APIs and microservices
The Why and How of Applications with APIs and microservices
Ronald Ashri
 
Cloud automation strategies
Cloud automation strategiesCloud automation strategies
Cloud automation strategies
Puppet Labs
 
Google App Engine: Should you or should you not?
Google App Engine: Should you or should you not?Google App Engine: Should you or should you not?
Google App Engine: Should you or should you not?
AshwinPrabhuB
 
Building a Single Page Application with GatsbyJS
Building a Single Page Application with GatsbyJSBuilding a Single Page Application with GatsbyJS
Building a Single Page Application with GatsbyJS
Karan Rajpal
 

What's hot (19)

Hector's slides
Hector's slidesHector's slides
Hector's slides
 
AWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter Kemps
AWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter KempsAWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter Kemps
AWS Summit 2013 | India - 0 to Production in 40 minutes, Pieter Kemps
 
Life After Adobe - Nick Barreto & Simon Collinson - ebookcraft 2018
Life After Adobe - Nick Barreto & Simon Collinson - ebookcraft 2018Life After Adobe - Nick Barreto & Simon Collinson - ebookcraft 2018
Life After Adobe - Nick Barreto & Simon Collinson - ebookcraft 2018
 
EXPERTALKS: Jul 2012 - Build using Gradle
EXPERTALKS: Jul 2012 - Build using GradleEXPERTALKS: Jul 2012 - Build using Gradle
EXPERTALKS: Jul 2012 - Build using Gradle
 
Scaling small apps
Scaling small appsScaling small apps
Scaling small apps
 
Reactive application
Reactive applicationReactive application
Reactive application
 
Building Modular Dynamic Web Apps Ben Hale
Building Modular Dynamic Web Apps   Ben HaleBuilding Modular Dynamic Web Apps   Ben Hale
Building Modular Dynamic Web Apps Ben Hale
 
Go Hybrid with Azure Web Apps
Go Hybrid with Azure Web AppsGo Hybrid with Azure Web Apps
Go Hybrid with Azure Web Apps
 
TechDays Wrap-up Seven Stars Shares
TechDays Wrap-up Seven Stars SharesTechDays Wrap-up Seven Stars Shares
TechDays Wrap-up Seven Stars Shares
 
GreenButton-201502
GreenButton-201502GreenButton-201502
GreenButton-201502
 
FMEWT17 Getting Satrted FME 2017 (Ken)
FMEWT17 Getting Satrted FME 2017 (Ken)FMEWT17 Getting Satrted FME 2017 (Ken)
FMEWT17 Getting Satrted FME 2017 (Ken)
 
Cloud Expo Silicon Valley: Prepare for the Surge… Before It’s Too Late
Cloud Expo Silicon Valley: Prepare for the Surge… Before It’s Too LateCloud Expo Silicon Valley: Prepare for the Surge… Before It’s Too Late
Cloud Expo Silicon Valley: Prepare for the Surge… Before It’s Too Late
 
Cloud computing: cost reduction
Cloud computing: cost reductionCloud computing: cost reduction
Cloud computing: cost reduction
 
TallyJS #1 - Intro to AngularJS
TallyJS #1 - Intro to AngularJSTallyJS #1 - Intro to AngularJS
TallyJS #1 - Intro to AngularJS
 
Programming pillars
Programming pillarsProgramming pillars
Programming pillars
 
The Why and How of Applications with APIs and microservices
The Why and How of Applications with APIs and microservicesThe Why and How of Applications with APIs and microservices
The Why and How of Applications with APIs and microservices
 
Cloud automation strategies
Cloud automation strategiesCloud automation strategies
Cloud automation strategies
 
Google App Engine: Should you or should you not?
Google App Engine: Should you or should you not?Google App Engine: Should you or should you not?
Google App Engine: Should you or should you not?
 
Building a Single Page Application with GatsbyJS
Building a Single Page Application with GatsbyJSBuilding a Single Page Application with GatsbyJS
Building a Single Page Application with GatsbyJS
 

Similar to Cleaning The Part: Reclaim your Logging

Building data pipelines at Shopee with DEC
Building data pipelines at Shopee with DECBuilding data pipelines at Shopee with DEC
Building data pipelines at Shopee with DEC
Rim Zaidullin
 
Bio bigdata
Bio bigdata Bio bigdata
Bio bigdata
Mk Kim
 
DBT ELT approach for Advanced Analytics.pptx
DBT ELT approach for Advanced Analytics.pptxDBT ELT approach for Advanced Analytics.pptx
DBT ELT approach for Advanced Analytics.pptx
Hong Ong
 
Ch-ch-ch-ch-changes....Stitch Triggers - Andrew Morgan
Ch-ch-ch-ch-changes....Stitch Triggers - Andrew MorganCh-ch-ch-ch-changes....Stitch Triggers - Andrew Morgan
Ch-ch-ch-ch-changes....Stitch Triggers - Andrew Morgan
MongoDB
 
Uncover the Root Cause of Kafka Performance Anomalies, Daniel Kim & Antón Rod...
Uncover the Root Cause of Kafka Performance Anomalies, Daniel Kim & Antón Rod...Uncover the Root Cause of Kafka Performance Anomalies, Daniel Kim & Antón Rod...
Uncover the Root Cause of Kafka Performance Anomalies, Daniel Kim & Antón Rod...
HostedbyConfluent
 
MongoDB World 2016: Get MEAN and Lean with MongoDB and Kubernetes
MongoDB World 2016: Get MEAN and Lean with MongoDB and KubernetesMongoDB World 2016: Get MEAN and Lean with MongoDB and Kubernetes
MongoDB World 2016: Get MEAN and Lean with MongoDB and Kubernetes
MongoDB
 
Lean Enterprise, Microservices and Big Data
Lean Enterprise, Microservices and Big DataLean Enterprise, Microservices and Big Data
Lean Enterprise, Microservices and Big Data
Stylight
 
Mongodb
MongodbMongodb
Mongodb
Apurva Vyas
 
CQRS recipes or how to cook your architecture
CQRS recipes or how to cook your architectureCQRS recipes or how to cook your architecture
CQRS recipes or how to cook your architecture
Thomas Jaskula
 
Introduction to Azure DocumentDB
Introduction to Azure DocumentDBIntroduction to Azure DocumentDB
Introduction to Azure DocumentDB
Denny Lee
 
BDM39: HP Vertica BI: Sub-second big data analytics your users and developers...
BDM39: HP Vertica BI: Sub-second big data analytics your users and developers...BDM39: HP Vertica BI: Sub-second big data analytics your users and developers...
BDM39: HP Vertica BI: Sub-second big data analytics your users and developers...
Big Data Montreal
 
Hybrid MongoDB and RDBMS Applications
Hybrid MongoDB and RDBMS ApplicationsHybrid MongoDB and RDBMS Applications
Hybrid MongoDB and RDBMS Applications
Steven Francia
 
Dapper: the microORM that will change your life
Dapper: the microORM that will change your lifeDapper: the microORM that will change your life
Dapper: the microORM that will change your life
Davide Mauri
 
NoSQL and MongoDB Introdction
NoSQL and MongoDB IntrodctionNoSQL and MongoDB Introdction
NoSQL and MongoDB Introdction
Brian Enochson
 
Production NoSQL in an Hour: Introduction to Amazon DynamoDB (DAT101) | AWS r...
Production NoSQL in an Hour: Introduction to Amazon DynamoDB (DAT101) | AWS r...Production NoSQL in an Hour: Introduction to Amazon DynamoDB (DAT101) | AWS r...
Production NoSQL in an Hour: Introduction to Amazon DynamoDB (DAT101) | AWS r...
Amazon Web Services
 
Python in an Evolving Enterprise System (PyData SV 2013)
Python in an Evolving Enterprise System (PyData SV 2013)Python in an Evolving Enterprise System (PyData SV 2013)
Python in an Evolving Enterprise System (PyData SV 2013)
PyData
 
Data & Analytics - Session 1 - Big Data Analytics
Data & Analytics - Session 1 -  Big Data AnalyticsData & Analytics - Session 1 -  Big Data Analytics
Data & Analytics - Session 1 - Big Data Analytics
Amazon Web Services
 
Building a devops CMDB
Building a devops CMDBBuilding a devops CMDB
Building a devops CMDB
Jaime Valero de Bernabé
 
Use dependency injection to get Hadoop *out* of your application code
Use dependency injection to get Hadoop *out* of your application codeUse dependency injection to get Hadoop *out* of your application code
Use dependency injection to get Hadoop *out* of your application code
DataWorks Summit
 
Bodo Value Guide.pdf
Bodo Value Guide.pdfBodo Value Guide.pdf
Bodo Value Guide.pdf
GregHanchin1
 

Similar to Cleaning The Part: Reclaim your Logging (20)

Building data pipelines at Shopee with DEC
Building data pipelines at Shopee with DECBuilding data pipelines at Shopee with DEC
Building data pipelines at Shopee with DEC
 
Bio bigdata
Bio bigdata Bio bigdata
Bio bigdata
 
DBT ELT approach for Advanced Analytics.pptx
DBT ELT approach for Advanced Analytics.pptxDBT ELT approach for Advanced Analytics.pptx
DBT ELT approach for Advanced Analytics.pptx
 
Ch-ch-ch-ch-changes....Stitch Triggers - Andrew Morgan
Ch-ch-ch-ch-changes....Stitch Triggers - Andrew MorganCh-ch-ch-ch-changes....Stitch Triggers - Andrew Morgan
Ch-ch-ch-ch-changes....Stitch Triggers - Andrew Morgan
 
Uncover the Root Cause of Kafka Performance Anomalies, Daniel Kim & Antón Rod...
Uncover the Root Cause of Kafka Performance Anomalies, Daniel Kim & Antón Rod...Uncover the Root Cause of Kafka Performance Anomalies, Daniel Kim & Antón Rod...
Uncover the Root Cause of Kafka Performance Anomalies, Daniel Kim & Antón Rod...
 
MongoDB World 2016: Get MEAN and Lean with MongoDB and Kubernetes
MongoDB World 2016: Get MEAN and Lean with MongoDB and KubernetesMongoDB World 2016: Get MEAN and Lean with MongoDB and Kubernetes
MongoDB World 2016: Get MEAN and Lean with MongoDB and Kubernetes
 
Lean Enterprise, Microservices and Big Data
Lean Enterprise, Microservices and Big DataLean Enterprise, Microservices and Big Data
Lean Enterprise, Microservices and Big Data
 
Mongodb
MongodbMongodb
Mongodb
 
CQRS recipes or how to cook your architecture
CQRS recipes or how to cook your architectureCQRS recipes or how to cook your architecture
CQRS recipes or how to cook your architecture
 
Introduction to Azure DocumentDB
Introduction to Azure DocumentDBIntroduction to Azure DocumentDB
Introduction to Azure DocumentDB
 
BDM39: HP Vertica BI: Sub-second big data analytics your users and developers...
BDM39: HP Vertica BI: Sub-second big data analytics your users and developers...BDM39: HP Vertica BI: Sub-second big data analytics your users and developers...
BDM39: HP Vertica BI: Sub-second big data analytics your users and developers...
 
Hybrid MongoDB and RDBMS Applications
Hybrid MongoDB and RDBMS ApplicationsHybrid MongoDB and RDBMS Applications
Hybrid MongoDB and RDBMS Applications
 
Dapper: the microORM that will change your life
Dapper: the microORM that will change your lifeDapper: the microORM that will change your life
Dapper: the microORM that will change your life
 
NoSQL and MongoDB Introdction
NoSQL and MongoDB IntrodctionNoSQL and MongoDB Introdction
NoSQL and MongoDB Introdction
 
Production NoSQL in an Hour: Introduction to Amazon DynamoDB (DAT101) | AWS r...
Production NoSQL in an Hour: Introduction to Amazon DynamoDB (DAT101) | AWS r...Production NoSQL in an Hour: Introduction to Amazon DynamoDB (DAT101) | AWS r...
Production NoSQL in an Hour: Introduction to Amazon DynamoDB (DAT101) | AWS r...
 
Python in an Evolving Enterprise System (PyData SV 2013)
Python in an Evolving Enterprise System (PyData SV 2013)Python in an Evolving Enterprise System (PyData SV 2013)
Python in an Evolving Enterprise System (PyData SV 2013)
 
Data & Analytics - Session 1 - Big Data Analytics
Data & Analytics - Session 1 -  Big Data AnalyticsData & Analytics - Session 1 -  Big Data Analytics
Data & Analytics - Session 1 - Big Data Analytics
 
Building a devops CMDB
Building a devops CMDBBuilding a devops CMDB
Building a devops CMDB
 
Use dependency injection to get Hadoop *out* of your application code
Use dependency injection to get Hadoop *out* of your application codeUse dependency injection to get Hadoop *out* of your application code
Use dependency injection to get Hadoop *out* of your application code
 
Bodo Value Guide.pdf
Bodo Value Guide.pdfBodo Value Guide.pdf
Bodo Value Guide.pdf
 

More from Matthew Campbell, OCT

Happy Teams Make Better Code
Happy Teams Make Better CodeHappy Teams Make Better Code
Happy Teams Make Better Code
Matthew Campbell, OCT
 
Real World Retrospectives
Real World RetrospectivesReal World Retrospectives
Real World Retrospectives
Matthew Campbell, OCT
 
Unit 8: Control Statements
Unit 8: Control StatementsUnit 8: Control Statements
Unit 8: Control Statements
Matthew Campbell, OCT
 
Unit 7: Built-In Functions
Unit 7: Built-In FunctionsUnit 7: Built-In Functions
Unit 7: Built-In Functions
Matthew Campbell, OCT
 
Unit 6: Functions and Subroutines
Unit 6: Functions and SubroutinesUnit 6: Functions and Subroutines
Unit 6: Functions and Subroutines
Matthew Campbell, OCT
 
Unit 6: Functions and Subroutines - Part 2/2
Unit 6: Functions and Subroutines - Part 2/2Unit 6: Functions and Subroutines - Part 2/2
Unit 6: Functions and Subroutines - Part 2/2
Matthew Campbell, OCT
 
Unit 5: Variables
Unit 5: VariablesUnit 5: Variables
Unit 5: Variables
Matthew Campbell, OCT
 
Chapter 2: Preliminaries
Chapter 2: PreliminariesChapter 2: Preliminaries
Chapter 2: Preliminaries
Matthew Campbell, OCT
 
Chapter 3 Excel Macros
Chapter 3 Excel MacrosChapter 3 Excel Macros
Chapter 3 Excel Macros
Matthew Campbell, OCT
 

More from Matthew Campbell, OCT (9)

Happy Teams Make Better Code
Happy Teams Make Better CodeHappy Teams Make Better Code
Happy Teams Make Better Code
 
Real World Retrospectives
Real World RetrospectivesReal World Retrospectives
Real World Retrospectives
 
Unit 8: Control Statements
Unit 8: Control StatementsUnit 8: Control Statements
Unit 8: Control Statements
 
Unit 7: Built-In Functions
Unit 7: Built-In FunctionsUnit 7: Built-In Functions
Unit 7: Built-In Functions
 
Unit 6: Functions and Subroutines
Unit 6: Functions and SubroutinesUnit 6: Functions and Subroutines
Unit 6: Functions and Subroutines
 
Unit 6: Functions and Subroutines - Part 2/2
Unit 6: Functions and Subroutines - Part 2/2Unit 6: Functions and Subroutines - Part 2/2
Unit 6: Functions and Subroutines - Part 2/2
 
Unit 5: Variables
Unit 5: VariablesUnit 5: Variables
Unit 5: Variables
 
Chapter 2: Preliminaries
Chapter 2: PreliminariesChapter 2: Preliminaries
Chapter 2: Preliminaries
 
Chapter 3 Excel Macros
Chapter 3 Excel MacrosChapter 3 Excel Macros
Chapter 3 Excel Macros
 

Recently uploaded

Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
Roger Rozario
 
Mechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineeringMechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineering
sachin chaurasia
 
Blood finder application project report (1).pdf
Blood finder application project report (1).pdfBlood finder application project report (1).pdf
Blood finder application project report (1).pdf
Kamal Acharya
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
Atif Razi
 
Zener Diode and its V-I Characteristics and Applications
Zener Diode and its V-I Characteristics and ApplicationsZener Diode and its V-I Characteristics and Applications
Zener Diode and its V-I Characteristics and Applications
Shiny Christobel
 
5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf
AlvianRamadhani5
 
Accident detection system project report.pdf
Accident detection system project report.pdfAccident detection system project report.pdf
Accident detection system project report.pdf
Kamal Acharya
 
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
upoux
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
21UME003TUSHARDEB
 
Supermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdfSupermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdf
Kamal Acharya
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENTNATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
Addu25809
 
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICSUNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
vmspraneeth
 
TIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptxTIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptx
CVCSOfficial
 
Digital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptxDigital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptx
aryanpankaj78
 
Object Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOADObject Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOAD
PreethaV16
 
Pressure Relief valve used in flow line to release the over pressure at our d...
Pressure Relief valve used in flow line to release the over pressure at our d...Pressure Relief valve used in flow line to release the over pressure at our d...
Pressure Relief valve used in flow line to release the over pressure at our d...
cannyengineerings
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
Prakhyath Rai
 
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
Paris Salesforce Developer Group
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
ElakkiaU
 

Recently uploaded (20)

Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
 
Mechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineeringMechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineering
 
Blood finder application project report (1).pdf
Blood finder application project report (1).pdfBlood finder application project report (1).pdf
Blood finder application project report (1).pdf
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
 
Zener Diode and its V-I Characteristics and Applications
Zener Diode and its V-I Characteristics and ApplicationsZener Diode and its V-I Characteristics and Applications
Zener Diode and its V-I Characteristics and Applications
 
5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf5G Radio Network Througput Problem Analysis HCIA.pdf
5G Radio Network Througput Problem Analysis HCIA.pdf
 
Accident detection system project report.pdf
Accident detection system project report.pdfAccident detection system project report.pdf
Accident detection system project report.pdf
 
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
 
Supermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdfSupermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdf
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENTNATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
 
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICSUNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
UNIT 4 LINEAR INTEGRATED CIRCUITS-DIGITAL ICS
 
TIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptxTIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptx
 
Digital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptxDigital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptx
 
Object Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOADObject Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOAD
 
Pressure Relief valve used in flow line to release the over pressure at our d...
Pressure Relief valve used in flow line to release the over pressure at our d...Pressure Relief valve used in flow line to release the over pressure at our d...
Pressure Relief valve used in flow line to release the over pressure at our d...
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
 
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
 

Cleaning The Part: Reclaim your Logging

Editor's Notes

  1. https://www.soswildlifecontrol.com/wp-content/uploads/2017/01/qtq80-vB3b6f.jpeg
  2. Who is D2L? What is it that we do? Image Copyright 2016 D2L Inc.
  3. We’re global https://upload.wikimedia.org/wikipedia/commons/0/09/BlankMap-World-v2.png
  4. We’re data intensive <See if you can get stats on logins, amount of data, size of DBs>
  5. In the early days of D2L, there weren’t fancy technologies like ElasticSearch and fancy third-party logging vendors. So we dumped the logs in the spot we had: SQLServer http://1.bp.blogspot.com/-M1MjcnIA7fU/Voz-EKMq5PI/AAAAAAAAL-w/xvywHnJugm8/s1600/rolling-logs.jpg
  6. When the company was small this worked just fine. Every had access to everything and people worked close (as in physically) together.
  7. However, as the company grew, people had to specialize and we had to start restricting access to client data. This meant that developers no longer had easy access to the logs that were being generated https://i.ytimg.com/vi/TeYaQGbD6Xc/maxresdefault.jpg
  8. However, we knew logging was a good thing so we kept adding logging to the code. For a time I imagine devs still had insight (through back channels), but overtime that would have waned.
  9. However, we knew logging was a good thing so we kept adding logging to the code. For a time I imagine devs still had insight (through back channels), but overtime that would have waned.
  10. Eventually, we were adding logging because the code we saw had logging in it. And as much as we don’t want to admit it, we copy other code to help get our work done faster. And in copying that code we don’t also think if what we are copying should all remain. So, more and more logging was added. https://i.redd.it/tjltyl5m332z.jpg
  11. This meant we had 100,000’s of logs monthly (just at an error level) that were rarely looked at. https://upload.wikimedia.org/wikipedia/commons/c/c7/Logs.jpg
  12. However, all these logs were consuming disc and IOPS on our databases https://img.gawkerassets.com/img/19aanrziuk65tjpg/original.jpg
  13. https://www.soswildlifecontrol.com/wp-content/uploads/2017/01/qtq80-vB3b6f.jpeg
  14. https://www.soswildlifecontrol.com/wp-content/uploads/2017/01/qtq80-vB3b6f.jpeg
  15. To my knowledge we’ve had 3 previous attempts to correct this problem https://i0.wp.com/mobcblog.wpengine.com/wp-content/uploads/2015/09/52.jpg
  16. The first attempt spun off of my past project, moving D2L to continuous delivery. My manager at the time (and the architect of the CD solution) realized that the amount of noise in the logs meant we couldn’t use them to figure out if we had broken anything while moving the deployment model forward.
  17. So we built a widget on a dashboard that showed the number of error logs generated that day.
  18. And nothing happened. While, something happened, we all felt really bad about how many logs we made.
  19. We hadn’t fixed the main problems blocking us: Simple access to the logs and an aggregated view across all instances.
  20. This is when the idea of combining all the logs together into a Centralized solution first came about http://cdn1us.denofgeek.com/sites/denofgeekus/files/2016/10/captain-planet-movie.jpg
  21. http://teamgaffney.com/wp-content/uploads/2016/02/Return-to-Sender.png
  22. https://i.imgflip.com/y9sav.jpg
  23. Focused on solving logging for the sake of logging. But no one cared about logging.
  24. Full disclosure, we’re not actually done yet <gasp> https://fluffrick.files.wordpress.com/2012/01/richmond.jpg
  25. So why is this time any different?
  26. We have a stronger why behind the move. This time it is spurred by our large-scale migration into AWS. https://cdn.vox-cdn.com/thumbor/tlEpA9YH7R4FUtj2Bf347AoeP8I=/0x0:308x164/1200x800/filters:focal(95x65:143x113)/cdn.vox-cdn.com/uploads/chorus_image/image/54087325/images.0.jpg
  27. Moving into AWS provided us with access to technologies that we didn’t have before
  28. With our move to AWS we also are rearchitecting our application for multi-tenancy. The way we currently log is a blocker to that.
  29. All of this gave us a stronger vision for the project than just fix logging.
  30. https://nbchardballtalk.files.wordpress.com/2017/02/field-of-dreams-e1486999847754.jpg?w=1200
  31. The goal was to still get to 0 logs. With error logs under control we can actually start to treat new error logs as critical events. However there were far too many logs for one team to handle. Even with the new people who came on board once Kibana was out, it wasn’t enough to start making progress. http://i2.cdn.turner.com/money/dam/assets/150109042203-line-graph-ground-breaking-1024x576.png
  32. Recall that we want to get to 0 error logs so that any logs can be treated as an Incident
  33. Enter LogDropper. We started an initiative to
  34. The emotional cycle of change
  35. http://www.fitcrazy.tv/wp-content/uploads/2016/09/blog-lesson-from-barbell-main.jpg
  36. http://static.tabatatimes.com/wp-content/uploads/2013/10/Sisyphus-Image-01C.jpg
  37. https://greatperformersacademy.com/images/images/Articles_images/small-wins-happiness-success.jpg
  38. https://upload.wikimedia.org/wikipedia/commons/6/63/African_elephant_warning_raised_trunk.jpg
  39. https://www.soswildlifecontrol.com/wp-content/uploads/2017/01/qtq80-vB3b6f.jpeg