SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
SCORE!

SUPERIOR DIGITAL EXPERIENCES WITH MLS
MAY 10, 2016
Brian Aznar

(Director of Engineering, MLS Digital)
Steven Merrill

(Director of DevOps, Phase2)
BACKGROUND
MLS & DIGITAL PRODUCTS
MAJOR LEAGUE SOCCER
STATE OF THE LEAGUE
‣ 20 current teams with plans to expand to 24 by 2020
‣ Adding state of the art soccer-specific stadiums around the US -
average in stadium audience exceeds NHL and NBA
‣ Expanding our reach in the US and around the world with great new
TV distribution deals
‣ Young and multicultural fan base that is hungry for digital
MLS FANBASE
‣ Avids
‣ Regularly watches and
attends MLS matches
‣ Consume soccer related
content
‣ Regularly visits
MLSsoccer.com and other
soccer specific sites
‣ Casuals
‣ Occasionally
watches and
attends MLS
Matches
MLS DIGITAL PRODUCT ECOSYSTEM
‣ Web: 20 club websites + 1 league web site using Drupal 7
‣ Mobile Apps: iOS, Android
‣ Connected TV: Roku, Chomecast, Apple TV
‣ Services: Content API, Video & Stats ingest pipelines,
Content delivery, etc …
‣ Infrastructure: AWS
2015 CASE STUDY
GOAL
‣ Modernize and stabilize MLS’ web
platform (backend and frontend)
and successfully migrate 21 sites
by the end of 2015 to AWS and D7.
THE TEAM
PHASE2
‣ Founded in 2001
‣ Offices in DC, NYC, San Francisco, and Portland
‣ Committed to open source technology
‣ Focus on how content is delivered, how

teams collaborate, and how audiences

experience information
PHASE2 & MLS
‣ Long-term partnership over 3 years
‣ Helped with D7 platform build
‣ March 2015 - we kicked off their migration to
MP7 Drupal platform and into AWS
PHASE2 & MLS TECHNOLOGY TEAM
‣ Drupal Developers (Phase 2)
‣ Fullstack Javascript Developers: React, Backbone, Node.js & Go (MLS)
‣ DevOps (Phase 2)
‣ Process = Scrumban
‣ Maximize development velocity, agility and responsiveness to business needs.
‣ Centralized Development Team
‣ Moving from segmented teams towards a single cross disciplinary team.
CHALLENGES & SOLUTIONS
CHALLENGES WE NEEDED TO ADDRESS
1. Outdated UX originally built for desktop viewing only
2. Inflexible Authoring - Needed an efficient and scalable
way to give clubs more control to build out their own content
3. Wasted Server Capacity - High variability in traffic
patterns means planning for the worst
CHALLENGES WE NEEDED TO ADDRESS
4. High Fixed infrastructure costs
5. Poor Performance
6. Technology Soup - Go, node, CoreOS/Fleet, Docker,PHP/
Drupal (Multiple Versions) and Salt all managed with a lean
team
7. Aggressive Migration - 21 websites and No downtime
a. Avoiding major tent pole events that varied across clubs
1. MODERN UI EXPERIENCE
‣ Building blocks that editors can put together
‣ All features were designed to be responsive
‣ Video highlights are pushed from MLS’s video providers
‣ Import of MLS entities (teams/players/seasons) from MLS’s pipeline
2. EDITORIAL FLEXIBILITY
3. SPIKEY TRAFFIC
‣ Traffic Spikes (avg 4x) centered around games and events
‣ League represented about half the traffic on average
‣ Great candidate for autoscaling
4.a HIGH INFRASTRUCTURE COST
‣ 2 Infrastructures (One foot in the cloud)
‣ Drupal running in Rackspace Servers
‣ Services Running in AWS
‣ Drupal running on fixed set of large servers configured to
handle the average amount of traffic plus physical
devices (firewalls, NetApp storage…)
‣ Paying for unnecessary resources needs during off peak
and off season traffic
4.b MOVING INTO AWS
‣ Rackspace => AWS - everything in one cloud infrastructure
‣ Autoscaled Instances
‣ Additional operational benefits by using:
‣ Amazon RDS, ElastiCache, S3
AUTOSCALING
‣ Reduces stress
‣ Automatic healing
‣ Performance benefits
‣ Manual adjustment up and down
‣ Automatic scaling based on metrics
‣ Cost benefits
‣ For autoscaling, you should build cattle, not pets
‣ Previous MLS autoscaling provisioned from scratch
‣ Phase2 built “fat” AMIs with all software + code
‣ Far faster deployment time
‣ An AMI can come up if everything else is down
‣ See Steven’s DevOps track session tomorrow for more info!
AUTOSCALING BACKGROUND
A USUAL MONTH
THE OVERALL RESULT
5. POOR PERFORMANCE
‣ Unsuccessful attempt at cloud multi region
architecture
‣ Caching anomalies between Drupal in 2
datacenters
‣ Slow cache clearing bottlenecks
‣ Slow server response times > 1000 ms
‣ Right-sized AWS instances to their workloads
‣ Upgraded to PHP 5.5 for a performance boost
‣ Optimal instance size + PHP 5.5 = 40% increased throughput
‣ Added stability fixes
PERFORMANCE TUNING: QUICK WINS
‣ Load Testing & Application Monitoring to find and remove bottlenecks
‣ Disabled DB read/write split for a massive speed increase
‣ Doubled the size of memcache instance
‣ Killed legacy code that cleared all of Drupal’s caches
‣ Results:
‣ Instance sizes reduced by half
‣ Massive decrease in average page render time
PERFORMANCE TUNING
6. TECH COMPLEXITY
‣ Clubs and League Content Sites
‣ Drupal (6/7)
‣ PHP (5.1/5.3)
‣ Jenkins / Salt for Deployment
& Configuration Management
‣ Web Services / Stats & Video Ingest
Pipeline / Misc Web Apps
‣ Node.js & Go
‣ CoreOS/Fleet/Docker & Teamcity for
Deployment & Configuration
Management
‣ Server Configuration Drift
7. MIGRATION
‣ Seattle, Orlando, NYCFC were in place
‣ Large project management lift
‣ Coordination with stakeholders
‣ Training schedule
‣ Working with club schedules /

