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
460
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
320
Creating a fast Kubernetes Development Workflow
bastianhofmann
0
100
Highly available cross-region deployments with Kubernetes
bastianhofmann
1
140
From source to Kubernetes in 30 minutes
bastianhofmann
0
140
Introduction to Kubernetes
bastianhofmann
1
140
CI/CD with Kubernetes
bastianhofmann
0
180
Creating a fast Kubernetes Development Workflow
bastianhofmann
1
250
Deploying your first Micro-Service application to Kubernetes
bastianhofmann
2
180
Creating a fast Kubernetes Development Workflow
bastianhofmann
0
210
Other Decks in Technology
See All in Technology
Tech-Verse 2025 Global CTO Session
lycorptech_jp
PRO
0
1.1k
あなたの声を届けよう! 女性エンジニア登壇の意義とアウトプット実践ガイド #wttjp / Call for Your Voice
kondoyuko
4
500
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.4k
LangSmith×Webhook連携で実現するプロンプトドリブンCI/CD
sergicalsix
1
150
Understanding_Thread_Tuning_for_Inference_Servers_of_Deep_Models.pdf
lycorptech_jp
PRO
0
150
生成AI時代 文字コードを学ぶ意義を見出せるか?
hrsued
1
690
Delegating the chores of authenticating users to Keycloak
ahus1
0
130
Lambda Web Adapterについて自分なりに理解してみた
smt7174
5
140
AWS Organizations 新機能!マルチパーティ承認の紹介
yhana
1
220
AWS テクニカルサポートとエンドカスタマーの中間地点から見えるより良いサポートの活用方法
kazzpapa3
2
580
Yamla: Rustでつくるリアルタイム性を追求した機械学習基盤 / Yamla: A Rust-Based Machine Learning Platform Pursuing Real-Time Capabilities
lycorptech_jp
PRO
4
170
Zephyr RTOSを使った開発コンペに参加した件
iotengineer22
0
110
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
49
14k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
Git: the NoSQL Database
bkeepers
PRO
430
65k
A designer walks into a library…
pauljervisheath
207
24k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
940
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
500
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
720
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
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]