Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Architecture 201x
Search
Stefan Tilkov
February 06, 2014
Technology
1.8k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Architecture 201x
Lessons learned from modern web-based systems for Enterprise IT
Stefan Tilkov
February 06, 2014
More Decks by Stefan Tilkov
See All by Stefan Tilkov
API Approaches: An Overview
stilkov
1
200
Microservices – A Taxonomy
stilkov
2
600
Software Architecture, Processes, Organization—and Humans
stilkov
4
610
Architekturoptionen für moderne Web-Frontends
stilkov
6
460
Software Architecture for Agile Enterprises
stilkov
2
660
Software Architecture, Processes, Organization—and Humans
stilkov
2
710
Software Architecture for Agile Enterprises
stilkov
1
250
Good Enough Architecture
stilkov
8
1.4k
“Good enough” Architecture
stilkov
2
1.2k
Other Decks in Technology
See All in Technology
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
150
OSC2026on_the-world-is-waiting-for-your-voice.pdf
naruoga
0
370
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
140
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
590
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
390
不可逆な意思決定を避けながら10億超の顧客データを AI Ready にするデータ基盤設計
baseballyama
1
310
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
8
3k
継続的なAIコスト最適化
bgpat
1
290
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
880
触りたくないデータに、どう触るか AI時代のRBACアクセスガバナンス
ivry_presentationmaterials
0
140
WasmをRustにする
sansantech
PRO
0
220
【Data Engineering Summit2026_登壇資料】医療ビッグデータ×AIエージェントを支えるデータ基盤とハーネスエンジニアリング
jmdc_presentation
0
140
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
Scaling GitHub
holman
464
140k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
520
sira's awesome portfolio website redesign presentation
elsirapls
0
450
So, you think you're a good person
axbom
PRO
2
2.2k
Unsuck your backbone
ammeep
672
58k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
590
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
It's Worth the Effort
3n
188
29k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
490
Transcript
#Architecture201x Stefan Tilkov | innoQ
[email protected]
@stilkov Thursday 6 February
14
Disclaimer first Thursday 6 February 14
Let’s start with the enterprise Thursday 6 February 14
The J2EE(TM) 1.4 Tutorial, http://docs.oracle.com/cd/E17802_01/j2ee/j2ee/1.4/docs/tutorial-update2/doc/Overview7.html Thursday 6 February 14
GỬI PHẢN HỒI, http://ejbvn.wordpress.com Thursday 6 February 14
DB Application Browser Thursday 6 February 14
DB Backend Frontend Browser Thursday 6 February 14
Assumptions to be challenged One single system One single environment
Predictable load Clear & distinct roles Planned releases Built because they have to be Thursday 6 February 14
Somewhat Limited Agility Thursday 6 February 14
Increased Desaster Potential Thursday 6 February 14
Cut Things into Pieces 3 2 1 Thursday 6 February
14
Small, lightweight, focused apps Thursday 6 February 14
My favorite programmer’s story Thursday 6 February 14
Task: Read a file of text, determine the n most
frequently used words, and print out a sorted list of those words along with their frequencies. Thursday 6 February 14
Donald Knuth Doug McIlroy Dr. Drang, http://www.leancrew.com/all-this/2011/12/more-shell-less-egg/ 10-page literal Pascal
program, including innovative new data structure tr -‐cs A-‐Za-‐z '\n' | tr A-‐Z a-‐z | sort | uniq -‐c | sort -‐rn | sed ${1}q Thursday 6 February 14
Small, lightweight, focused apps Thursday 6 February 14
Simple process run model Thursday 6 February 14
Back to building servers Thursday 6 February 14
Closer to the metal Thursday 6 February 14
http://12factor.net Thursday 6 February 14
Isolation and independence Thursday 6 February 14
Polyglotism Thursday 6 February 14
Built for replacement, not for re-use Thursday 6 February 14
FAQ Press Release Customer Experience User Manual Werner Vogels, http://www.allthingsdistributed.com/2006/11/working_backwards.html
Thursday 6 February 14
Dismantled monolith Backend & front-end services (Re-Implementation in Node.js) https://engineering.groupon.com/2013/misc/i-tier-dismantling-the-monoliths/
Thursday 6 February 14
DB Service Frontend Browser Service Service Thursday 6 February 14
DB Service Frontend Browser Service Service DB DB Thursday 6
February 14
DB Service FE Browser Service Service DB DB FE FE
Thursday 6 February 14
Organization ⟷ Architecture Thursday 6 February 14
Kraus, Steinacker, Wegner: Teile und Herrsche – Kleine Systeme für
große Architekturen, http://bit.ly/152cXbx Independent “Verticals” REST-based macro architecture Individual micro architecture Thursday 6 February 14
App DB Browser App App DB DB Thursday 6 February
14
Services as DNA “Dogfooding” Two-pizza rule Steve Yegge, https://plus.google.com/110981030061712822816/posts/AaygmbzVeRq Thursday
6 February 14
Tools Play Node.js Modern Java EE containers Akka Embedded Jetty
vert.x DropWizard Netty Thursday 6 February 14
Thursday 6 February 14
Integrate pieces to form a whole 3 2 1 Thursday
6 February 14
Robust systems Unreliable networks Thursday 6 February 14
S1 S2 S3 Thursday 6 February 14
Tools Hystrix Akka Finagle Thursday 6 February 14
Smart aggregation Thursday 6 February 14
REST APIs Client-specific orchestration Streaming architecture Thursday 6 February 14
Browser DB Service Frontend Service Service DB DB Mobile App
Thursday 6 February 14
Browser DB Service Frontend Service Service DB DB Mobile App
Orch 1 Orch 2 Thursday 6 February 14
S1 S2 S3 S4 S5 S6 Thursday 6 February 14
Tools ql.io Storm Rx Play spray Thursday 6 February 14
Web-native front-end integration Thursday 6 February 14
Service Interface Service Interface Client Logic Thursday 6 February 14
Service Interface Service Interface Client Logic Thursday 6 February 14
Service Interface Service Interface Client Logic Thursday 6 February 14
Service Interface Service Interface Presentation Logic Orchestration Logic Thursday 6
February 14
Business Logic Business Logic Presentation Logic Thursday 6 February 14
Business Logic Business Logic Presentation Logic Presentation Logic Thursday 6
February 14
Simple semantic HTML Open Data Single domain – no portal
“Google as the homepage” Polyglot environment https://gds.blog.gov.uk/govuk-launch-colophon/ Thursday 6 February 14
Tools & Approaches RESTful HTTP ROCA MVC Web Frameworks Thursday
6 February 14
Change & run efficiently 3 2 1 Thursday 6 February
14
Horizontal scaling Thursday 6 February 14
Virtualized operating system as container Thursday 6 February 14
Fully automated, repeatable deployment Thursday 6 February 14
Transparent monitoring Thursday 6 February 14
Small changesets Everyone deploys Fast deploys Change flags Graphs/metrics Fix
fast/roll forward Ross Snyder, http://www.slideshare.net/beamrider9/continuous-deployment-at-etsy-a-tale-of-two-approaches Thursday 6 February 14
Fully cloud-based Self-made PaaS Simian Army Adrian Cockcroft, http://www.infoq.com/presentations/Netflix-Architecture Thursday
6 February 14
Tools Puppet Metrics docker Vagrant Chef logstash Zipkin Packer Thursday
6 February 14
Thursday 6 February 14
Summary Thursday 6 February 14
Build smaller Thursday 6 February 14
Aggregate smartly Thursday 6 February 14
Merge run & change Thursday 6 February 14
Thank you! Questions? Comments? Stefan Tilkov, @stilkov
[email protected]
http://www.innoq.com/blog/st/ Phone:
+49 170 471 2625 innoQ Deutschland GmbH Krischerstr. 100 40789 Monheim am Rhein Germany Phone: +49 2173 3366-0 innoQ Schweiz GmbH Gewerbestr. 11 CH-6330 Cham Switzerland Phone: +41 41 743 0116 www.innoq.com Ohlauer Straße 43 10999 Berlin Germany Phone: +49 2173 3366-0 Robert-Bosch-Straße 7 64293 Darmstadt Germany Phone: +49 2173 3366-0 Radlkoferstraße 2 D-81373 München Germany Telefon +49 (0) 89 741185-270 Thursday 6 February 14