game schedules
‣ Central Digital Club Services team played a huge role by
managing coordination w/ clubs and drupal editors
‣ Drupal multisite
‣ Saved server resources
‣ Made deploys smaller
‣ Worked for MLS Digital specifically because of
the integrated nature of their Drupal platform
‣ No bespoke development per-club
‣ Centralized feature development
‣ Far lower support burden (6 people)
MULTI-TENANT SETUP
PROJECT MILESTONES
‣ April 2015: Migrated first team site
(NY Red Bulls)
‣ July: Turned on autoscaling
‣ April - November: Migrated MP7
‣ October: League site launched!
‣ October: Decision Day
‣ December: Turned off Rackspace hosting
‣ January 2016: Helped hire in-house
DevOps Engineer
‣ March: Successful 2016 Season Kickoff
TOOLS
TOOLS
‣ New Relic for Application Performance

Management / Instrumentation
‣ Blaze meter for Load testing
‣ Datadog for Infrastructure Metrics
NEW RELIC
‣ Table Stakes Tooling for the Modern
Technology Team
‣ Real Time End to End Client & Server
metrics and performance measurement
‣ Introspection of everything from end
page rendering on a user’s browser to
PHP & DB bottlenecks on the server
‣ Tiers:
‣ Free - 1 day retention -
good enough for load tests
‣ Pro - 90 day retention
REALTIME FULL STACK METRICS: CLIENT TO SERVER TO REPO
CLUB ROLLUPS
REALTIME FULL STACK METRICS: CLIENT TO SERVER TO REPO
CLUB ROLLUPS
MODULE, HOOK & VIEW PERFORMANCE
GLOBAL ROLLUPS
MULTI SITE TOP LEVEL METRICS: AGGREGATE
CLUB ROLLUPS
MULTI SITE TOP LEVEL METRICS: INDIVIDUAL SITE
SUMMARY
OUTCOMES
‣ Migrated fully onto AWS
‣ Lowered hosting bill significantly by leveraging AWS features
‣ Helped reduce support load through policy changes

