$30 off During Our Annual Pro Sale. View Details »
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
340
Creating a fast Kubernetes Development Workflow
bastianhofmann
0
120
Highly available cross-region deployments with Kubernetes
bastianhofmann
1
150
From source to Kubernetes in 30 minutes
bastianhofmann
0
170
Introduction to Kubernetes
bastianhofmann
1
140
CI/CD with Kubernetes
bastianhofmann
0
200
Creating a fast Kubernetes Development Workflow
bastianhofmann
1
260
Deploying your first Micro-Service application to Kubernetes
bastianhofmann
2
180
Creating a fast Kubernetes Development Workflow
bastianhofmann
0
240
Other Decks in Technology
See All in Technology
生成AIを利用するだけでなく、投資できる組織へ / Becoming an Organization That Invests in GenAI
kaminashi
0
110
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
2
180
Snowflakeでデータ基盤を もう一度作り直すなら / rebuilding-data-platform-with-snowflake
pei0804
6
1.6k
SREには開発組織全体で向き合う
koh_naga
0
370
AIプラットフォームにおけるMLflowの利用について
lycorptech_jp
PRO
1
170
生成AI時代におけるグローバル戦略思考
taka_aki
0
200
寫了幾年 Code,然後呢?軟體工程師必須重新認識的 DevOps
cheng_wei_chen
1
1.5k
Kiro を用いたペアプロのススメ
taikis
1
190
ActiveJobUpdates
igaiga
1
140
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/09 - 2025/11
oracle4engineer
PRO
0
160
Lambdaの常識はどう変わる?!re:Invent 2025 before after
iwatatomoya
1
630
re:Invent2025 コンテナ系アップデート振り返り(+CloudWatchログのアップデート紹介)
masukawa
0
390
Featured
See All Featured
Producing Creativity
orderedlist
PRO
348
40k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Docker and Python
trallard
47
3.7k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Rails Girls Zürich Keynote
gr2m
95
14k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Why Our Code Smells
bkeepers
PRO
340
57k
Faster Mobile Websites
deanohume
310
31k
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]