Život / vrstvy
aplikace v čase
Ondřej Kryl
MySQL
PHP
HTML / CSS / JS
FTP / HOSTING
Včera
Menší aplikace, méně požadavků na změny, menší traffic
MySQL / PostgreSQL / NoSQL
Redis / Memcache / MessageQueues / Fulltext
PHP / Ruby / NodeJS / ...
HTML / CSS / JS
AngularJS / EmberJS / Backbone
Dnes
Požadavky na rychlé změny, traffic, zařízení
Životní cyklus
stávající aplikace / projektu
MySQL
PHP
HTML / CSS
Potřebujeme v aplikaci?
- výkon
- nové funkce
- nahradit starou komponentu/framework
JAK?
-
Přidáme další vrstvu, dle potřeb
-
Refaktoring
-
Peníze / čas
-
Tým
-
Aplikace není rozsáhlá
1) Úprava stávající aplikace
2) Přepsat celou aplikaci
1) Úprava stávající aplikace
Nová vrstva
MySQL
Memcache
PHP
HTML / CSS
KnockoutJS
Pozn.: Nová vrstva / Výměna vrstvy / Odlehčíme
1) Úprava stávající aplikace
nová vrstva + změna stávající
MySQL
Memcache
MongoDb
PHP
HTML / CSS
AngularJS
Pozn.: Nová vrstva / Výměna vrstvy / Odlehčíme
1) Úprava stávající aplikace
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
FrontEnd
Storage
Data
BackEnd
Rozděl a panuj
MsgQ
Požadavky
-
Odstranit přímé vazby mezi vrstvami
-
Server / PaaS / IaaS (
hosting) -
Nastavit správně architekturu a vysvětlit lidem
Jak?
-
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
-
Získáme
Souhrn
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
Dotazy?
Ondřej Kryl
Vrstvy aplikace v čase
By Ondřej TouSt Kryl
Vrstvy aplikace v čase
- 931