and new MLS hires
‣ Go see Steven’s session for more info

on immutable infra!
PROBLEMS ADDRESSED IN 2015
1. Outdated front-end UI experience originally built for
desktop viewing only
2. Club editorial teams needed more control and flexibility to
build content that met their needs but we needed it all to fit
within the same brand ecosystem
3. High variability in traffic patterns resulting wasted capacity
PROBLEMS ADDRESSED IN 2015
4. High fixed infrastructure costs
5. Managing multiple technologies (CoreOS/Fleet,Salt, PHP,
Go, node) and versions (PHP, Drupal) with a small team
6. Migrating 21 websites without any down time and
avoiding major tent pole events that varied across clubs
THE FUTURE
THE FUTURE
‣ Improving performance
‣ Improving editorial usability
‣ Further consolidation & simplification
of tech stack
‣ #docker!
‣ Preparing for omnichannel
CHECK US OUT!
labs.mlssoccer.com
mlssoccer.com
phase2technology.com
SOCCER
STADIUMS

NEAR YOU!
QUESTIONS
SoHow Was It?- Tell Us What YouThink
Evaluate this session - https://events.drupal.org/neworleans2016/schedule
Thanks!

Más contenido relacionado

Destacado

THE FINAL PRESENTATION!
THE FINAL PRESENTATION!THE FINAL PRESENTATION!
THE FINAL PRESENTATION!Brendan Rorke
 
Strategic Marketing Management | Company Review: PT PGN
Strategic Marketing Management | Company Review: PT PGN Strategic Marketing Management | Company Review: PT PGN
Strategic Marketing Management | Company Review: PT PGN Triyo Saputra
 
Ohio University Night PDF
Ohio University Night PDFOhio University Night PDF
Ohio University Night PDFKarim Fathi
 
Website Corporate Presentation ENG Version
Website Corporate Presentation ENG VersionWebsite Corporate Presentation ENG Version
Website Corporate Presentation ENG VersionJames J. Jasko
 
Presentation and Webinar Energy Collective on Mexico Energy Reform
Presentation and Webinar Energy Collective on Mexico Energy ReformPresentation and Webinar Energy Collective on Mexico Energy Reform
Presentation and Webinar Energy Collective on Mexico Energy ReformEnergy for One World
 
Optimalisasi Tata Kelola Industri Hulu Migas Nasional yang Efektif dan Akuntabel
Optimalisasi Tata Kelola Industri Hulu Migas Nasional yang Efektif dan AkuntabelOptimalisasi Tata Kelola Industri Hulu Migas Nasional yang Efektif dan Akuntabel
Optimalisasi Tata Kelola Industri Hulu Migas Nasional yang Efektif dan AkuntabelPublish What You Pay (PWYP) Indonesia
 
Paparan permen no 10 tahun 2017 l siaran pers ppt
Paparan permen no 10 tahun 2017 l siaran pers pptPaparan permen no 10 tahun 2017 l siaran pers ppt
Paparan permen no 10 tahun 2017 l siaran pers pptBudi Supomo
 
Paparan permen no 12 tahun 2017 siaran pers pptx
Paparan permen no 12 tahun 2017 siaran pers pptxPaparan permen no 12 tahun 2017 siaran pers pptx
Paparan permen no 12 tahun 2017 siaran pers pptxBudi Supomo
 
Mls Stadium Business Model
Mls Stadium Business ModelMls Stadium Business Model
Mls Stadium Business Modelguesta98943
 
Paparan Kapolri Republik Indonesia pada Musrenbag Prov Jambi Tahun 2017
Paparan Kapolri Republik Indonesia   pada Musrenbag Prov Jambi Tahun 2017Paparan Kapolri Republik Indonesia   pada Musrenbag Prov Jambi Tahun 2017
Paparan Kapolri Republik Indonesia pada Musrenbag Prov Jambi Tahun 2017Panembahan Senopati Sudarmanto
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with DataSeth Familian
 

