Ondřej Kryl
Menší aplikace, méně požadavků na změny, menší traffic
Požadavky na rychlé změny, traffic, zařízení
stávající aplikace / projektu
MySQL
PHP
HTML / CSS
Potřebujeme v aplikaci?
MySQL
Memcache
PHP
HTML / CSS
KnockoutJS
Pozn.: Nová vrstva / Výměna vrstvy / Odlehčíme
nová vrstva + změna stávající
MySQL
Memcache
MongoDb
PHP
HTML / CSS
AngularJS
Pozn.: Nová vrstva / Výměna vrstvy / Odlehčíme
změna
MySQL
Memcache
MongoDb
PHP
HTML / CSS
AngularJS
Redis
Pozn.: Nová vrstva / Výměna vrstvy / Odlehčíme
PostgreSQL
Memcache
MongoDb
NodeJS
HTML / CSS
AngularJS
Redis
PHP / Java
Storage
MsgQ
Odstranit přímé vazby mezi vrstvami
Server / PaaS / IaaS (hosting)
Nastavit správně architekturu a vysvětlit lidem
Stavět "mosty" mezi břehy - vytvářet API
Co nejtenčí vrstvy
Technologie navíc by neměla být překážkou
Nebát se daemonů (worker)
Vrstvy nebo část aplikace outsourcovat? (fakturoid)
Flexibilnost
Jsme více nezávyslí na vrstvách (výměna)
Škálovatelnost
Přehlednost kódu
Musíme si hlídat architekturu aplikace
Výkon
Při dobrém návrhu API na jedn. vrstvy
Při růstu - specializace lidí na danou vrstvu
Udržet povědomí lidí o jedn. vrstvách
myslet na:
Data v separátních vrstvách
Nedatovou vrstvu můžeme kdykoliv nahradit
Vrstva by měla být:
rychlá, jednoduchá, přehledná
Povědomí o celé architektuře
Ondřej Kryl