SlideShare a Scribd company logo
1 1 . J U N E 2 0 1 5
C O D E G A R D E N
1
WHO AM I
EMIL BAY
2
22 year old ”Full Stack Developer” at
Umwelt.
Primarily:
• Node.js
• DevOps
• Frontend “engineering”
Education:
• Self-taught
• DTU Dropout (Mathematics)
Previous experience:
• Freelancing since 13
• DTU HPC
ROSKILDE FESTIVAL
Established
1971
Donations 1971-2013
€ 26.4 million 

3
2015 marks the
45th festival
Largest music festival in Northern
Europe.
Volunteers
21.000+
Performing bands
180
Artists
3.000
Festivalgoers
130.000
Media people
5.000
MUSIKKEN
4
Vi vil ikke være en musikfestival for
alle.
Vi vil kun være for dem, der vil
udfordres, der vil flyttes, og som vil
inspireres.
Dem som vil noget nyt.
Kommer man her for at se noget,
man kender i forvejen, så er man
gået forkert.
INTRODUCTION
OLD SYSTEM
• Typo3 based system
• Slow, crashing on a regular basis
• Hard to maintain, but publishing-wise and technically
• Didn’t scale well under RF’s high, burst load
REQUIREMENTS
• Highly elastic scaling
• Easy content editing
• Stability
• Integrated media experience
• Media management
• SEO Friendly
TECHNICAL INSIGHTS
• High read load (100 - 1000’s of reads a minute)
• Low write load (few times a day/week)
• Stateless
• Lots of relational, structured data
5
PROS
• Single technology
• Proven
• Experience
• SEO Friendly
CONS
• Hard to auto-scale
• “Deep fried” ≈ “Slow”
6
NOTES
Could probably have worked with heavy caching in front,
but we didn’t have experience deploying this at scale
TIMELINE OF ARCITECHTURAL CONSIDERATIONS @ UMWELT
Pure umbraco Umbraco + node Umbraco + node + mongo
PROS
• Easy to auto-scale
• Proven
• Experience
CONS
• “Deep fried” ≈ “Slow”
• Duplication of effort -
Implement Umbraco data
models in Javascript
7
NOTES
Known as a “Two-tier CMS” where publishing and delivery
are separate given their differing performance
requirements
TIMELINE OF ARCITECHTURAL CONSIDERATIONS @ UMWELT
Pure umbraco Umbraco + node Umbraco + node + mongo
PROS
• Easy to auto-scale
• Extremely fast
• “Baked” content
CONS
• Still no SEO
8
TIMELINE OF ARCITECHTURAL CONSIDERATIONS @ UMWELT
Pure umbraco Umbraco + node Umbraco + node + mongo
PROS
• Easy to auto-scale
• Extremely fast
• No 3rd party codebase

to maintain (“Native”)
CONS
• Still no scaling of uncacheable

computations
9
TIMELINE OF ARCITECHTURAL CONSIDERATIONS @ UMWELT
Pure umbraco Umbraco + node Umbraco + Heavy Caching
FINAL TECHNOLOGY STACK
Technologies Integrations Providers
2-way sync with 3rd party app Fully integrated music player
(fallback)
Livestreaming @ frontpage
Sharing lineups on SoMeRecommendation engine for artists
Fully integrated music player
Easily maintain all historical lineups,
artists and content
Fully scalable API to support website
and 3rd party apps
Richmedia single-page app
SOLUTION
ROSKILDE FESTIVAL
News, schedules, bandlists, fully
integrated musikplayer.
Close integration with 3rd party app
for use during the festival.
Single-page app with fully
customisable content from CMS.
ARCHITECTURE
12
Umbraco v7.0
Maintain sitestructure & content.
Artists, stages, lineup for current
and all previous festivals.
MongoDB
All CMS content persisted. Artists &
lineups stored seperately.
HTML snapshots stored seperately.
NodeJS
API
Service bus
AngularJS
Rendering
SPOTIFY
SOUNDCLOUD
FACEBOOK
13
DATAFORMAT
Umbraco v7.0 MongoDB NodeJS AngularJS
ARCHITECTURE
14
DEEPDIVE – JSON STRUCTURE FOR ARTISTS
15
H O L I D A Y
P H O T O S
16
PERFORMANCE PROBLEMS
17
FIXED
18
T H A N K S
19