Destacado (14)

THE FINAL PRESENTATION!
THE FINAL PRESENTATION!THE FINAL PRESENTATION!
THE FINAL PRESENTATION!
 
Strategic Marketing Management | Company Review: PT PGN
Strategic Marketing Management | Company Review: PT PGN Strategic Marketing Management | Company Review: PT PGN
Strategic Marketing Management | Company Review: PT PGN
 
Ohio University Night PDF
Ohio University Night PDFOhio University Night PDF
Ohio University Night PDF
 
Website Corporate Presentation ENG Version
Website Corporate Presentation ENG VersionWebsite Corporate Presentation ENG Version
Website Corporate Presentation ENG Version
 
Presentation and Webinar Energy Collective on Mexico Energy Reform
Presentation and Webinar Energy Collective on Mexico Energy ReformPresentation and Webinar Energy Collective on Mexico Energy Reform
Presentation and Webinar Energy Collective on Mexico Energy Reform
 
Presentasi SKK Migas dalam FGD RUU Migas (ISNU)
Presentasi SKK Migas dalam FGD RUU Migas (ISNU)Presentasi SKK Migas dalam FGD RUU Migas (ISNU)
Presentasi SKK Migas dalam FGD RUU Migas (ISNU)
 
Penerimaan Migas: Mekanisme dan Kontrol
Penerimaan Migas: Mekanisme dan Kontrol Penerimaan Migas: Mekanisme dan Kontrol
Penerimaan Migas: Mekanisme dan Kontrol
 
Optimalisasi Tata Kelola Industri Hulu Migas Nasional yang Efektif dan Akuntabel
Optimalisasi Tata Kelola Industri Hulu Migas Nasional yang Efektif dan AkuntabelOptimalisasi Tata Kelola Industri Hulu Migas Nasional yang Efektif dan Akuntabel
Optimalisasi Tata Kelola Industri Hulu Migas Nasional yang Efektif dan Akuntabel
 
Paparan permen no 10 tahun 2017 l siaran pers ppt
Paparan permen no 10 tahun 2017 l siaran pers pptPaparan permen no 10 tahun 2017 l siaran pers ppt
Paparan permen no 10 tahun 2017 l siaran pers ppt
 
Paparan permen no 12 tahun 2017 siaran pers pptx
Paparan permen no 12 tahun 2017 siaran pers pptxPaparan permen no 12 tahun 2017 siaran pers pptx
Paparan permen no 12 tahun 2017 siaran pers pptx
 
Mls Stadium Business Model
Mls Stadium Business ModelMls Stadium Business Model
Mls Stadium Business Model
 
Paparan Kapolri Republik Indonesia pada Musrenbag Prov Jambi Tahun 2017
Paparan Kapolri Republik Indonesia   pada Musrenbag Prov Jambi Tahun 2017Paparan Kapolri Republik Indonesia   pada Musrenbag Prov Jambi Tahun 2017
Paparan Kapolri Republik Indonesia pada Musrenbag Prov Jambi Tahun 2017
 
Tata Kelola Gas dan Peta Permasalahannya di Indonesia
Tata Kelola Gas dan Peta Permasalahannya di IndonesiaTata Kelola Gas dan Peta Permasalahannya di Indonesia
Tata Kelola Gas dan Peta Permasalahannya di Indonesia
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 

Más de Phase2

Phase2 Health and Wellness Brochure
Phase2 Health and Wellness BrochurePhase2 Health and Wellness Brochure
Phase2 Health and Wellness BrochurePhase2
 
A Modern Digital Experience Platform
A Modern Digital Experience PlatformA Modern Digital Experience Platform
A Modern Digital Experience PlatformPhase2
 
Beyond websites: A Modern Digital Experience Platform
Beyond websites: A Modern Digital Experience PlatformBeyond websites: A Modern Digital Experience Platform
Beyond websites: A Modern Digital Experience PlatformPhase2
 
Omnichannel For Government
Omnichannel For Government Omnichannel For Government
Omnichannel For Government Phase2
 
