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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Stefan Tilkov
February 06, 2014
Technology
4
1.8k
Architecture 201x
Lessons learned from modern web-based systems for Enterprise IT
Stefan Tilkov
February 06, 2014
Tweet
Share
More Decks by Stefan Tilkov
See All by Stefan Tilkov
API Approaches: An Overview
stilkov
1
160
Microservices – A Taxonomy
stilkov
2
540
Software Architecture, Processes, Organization—and Humans
stilkov
4
570
Architekturoptionen für moderne Web-Frontends
stilkov
6
440
Software Architecture for Agile Enterprises
stilkov
2
630
Software Architecture, Processes, Organization—and Humans
stilkov
2
660
Software Architecture for Agile Enterprises
stilkov
1
230
Good Enough Architecture
stilkov
8
1.3k
“Good enough” Architecture
stilkov
2
1.1k
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
95k
AWS Bedrock Guardrails / 機密情報の入力・出力をブロックする — Blocking Sensitive Information Input/Output
kazuhitonakayama
2
180
ローカルでLLMを使ってみよう
kosmosebi
0
210
社内ワークショップで終わらせない 業務改善AIエージェント開発
lycorptech_jp
PRO
1
410
primeNumber DATA MANAGEMENT CAMP #2:
masatoshi0205
1
640
技術キャッチアップ効率化を実現する記事推薦システムの構築
yudai00
2
160
Data Hubグループ 紹介資料
sansan33
PRO
0
2.8k
Webアクセシビリティ技術と実装の実際
tomokusaba
0
150
社内でAWS BuilderCards体験会を立ち上げ、得られた気づき / 20260225 Masaki Okuda
shift_evolve
PRO
1
150
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
AIエンジニア Devin と歩む、自律型運用プロセスの構築
a2ito
0
430
AWS CDK の目玉新機能「Mixins」とは / cdk-mixins
gotok365
2
300
Featured
See All Featured
What does AI have to do with Human Rights?
axbom
PRO
0
2k
Marketing to machines
jonoalderson
1
5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.7k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.4k
Un-Boring Meetings
codingconduct
0
220
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
80
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
100
For a Future-Friendly Web
brad_frost
183
10k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
130
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
78
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