More Related Content

Similar to MARRYING UMBRACO AND NODE.JS

Moving to software-based production workflows and containerisation of media a...
Moving to software-based production workflows and containerisation of media a...Moving to software-based production workflows and containerisation of media a...
Moving to software-based production workflows and containerisation of media a...
Kieran Kunhya
 
Intro to Open Source Hardware (OSHW)
Intro to Open Source Hardware (OSHW)Intro to Open Source Hardware (OSHW)
Intro to Open Source Hardware (OSHW)
Drew Fustini
 
Globus Compute with Integrated Research Infrastructure (IRI) workflows
Globus Compute with Integrated Research Infrastructure (IRI) workflowsGlobus Compute with Integrated Research Infrastructure (IRI) workflows
Globus Compute with Integrated Research Infrastructure (IRI) workflows
Globus
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Distributed Communication and Control for a Network of Melting Probes in Extr...
Distributed Communication and Control for a Network of Melting Probes in Extr...Distributed Communication and Control for a Network of Melting Probes in Extr...
Distributed Communication and Control for a Network of Melting Probes in Extr...
Real-Time Innovations (RTI)
 
PLAN Tech Day 2016
PLAN Tech Day 2016PLAN Tech Day 2016
PLAN Tech Day 2016
Brian Pichman
 
small electronics for your makerspace (clc trendspotting - february 2014)
small electronics for your makerspace (clc trendspotting - february 2014)small electronics for your makerspace (clc trendspotting - february 2014)
small electronics for your makerspace (clc trendspotting - february 2014)
ariannaschlegel
 
Open Source Visualization of Scientific Data
Open Source Visualization of Scientific DataOpen Source Visualization of Scientific Data
Open Source Visualization of Scientific Data
Marcus Hanwell
 
WebRTC, RED and Janus @ ClueCon21
WebRTC, RED and Janus @ ClueCon21WebRTC, RED and Janus @ ClueCon21
WebRTC, RED and Janus @ ClueCon21
Lorenzo Miniero
 
Globe a vision for the 21st century
Globe a vision for the 21st centuryGlobe a vision for the 21st century
Globe a vision for the 21st century
Erik Duval
 
Scientific Software: Sustainability, Skills & Sociology
Scientific Software: Sustainability, Skills & SociologyScientific Software: Sustainability, Skills & Sociology
Scientific Software: Sustainability, Skills & Sociology
Neil Chue Hong
 
Integrate Kubernetes into CORD(Central Office Re-architected as a Datacenter)
Integrate Kubernetes into CORD(Central Office Re-architected as a Datacenter)Integrate Kubernetes into CORD(Central Office Re-architected as a Datacenter)
Integrate Kubernetes into CORD(Central Office Re-architected as a Datacenter)
inwin stack
 
Make your own device
Make your own deviceMake your own device
Make your own device
Ki-hyeok Park
 
apidays LIVE Hong Kong - Open Banking, Yin and Yang in Hong Kong by Simon Red...
apidays LIVE Hong Kong - Open Banking, Yin and Yang in Hong Kong by Simon Red...apidays LIVE Hong Kong - Open Banking, Yin and Yang in Hong Kong by Simon Red...
apidays LIVE Hong Kong - Open Banking, Yin and Yang in Hong Kong by Simon Red...
apidays
 
FFMUC presents #ffmeet - #virtualUKNOF
FFMUC presents #ffmeet - #virtualUKNOFFFMUC presents #ffmeet - #virtualUKNOF
FFMUC presents #ffmeet - #virtualUKNOF
Annika Wickert
 
LXC to Docker Via Continuous Delivery
LXC to Docker Via Continuous DeliveryLXC to Docker Via Continuous Delivery
LXC to Docker Via Continuous Delivery
Docker, Inc.
 
Jim Curry Welcome
Jim Curry WelcomeJim Curry Welcome
Jim Curry Welcome
Open Stack
 
Welcome Jim Curry
Welcome Jim CurryWelcome Jim Curry
Welcome Jim Curry
Open Stack
 
DemoCamp Budapest 2016 - Introdcution
DemoCamp Budapest 2016 - IntrodcutionDemoCamp Budapest 2016 - Introdcution
DemoCamp Budapest 2016 - Introdcution
Ákos Horváth
 