Bad camp2016 Release Management On Live Websites
Bad camp2016 Release Management On Live WebsitesBad camp2016 Release Management On Live Websites
Bad camp2016 Release Management On Live WebsitesPhase2
 
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8Phase2
 
The Future of Digital Storytelling - Phase2 Talk
The Future of Digital Storytelling - Phase2 TalkThe Future of Digital Storytelling - Phase2 Talk
The Future of Digital Storytelling - Phase2 TalkPhase2
 
Site building with end user in mind
Site building with end user in mindSite building with end user in mind
Site building with end user in mindPhase2
 
Fields, entities, lists, oh my!
Fields, entities, lists, oh my!Fields, entities, lists, oh my!
Fields, entities, lists, oh my!Phase2
 
Performance Profiling Tools and Tricks
Performance Profiling Tools and TricksPerformance Profiling Tools and Tricks
Performance Profiling Tools and TricksPhase2
 
NORTH CAROLINA Open Source, OpenPublic, OpenShift
NORTH CAROLINA Open Source, OpenPublic, OpenShiftNORTH CAROLINA Open Source, OpenPublic, OpenShift
NORTH CAROLINA Open Source, OpenPublic, OpenShiftPhase2
 
Drupal 8 for Enterprise: D8 in a Changing Digital Landscape
Drupal 8 for Enterprise: D8 in a Changing Digital LandscapeDrupal 8 for Enterprise: D8 in a Changing Digital Landscape
Drupal 8 for Enterprise: D8 in a Changing Digital LandscapePhase2
 
Riding the Drupal Wave: The Future for Drupal and Open Source Content Manage...
Riding the Drupal Wave:  The Future for Drupal and Open Source Content Manage...Riding the Drupal Wave:  The Future for Drupal and Open Source Content Manage...
Riding the Drupal Wave: The Future for Drupal and Open Source Content Manage...Phase2
 
Site Building with the End User in Mind
Site Building with the End User in MindSite Building with the End User in Mind
Site Building with the End User in MindPhase2
 
The Yes, No, and Maybe of "Can We Build That With Drupal?"
The Yes, No, and Maybe of "Can We Build That With Drupal?"The Yes, No, and Maybe of "Can We Build That With Drupal?"
The Yes, No, and Maybe of "Can We Build That With Drupal?"Phase2
 
User Testing For Humanitarian ID App
User Testing For Humanitarian ID AppUser Testing For Humanitarian ID App
User Testing For Humanitarian ID AppPhase2
 
Redhat.com: An Architectural Case Study
Redhat.com: An Architectural Case StudyRedhat.com: An Architectural Case Study
Redhat.com: An Architectural Case StudyPhase2
 
The New Design Workflow
The New Design WorkflowThe New Design Workflow
The New Design WorkflowPhase2
 
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)Phase2
 
Memorial Sloan Kettering: Adventures in Drupal 8
Memorial Sloan Kettering: Adventures in Drupal 8Memorial Sloan Kettering: Adventures in Drupal 8
Memorial Sloan Kettering: Adventures in Drupal 8Phase2
 

Más de Phase2 (20)

Phase2 Health and Wellness Brochure
Phase2 Health and Wellness BrochurePhase2 Health and Wellness Brochure
Phase2 Health and Wellness Brochure
 
A Modern Digital Experience Platform
A Modern Digital Experience PlatformA Modern Digital Experience Platform
A Modern Digital Experience Platform
 
Beyond websites: A Modern Digital Experience Platform
Beyond websites: A Modern Digital Experience PlatformBeyond websites: A Modern Digital Experience Platform
Beyond websites: A Modern Digital Experience Platform
 
Omnichannel For Government
Omnichannel For Government Omnichannel For Government
Omnichannel For Government
 
Bad camp2016 Release Management On Live Websites
Bad camp2016 Release Management On Live WebsitesBad camp2016 Release Management On Live Websites
Bad camp2016 Release Management On Live Websites
 
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
 
