Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
NU.nl performance and our journey in the Django realm
Search
Besma
February 24, 2016
Programming
0
77
NU.nl performance and our journey in the Django realm
These are the slides of my talk at the Django meetup hosted by Byte
Besma
February 24, 2016
Tweet
Share
Other Decks in Programming
See All in Programming
Hanami and htmx
bkuhlmann
0
230
業務ツールとして使うPostman
msys75
0
120
冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces
upamune
0
1.1k
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
1k
Elm Form Validation
bkuhlmann
0
520
PHPはいつから死んでいるかの調査
chiroruxx
2
430
Try creating your own orderedmap
kazamori
1
270
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
4
550
Apache Hive 4 on Treasure Data
ryukobayashi
1
450
Implementing Design Systems in Swift
seyfoyun
2
500
Native Federation: The Future of Micro Frontends in Angular
manfredsteyer
PRO
0
130
2024 コーディング研修
ckazu
0
440
Featured
See All Featured
Atom: Resistance is Futile
akmur
260
25k
Creatively Recalculating Your Daily Design Routine
revolveconf
211
11k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
The Mythical Team-Month
searls
217
42k
Mobile First: as difficult as doing things right
swwweet
217
8.6k
Building Adaptive Systems
keathley
32
1.9k
The Pragmatic Product Professional
lauravandoore
26
5.8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
12
1k
Optimizing for Happiness
mojombo
370
69k
[RailsConf 2023] Rails as a piece of cake
palkan
28
4k
What the flash - Photography Introduction
edds
64
11k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
Transcript
[email protected]
NU.nl performance and our journey in the Django realm
Besma Mcharek-Boussif
[email protected]
Whoami @B35m4
[email protected]
Who are we? • The biggest Dutch news platform
– +1B pageviews
[email protected]
Our platforms • Web – Desktop and mobile •
Mobile – tablets, phones and smart watches
[email protected]
Development teams • Mobile team – Android – iOs
• Web/ApI and CMS team
[email protected]
Development process • DeVops mind set team • Tools
– Development: Jira, Bamboo, Hipchat – Monitoring: GA, New Relic
[email protected]
How do we work • Work within layers, depending
on the requirements
[email protected]
The nu.nl ecosystem
[email protected]
Web/Api team focus
[email protected]
Our output as Web/API team • Serving static pages
• Serve Push Notification for big news • Serve the raw data
[email protected]
Microservices • Projects that serve a single purpose •
Together projects create a microsystem that fits within the Sanoma ecosystem
[email protected]
Evolution the nu.nl stack • Time line – Past
– Current – Future...
[email protected]
Past ecosystem • The entire stack used to be
written in php • Development and maintenance by external party
[email protected]
Current ecosystem • Most of the stack in Django
• Development and maintenance by our team
[email protected]
Near future ecosystem • All of the stack in
Django • Development and maintenance by our team
[email protected]
Block structure • Business and editors decide on the
layout • Editors supply the blocks with content • Layout is served to FE and mobile
[email protected]
Challenges in the current setup Scale speed API errors
[email protected]
How do we deal with these challenges in general?
• Django security solutions • DRF as dataprovider • Caching • Rigorous testing
[email protected]
Performance sprint
[email protected]
How? Webservers • Software updated and servers rebooted •
Updated nu.nl stack to python 2.7 • Updated nu.nl stack from Apache to nginx • Disabled django.views.static.serve • Used Serpy as serializer
API server performance Before
API server performance After
[email protected]
Future challenges Personalization
[email protected]
Sanoma account
[email protected]
Personalized nu.nl
[email protected]
Other performance challenges • Pages are no longer static
• API: serving blocks instead of layouts to mobile applications
[email protected]
Challenges ahead
[email protected]
Questions