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
110
Highly available cross-region deployments with Kubernetes
bastianhofmann
1
140
From source to Kubernetes in 30 minutes
bastianhofmann
0
150
Introduction to Kubernetes
bastianhofmann
1
140
CI/CD with Kubernetes
bastianhofmann
0
190
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
220
Other Decks in Technology
See All in Technology
Language Update: Java
skrb
2
300
S3アクセス制御の設計ポイント
tommy0124
3
200
はじめてのOSS開発からみえたGo言語の強み
shibukazu
1
190
KotlinConf 2025_イベントレポート
sony
1
140
テストを軸にした生き残り術
kworkdev
PRO
0
210
La gouvernance territoriale des données grâce à la plateforme Terreze
bluehats
0
180
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
1
400
Agile PBL at New Grads Trainings
kawaguti
PRO
1
440
研究開発と製品開発、両利きのロボティクス
youtalk
1
530
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
180
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
290
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
12
4.8k
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Practical Orchestrator
shlominoach
190
11k
Documentation Writing (for coders)
carmenintech
74
5k
Designing for humans not robots
tammielis
253
25k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
It's Worth the Effort
3n
187
28k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Music & Morning Musume
bryan
46
6.8k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
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]