The Future of Digital Storytelling - Phase2 Talk
The Future of Digital Storytelling - Phase2 TalkThe Future of Digital Storytelling - Phase2 Talk
The Future of Digital Storytelling - Phase2 Talk
 
Site building with end user in mind
Site building with end user in mindSite building with end user in mind
Site building with end user in mind
 
Fields, entities, lists, oh my!
Fields, entities, lists, oh my!Fields, entities, lists, oh my!
Fields, entities, lists, oh my!
 
Performance Profiling Tools and Tricks
Performance Profiling Tools and TricksPerformance Profiling Tools and Tricks
Performance Profiling Tools and Tricks
 
NORTH CAROLINA Open Source, OpenPublic, OpenShift
NORTH CAROLINA Open Source, OpenPublic, OpenShiftNORTH CAROLINA Open Source, OpenPublic, OpenShift
NORTH CAROLINA Open Source, OpenPublic, OpenShift
 
Drupal 8 for Enterprise: D8 in a Changing Digital Landscape
Drupal 8 for Enterprise: D8 in a Changing Digital LandscapeDrupal 8 for Enterprise: D8 in a Changing Digital Landscape
Drupal 8 for Enterprise: D8 in a Changing Digital Landscape
 
Riding the Drupal Wave: The Future for Drupal and Open Source Content Manage...
Riding the Drupal Wave:  The Future for Drupal and Open Source Content Manage...Riding the Drupal Wave:  The Future for Drupal and Open Source Content Manage...
Riding the Drupal Wave: The Future for Drupal and Open Source Content Manage...
 
Site Building with the End User in Mind
Site Building with the End User in MindSite Building with the End User in Mind
Site Building with the End User in Mind
 
The Yes, No, and Maybe of "Can We Build That With Drupal?"
The Yes, No, and Maybe of "Can We Build That With Drupal?"The Yes, No, and Maybe of "Can We Build That With Drupal?"
The Yes, No, and Maybe of "Can We Build That With Drupal?"
 
User Testing For Humanitarian ID App
User Testing For Humanitarian ID AppUser Testing For Humanitarian ID App
User Testing For Humanitarian ID App
 
Redhat.com: An Architectural Case Study
Redhat.com: An Architectural Case StudyRedhat.com: An Architectural Case Study
Redhat.com: An Architectural Case Study
 
The New Design Workflow
The New Design WorkflowThe New Design Workflow
The New Design Workflow
 
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
 
Memorial Sloan Kettering: Adventures in Drupal 8
Memorial Sloan Kettering: Adventures in Drupal 8Memorial Sloan Kettering: Adventures in Drupal 8
Memorial Sloan Kettering: Adventures in Drupal 8
 

Último

The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 

Último (20)

The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 

