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
What's inside ResearchGate
Search
Bastian Hofmann
October 08, 2012
Technology
0
450
What's inside ResearchGate
Bastian Hofmann
October 08, 2012
Tweet
Share
More Decks by Bastian Hofmann
See All by Bastian Hofmann
Monitoring in Kubernetes with Prometheus and Grafana
bastianhofmann
0
260
Creating a fast Kubernetes Development Workflow
bastianhofmann
0
85
Highly available cross-region deployments with Kubernetes
bastianhofmann
1
120
From source to Kubernetes in 30 minutes
bastianhofmann
0
120
Introduction to Kubernetes
bastianhofmann
1
140
CI/CD with Kubernetes
bastianhofmann
0
150
Creating a fast Kubernetes Development Workflow
bastianhofmann
1
240
Deploying your first Micro-Service application to Kubernetes
bastianhofmann
2
160
Creating a fast Kubernetes Development Workflow
bastianhofmann
0
160
Other Decks in Technology
See All in Technology
On Your Data を超えていく!
hirotomotaguchi
2
750
地理空間データ可視化・解析・活用ソリューション Pacific Spatial Solutions (PSS)
pacificspatialsolutions
0
330
VSCodeの拡張機能を作っている話
ebarakazuhiro
1
800
Cloud Service Mesh に触れ合う
phaya72
1
200
Babylon.js JAPAN活動紹介 (2024/4)
limes2018
1
120
【基本】データベース設計
oracle4engineer
PRO
2
180
Improve Your Development Workflow with Gemini Code Assist
meteatamel
0
130
止まらないLinuxシステムを構築する_高信頼性クラスタ入門
koedoyoshida
1
290
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
450
リテール金融(キャッシュレス・ネット銀行・ネット証券)の競争環境と経済圏
8maki
0
1.6k
アクセス制御にまつわる改善 / Improving access control
itkq
0
590
生産性向上チームの紹介
cybozuinsideout
PRO
1
920
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
79
43k
A Tale of Four Properties
chriscoyier
152
22k
Designing on Purpose - Digital PM Summit 2013
jponch
111
6.5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
33
6k
Mobile First: as difficult as doing things right
swwweet
217
8.6k
From Idea to $5000 a Month in 5 Months
shpigford
378
45k
Building an army of robots
kneath
300
41k
Stop Working from a Prison Cell
hatefulcrawdad
267
19k
Web Components: a chance to create the future
zenorocha
306
41k
Building Effective Engineering Teams - LeadDev
addyosmani
32
1.9k
Transcript
What's behind it? @BastianHofmann
None
ResearchGate gives science back to the people who make it
happen. We help researchers build reputation and accelerate scientific progress. On their terms. ‟
None
None
None
So let's talk about architecture
None
Normally these talks are about...
webserver loadbalancer pgsql memcached mongodb services Active MQ
Big Data
Terrabytes of data
Thousands of events per second
Not this one
Instead...
Logging
Measuring
Testing
Logging
Exceptions & Errors
Access Logs
Debug logs
Logging from cronjobs and event workers
$ tail -f error.log $ grep
None
Aggregate the logs in a central place
Make them easily full- text searchable
Correlate them
Structured Messages
{ "version": "1.0", "host": "www1", "short_message": "Short message", "full_message": "Backtrace
here\n \nmore stuff", "timestamp": 1291899928.412, "level": 1, "facility": "payment-backend", "file": "/var/www/somefile.rb", "line": 356, "_user_id": 42, "_something_else": "foo" }
Find out if something goes wrong and why it went
wrong quickly!
graylog2 http://graylog2.org/
None
18,000 messages/min
Measuring
Technical metrics
Business metrics
KPI
How do your users interact with the site?
None
https://metrics.librato.com/
Metric driven development
Continuous integration
Fast deployment
Continuous deployment
Metrics as a way of testing
Of course testing your code is still necessary
Testing
e.g. A/B Testing
Disadvantages
Bad conversion during test
Only works for temporary tests
Inflexible: changing of tests not supported
There are better methods with better results
Bandit Algorithm http://monospaced.posterous.com/stop-ab-testing-and- make-out-like-a-bandit
BUY IT BUY IT random decision $userId = 24 save
that option A was clicked save that option A is shown conversion = option A clicked / option A shown 1
BUY IT BUY IT 2 90% users best option rest
other options
Carefully define your goals!
None
Integrate it into your architecture
None
Self contained
Can be addressed and rendered separately
JS is part of the component
PHP Controller Mustache Template JavaScript view class Widget Providing data
Handling browser events Displaying data
None
Last but not least
None
None
h"p://twi"er.com/Bas2anHofmann h"p://profiles.google.com/bashofmann h"p://lanyrd.com/people/Bas2anHofmann h"p://speakerdeck.com/u/bas2anhofmann h"ps://github.com/bashofmann
[email protected]