marrying umbraco and node.js
Post on 12-Aug-2015
197 Views
Preview:
TRANSCRIPT
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
180Artists
3.000
Festivalgoers
130.000Media 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 codebaseto maintain (“Native”)
CONS
• Still no scaling of uncacheablecomputations
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
S P OT I F Y
S O U N D C LO U D
FAC E B O O K
top related