Score! Superior Digital Experiences with MLS

  • 1. SCORE!
 SUPERIOR DIGITAL EXPERIENCES WITH MLS MAY 10, 2016 Brian Aznar
 (Director of Engineering, MLS Digital) Steven Merrill
 (Director of DevOps, Phase2)
  • 3. MAJOR LEAGUE SOCCER STATE OF THE LEAGUE ‣ 20 current teams with plans to expand to 24 by 2020 ‣ Adding state of the art soccer-specific stadiums around the US - average in stadium audience exceeds NHL and NBA ‣ Expanding our reach in the US and around the world with great new TV distribution deals ‣ Young and multicultural fan base that is hungry for digital
  • 4. MLS FANBASE ‣ Avids ‣ Regularly watches and attends MLS matches ‣ Consume soccer related content ‣ Regularly visits MLSsoccer.com and other soccer specific sites ‣ Casuals ‣ Occasionally watches and attends MLS Matches
  • 5. MLS DIGITAL PRODUCT ECOSYSTEM ‣ Web: 20 club websites + 1 league web site using Drupal 7 ‣ Mobile Apps: iOS, Android ‣ Connected TV: Roku, Chomecast, Apple TV ‣ Services: Content API, Video & Stats ingest pipelines, Content delivery, etc … ‣ Infrastructure: AWS
  • 7. GOAL ‣ Modernize and stabilize MLS’ web platform (backend and frontend) and successfully migrate 21 sites by the end of 2015 to AWS and D7.
  • 9. PHASE2 ‣ Founded in 2001 ‣ Offices in DC, NYC, San Francisco, and Portland ‣ Committed to open source technology ‣ Focus on how content is delivered, how
 teams collaborate, and how audiences
 experience information
  • 10. PHASE2 & MLS ‣ Long-term partnership over 3 years ‣ Helped with D7 platform build ‣ March 2015 - we kicked off their migration to MP7 Drupal platform and into AWS
  • 11. PHASE2 & MLS TECHNOLOGY TEAM ‣ Drupal Developers (Phase 2) ‣ Fullstack Javascript Developers: React, Backbone, Node.js & Go (MLS) ‣ DevOps (Phase 2) ‣ Process = Scrumban ‣ Maximize development velocity, agility and responsiveness to business needs. ‣ Centralized Development Team ‣ Moving from segmented teams towards a single cross disciplinary team.
  • 13. CHALLENGES WE NEEDED TO ADDRESS 1. Outdated UX originally built for desktop viewing only 2. Inflexible Authoring - Needed an efficient and scalable way to give clubs more control to build out their own content 3. Wasted Server Capacity - High variability in traffic patterns means planning for the worst
  • 14. CHALLENGES WE NEEDED TO ADDRESS 4. High Fixed infrastructure costs 5. Poor Performance 6. Technology Soup - Go, node, CoreOS/Fleet, Docker,PHP/ Drupal (Multiple Versions) and Salt all managed with a lean team 7. Aggressive Migration - 21 websites and No downtime a. Avoiding major tent pole events that varied across clubs
  • 15. 1. MODERN UI EXPERIENCE
  • 16. ‣ Building blocks that editors can put together ‣ All features were designed to be responsive ‣ Video highlights are pushed from MLS’s video providers ‣ Import of MLS entities (teams/players/seasons) from MLS’s pipeline 2. EDITORIAL FLEXIBILITY
  • 17. 3. SPIKEY TRAFFIC ‣ Traffic Spikes (avg 4x) centered around games and events ‣ League represented about half the traffic on average ‣ Great candidate for autoscaling
  • 18. 4.a HIGH INFRASTRUCTURE COST ‣ 2 Infrastructures (One foot in the cloud) ‣ Drupal running in Rackspace Servers ‣ Services Running in AWS ‣ Drupal running on fixed set of large servers configured to handle the average amount of traffic plus physical devices (firewalls, NetApp storage…) ‣ Paying for unnecessary resources needs during off peak and off season traffic
  • 19. 4.b MOVING INTO AWS ‣ Rackspace => AWS - everything in one cloud infrastructure ‣ Autoscaled Instances ‣ Additional operational benefits by using: ‣ Amazon RDS, ElastiCache, S3
  • 20. AUTOSCALING ‣ Reduces stress ‣ Automatic healing ‣ Performance benefits ‣ Manual adjustment up and down ‣ Automatic scaling based on metrics ‣ Cost benefits
  • 21. ‣ For autoscaling, you should build cattle, not pets ‣ Previous MLS autoscaling provisioned from scratch ‣ Phase2 built “fat” AMIs with all software + code ‣ Far faster deployment time ‣ An AMI can come up if everything else is down ‣ See Steven’s DevOps track session tomorrow for more info! AUTOSCALING BACKGROUND
  • 24. 5. POOR PERFORMANCE ‣ Unsuccessful attempt at cloud multi region architecture ‣ Caching anomalies between Drupal in 2 datacenters ‣ Slow cache clearing bottlenecks ‣ Slow server response times > 1000 ms
  • 25. ‣ Right-sized AWS instances to their workloads ‣ Upgraded to PHP 5.5 for a performance boost ‣ Optimal instance size + PHP 5.5 = 40% increased throughput ‣ Added stability fixes PERFORMANCE TUNING: QUICK WINS
  • 26. ‣ Load Testing & Application Monitoring to find and remove bottlenecks ‣ Disabled DB read/write split for a massive speed increase ‣ Doubled the size of memcache instance ‣ Killed legacy code that cleared all of Drupal’s caches ‣ Results: ‣ Instance sizes reduced by half ‣ Massive decrease in average page render time PERFORMANCE TUNING
  • 27.
  • 28. 6. TECH COMPLEXITY ‣ Clubs and League Content Sites ‣ Drupal (6/7) ‣ PHP (5.1/5.3) ‣ Jenkins / Salt for Deployment & Configuration Management ‣ Web Services / Stats & Video Ingest Pipeline / Misc Web Apps ‣ Node.js & Go ‣ CoreOS/Fleet/Docker & Teamcity for Deployment & Configuration Management ‣ Server Configuration Drift
  • 29. 7. MIGRATION ‣ Seattle, Orlando, NYCFC were in place ‣ Large project management lift ‣ Coordination with stakeholders ‣ Training schedule ‣ Working with club schedules /
 game schedules ‣ Central Digital Club Services team played a huge role by managing coordination w/ clubs and drupal editors
  • 30. ‣ Drupal multisite ‣ Saved server resources ‣ Made deploys smaller ‣ Worked for MLS Digital specifically because of the integrated nature of their Drupal platform ‣ No bespoke development per-club ‣ Centralized feature development ‣ Far lower support burden (6 people) MULTI-TENANT SETUP
  • 31. PROJECT MILESTONES ‣ April 2015: Migrated first team site (NY Red Bulls) ‣ July: Turned on autoscaling ‣ April - November: Migrated MP7 ‣ October: League site launched! ‣ October: Decision Day ‣ December: Turned off Rackspace hosting ‣ January 2016: Helped hire in-house DevOps Engineer ‣ March: Successful 2016 Season Kickoff
  • 32. TOOLS
  • 33. TOOLS ‣ New Relic for Application Performance
 Management / Instrumentation ‣ Blaze meter for Load testing ‣ Datadog for Infrastructure Metrics
  • 34. NEW RELIC ‣ Table Stakes Tooling for the Modern Technology Team ‣ Real Time End to End Client & Server metrics and performance measurement ‣ Introspection of everything from end page rendering on a user’s browser to PHP & DB bottlenecks on the server ‣ Tiers: ‣ Free - 1 day retention - good enough for load tests ‣ Pro - 90 day retention
  • 35. REALTIME FULL STACK METRICS: CLIENT TO SERVER TO REPO
  • 36. CLUB ROLLUPS REALTIME FULL STACK METRICS: CLIENT TO SERVER TO REPO
  • 37. CLUB ROLLUPS MODULE, HOOK & VIEW PERFORMANCE
  • 38. GLOBAL ROLLUPS MULTI SITE TOP LEVEL METRICS: AGGREGATE
  • 39. CLUB ROLLUPS MULTI SITE TOP LEVEL METRICS: INDIVIDUAL SITE
  • 41. OUTCOMES ‣ Migrated fully onto AWS ‣ Lowered hosting bill significantly by leveraging AWS features ‣ Helped reduce support load through policy changes
 and new MLS hires ‣ Go see Steven’s session for more info
 on immutable infra!
  • 42. PROBLEMS ADDRESSED IN 2015 1. Outdated front-end UI experience originally built for desktop viewing only 2. Club editorial teams needed more control and flexibility to build content that met their needs but we needed it all to fit within the same brand ecosystem 3. High variability in traffic patterns resulting wasted capacity
  • 43. PROBLEMS ADDRESSED IN 2015 4. High fixed infrastructure costs 5. Managing multiple technologies (CoreOS/Fleet,Salt, PHP, Go, node) and versions (PHP, Drupal) with a small team 6. Migrating 21 websites without any down time and avoiding major tent pole events that varied across clubs
  • 45. THE FUTURE ‣ Improving performance ‣ Improving editorial usability ‣ Further consolidation & simplification of tech stack ‣ #docker! ‣ Preparing for omnichannel
  • 48. SoHow Was It?- Tell Us What YouThink Evaluate this session - https://events.drupal.org/neworleans2016/schedule Thanks!