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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
190
Microservices – A Taxonomy
stilkov
2
600
Software Architecture, Processes, Organization—and Humans
stilkov
4
610
Architekturoptionen für moderne Web-Frontends
stilkov
6
450
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
Oracle Cloud Network Path Analyzerを試してみた/I Tried Out Oracle Cloud Network Path Analyzer
masakiokuda
1
110
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
11
5.2k
品質と信頼性を地続きにする
grimoh
2
990
2026-09-08 そのJavaモダナイゼーション、AIに丸投げで大丈夫?IBM Bobで変わる品質と効率
yutanonaka
1
180
AIエージェント時代のPlatform as a Product —— テックリードがPdMとして回す発見・導入・計測 / Platform as a Product in the AI Agent Era
toshi0607
0
110
今話題のAI「Jev」って何? 宇宙最速で学ぶ会
minorun365
PRO
32
21k
Vibe Coding で作ったプロダクトをどう安全に動かすか / How to Safely Run Products Built with Vibe Coding
glidenote
0
560
事業課題から技術的負債に向き合う
sansantech
PRO
2
2.3k
AIエージェントの権限管理 3: Agentic RAG の Fine grained access control 編
ren8k
1
250
AIに書かせて、プラットフォームで縛る ― EKSプラットフォームで実践した責任境界と権限設計
elmodev09
0
310
負債のメタファと2026年 / Debt Metaphor in Agentic Engineering Age 202609 Edition
twada
PRO
11
6.7k
AIエージェントを最高のパートナーに育てる方法|評価と判断軸を育てる5つのステップ
koichiaoki
1
160
Featured
See All Featured
For a Future-Friendly Web
brad_frost
183
10k
Ethics towards AI in product and experience design
skipperchong
2
380
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Test your architecture with Archunit
thirion
2
2.4k
Designing for Performance
lara
611
70k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
850
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Facilitating Awesome Meetings
lara
57
7.1k
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