How static analysis supports quality over 50 million lines of C++ code
How static analysis supports quality over 50 million lines of C++ codeHow static analysis supports quality over 50 million lines of C++ code
How static analysis supports quality over 50 million lines of C++ code
cppfrug
 

Similar to MARRYING UMBRACO AND NODE.JS (20)

Moving to software-based production workflows and containerisation of media a...
Moving to software-based production workflows and containerisation of media a...Moving to software-based production workflows and containerisation of media a...
Moving to software-based production workflows and containerisation of media a...
 
Intro to Open Source Hardware (OSHW)
Intro to Open Source Hardware (OSHW)Intro to Open Source Hardware (OSHW)
Intro to Open Source Hardware (OSHW)
 
Globus Compute with Integrated Research Infrastructure (IRI) workflows
Globus Compute with Integrated Research Infrastructure (IRI) workflowsGlobus Compute with Integrated Research Infrastructure (IRI) workflows
Globus Compute with Integrated Research Infrastructure (IRI) workflows
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Distributed Communication and Control for a Network of Melting Probes in Extr...
Distributed Communication and Control for a Network of Melting Probes in Extr...Distributed Communication and Control for a Network of Melting Probes in Extr...
Distributed Communication and Control for a Network of Melting Probes in Extr...
 
PLAN Tech Day 2016
PLAN Tech Day 2016PLAN Tech Day 2016
PLAN Tech Day 2016
 
small electronics for your makerspace (clc trendspotting - february 2014)
small electronics for your makerspace (clc trendspotting - february 2014)small electronics for your makerspace (clc trendspotting - february 2014)
small electronics for your makerspace (clc trendspotting - february 2014)
 
Open Source Visualization of Scientific Data
Open Source Visualization of Scientific DataOpen Source Visualization of Scientific Data
Open Source Visualization of Scientific Data
 
WebRTC, RED and Janus @ ClueCon21
WebRTC, RED and Janus @ ClueCon21WebRTC, RED and Janus @ ClueCon21
WebRTC, RED and Janus @ ClueCon21
 
Globe a vision for the 21st century
Globe a vision for the 21st centuryGlobe a vision for the 21st century
Globe a vision for the 21st century
 
Scientific Software: Sustainability, Skills & Sociology
Scientific Software: Sustainability, Skills & SociologyScientific Software: Sustainability, Skills & Sociology
Scientific Software: Sustainability, Skills & Sociology
 
Integrate Kubernetes into CORD(Central Office Re-architected as a Datacenter)
Integrate Kubernetes into CORD(Central Office Re-architected as a Datacenter)Integrate Kubernetes into CORD(Central Office Re-architected as a Datacenter)
Integrate Kubernetes into CORD(Central Office Re-architected as a Datacenter)
 
Make your own device
Make your own deviceMake your own device
Make your own device
 
apidays LIVE Hong Kong - Open Banking, Yin and Yang in Hong Kong by Simon Red...
apidays LIVE Hong Kong - Open Banking, Yin and Yang in Hong Kong by Simon Red...apidays LIVE Hong Kong - Open Banking, Yin and Yang in Hong Kong by Simon Red...
apidays LIVE Hong Kong - Open Banking, Yin and Yang in Hong Kong by Simon Red...
 
FFMUC presents #ffmeet - #virtualUKNOF
FFMUC presents #ffmeet - #virtualUKNOFFFMUC presents #ffmeet - #virtualUKNOF
FFMUC presents #ffmeet - #virtualUKNOF
 
LXC to Docker Via Continuous Delivery
LXC to Docker Via Continuous DeliveryLXC to Docker Via Continuous Delivery
LXC to Docker Via Continuous Delivery
 
Jim Curry Welcome
Jim Curry WelcomeJim Curry Welcome
Jim Curry Welcome
 
Welcome Jim Curry
Welcome Jim CurryWelcome Jim Curry
Welcome Jim Curry
 
DemoCamp Budapest 2016 - Introdcution
DemoCamp Budapest 2016 - IntrodcutionDemoCamp Budapest 2016 - Introdcution
DemoCamp Budapest 2016 - Introdcution
 
