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
Architecture 201x
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Stefan Tilkov
February 06, 2014
Technology
1.8k
4
Share
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
170
Microservices – A Taxonomy
stilkov
2
560
Software Architecture, Processes, Organization—and Humans
stilkov
4
590
Architekturoptionen für moderne Web-Frontends
stilkov
6
440
Software Architecture for Agile Enterprises
stilkov
2
640
Software Architecture, Processes, Organization—and Humans
stilkov
2
680
Software Architecture for Agile Enterprises
stilkov
1
240
Good Enough Architecture
stilkov
8
1.4k
“Good enough” Architecture
stilkov
2
1.1k
Other Decks in Technology
See All in Technology
20260528_生成AIを専属DSに_Howの次にすべきことを考える
doradora09
PRO
0
260
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
170
ポスター発表&デモと総括 / Poster Presentations & Demonstrations and Summary
ks91
PRO
0
160
AI時代から振り返るTerraform drift運用の歴史 / AI Age Reflections on the History of Terraform Drift Operations
aeonpeople
0
590
サプライチェーンセキュリティの空白地帯 - 信頼できる”依存性”の未来を考える
rung
PRO
1
330
インフラが苦手でも大丈夫! 紙芝居 Kubernetes -WWGT 10周年編-
aoi1
1
310
脅威をエンジニアリングの糧にして:恐怖を乗り越えた先にあったもの / Turn threats into fuel for engineering: what lay beyond overcoming fear
nrslib
1
340
Platform Engineering as a Product: Criteria for Improvement and Multi-Tenant Design
kumorn5s
0
200
Sony_KMP_Journey_KotlinConf2026
sony
0
170
Cloud Run のアップデート 触ってみる&紹介
gre212
0
230
Kiro CLI v2.0.0がやってきた!
kentapapa
0
210
Datadog 認定試験の概要と対策
uechishingo
0
180
Featured
See All Featured
A designer walks into a library…
pauljervisheath
211
24k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Unsuck your backbone
ammeep
672
58k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
370
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
370
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
310
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
120
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
560
WENDY [Excerpt]
tessaabrams
11
38k
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