How static analysis supports quality over 50 million lines of C++ code
How static analysis supports quality over 50 million lines of C++ codeHow static analysis supports quality over 50 million lines of C++ code
How static analysis supports quality over 50 million lines of C++ code
 

Recently uploaded

Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 

Recently uploaded (20)

Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 

MARRYING UMBRACO AND NODE.JS

  • 1. 1 1 . J U N E 2 0 1 5 C O D E G A R D E N 1
  • 2. WHO AM I EMIL BAY 2 22 year old ”Full Stack Developer” at Umwelt. Primarily: • Node.js • DevOps • Frontend “engineering” Education: • Self-taught • DTU Dropout (Mathematics) Previous experience: • Freelancing since 13 • DTU HPC
  • 3. ROSKILDE FESTIVAL Established 1971 Donations 1971-2013 € 26.4 million 
 3 2015 marks the 45th festival Largest music festival in Northern Europe. Volunteers 21.000+ Performing bands 180 Artists 3.000 Festivalgoers 130.000 Media people 5.000
  • 4. MUSIKKEN 4 Vi vil ikke være en musikfestival for alle. Vi vil kun være for dem, der vil udfordres, der vil flyttes, og som vil inspireres. Dem som vil noget nyt. Kommer man her for at se noget, man kender i forvejen, så er man gået forkert.
  • 5. INTRODUCTION OLD SYSTEM • Typo3 based system • Slow, crashing on a regular basis • Hard to maintain, but publishing-wise and technically • Didn’t scale well under RF’s high, burst load REQUIREMENTS • Highly elastic scaling • Easy content editing • Stability • Integrated media experience • Media management • SEO Friendly TECHNICAL INSIGHTS • High read load (100 - 1000’s of reads a minute) • Low write load (few times a day/week) • Stateless • Lots of relational, structured data 5
  • 6. PROS • Single technology • Proven • Experience • SEO Friendly CONS • Hard to auto-scale • “Deep fried” ≈ “Slow” 6 NOTES Could probably have worked with heavy caching in front, but we didn’t have experience deploying this at scale TIMELINE OF ARCITECHTURAL CONSIDERATIONS @ UMWELT Pure umbraco Umbraco + node Umbraco + node + mongo
  • 7. PROS • Easy to auto-scale • Proven • Experience CONS • “Deep fried” ≈ “Slow” • Duplication of effort - Implement Umbraco data models in Javascript 7 NOTES Known as a “Two-tier CMS” where publishing and delivery are separate given their differing performance requirements TIMELINE OF ARCITECHTURAL CONSIDERATIONS @ UMWELT Pure umbraco Umbraco + node Umbraco + node + mongo
  • 8. PROS • Easy to auto-scale • Extremely fast • “Baked” content CONS • Still no SEO 8 TIMELINE OF ARCITECHTURAL CONSIDERATIONS @ UMWELT Pure umbraco Umbraco + node Umbraco + node + mongo
  • 9. PROS • Easy to auto-scale • Extremely fast • No 3rd party codebase
 to maintain (“Native”) CONS • Still no scaling of uncacheable
 computations 9 TIMELINE OF ARCITECHTURAL CONSIDERATIONS @ UMWELT Pure umbraco Umbraco + node Umbraco + Heavy Caching
  • 10. FINAL TECHNOLOGY STACK Technologies Integrations Providers 2-way sync with 3rd party app Fully integrated music player (fallback) Livestreaming @ frontpage Sharing lineups on SoMeRecommendation engine for artists Fully integrated music player Easily maintain all historical lineups, artists and content Fully scalable API to support website and 3rd party apps Richmedia single-page app
  • 11. SOLUTION ROSKILDE FESTIVAL News, schedules, bandlists, fully integrated musikplayer. Close integration with 3rd party app for use during the festival. Single-page app with fully customisable content from CMS.
  • 12. ARCHITECTURE 12 Umbraco v7.0 Maintain sitestructure & content. Artists, stages, lineup for current and all previous festivals. MongoDB All CMS content persisted. Artists & lineups stored seperately. HTML snapshots stored seperately. NodeJS API Service bus AngularJS Rendering SPOTIFY SOUNDCLOUD FACEBOOK
  • 15. DEEPDIVE – JSON STRUCTURE FOR ARTISTS 15
  • 16. H O L I D A Y P H O T O S 16
  • 19. T H A N K S 19