This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
server [2017/01/07 20:01] efox created |
server [2017/01/08 16:16] (current) efox [htaccess] |
||
|---|---|---|---|
| Line 18: | Line 18: | ||
| * rozděluje aplikaci na dva bloky a data už konečně zpracováv tam, kde jsou uložena, takže se nemusí nic přesouvat | * rozděluje aplikaci na dva bloky a data už konečně zpracováv tam, kde jsou uložena, takže se nemusí nic přesouvat | ||
| * databázová a prezentační logika je důsledně oddělena | * databázová a prezentační logika je důsledně oddělena | ||
| + | * 1. část je přemístěna na server kde zpracovává data / 2. část zůtává klientovi se kterým komunikuje | ||
| + | * aplikační je jak v databázovém serveru (skrz uložené procedury), tak v klientské části aplikace | ||
| + | * takže aplikační je jak u klienta, tak na serveru! | ||
| + | * **verze s tenkým klientem** | ||
| + | * aplikační logika je v databázovém serveru | ||
| + | * zvýšení nároků na výkon serveru | ||
| + | * ale zajištění integrity dat na vyšší úrovni | ||
| + | * **verze s tlustým klientem** | ||
| + | * menší nároky na databázový server a větší využití výkonnostního potenciálu klientského počítače | ||
| + | * ale zajištění integrity dat na nižší úrovni a nutnost neustále zamykat záznamy v databázi jednotlivými klienty | ||
| + | * **společné nevýhody: | ||
| + | * pro každou aplikaci serveru nutný specifický klient | ||
| + | * synchronní zpracování | ||
| + | * omezená přenositelnost | ||
| + | * různý jazyk prezentační a aplikační logiky | ||
| * **třívrstvá architektura K/S** | * **třívrstvá architektura K/S** | ||
| + | * důsledně oddělené všechny tři logiky (databázová, | ||
| + | * **prezentační: | ||
| + | * uživatelské rozhraní (C, C++, Oracle Card, Visual Basic,...) | ||
| + | * **aplikační: | ||
| + | * identifikuje uživatele pro zajištění bezpečnosti | ||
| + | * zajišťují konzistentní, | ||
| + | * komunikační propojení s externími zdroji dat a transformují data do formátů požadovaných jinými servery a klienty | ||
| + | * speciální funkce manipulující s daty, jako je synchronizace aktualizovaných dat přes nesourodé databáze | ||
| + | * kontrola verzí a správa aktualizacízatížení systému efektivně rozděleno mezi databázový server, několik aplikačních serverů a velké množství klientů | ||
| + | * databázový x aplikační == komunikace přes páteřní síť | ||
| + | * aplikační x klient == lokální síť | ||
| + | * dynamicky vyvažuje zátěž | ||
| + | * **plusy a mínusy:** | ||
| + | * + zachování současných HW a SW investic | ||
| + | * + rozdílné uživatelské pohledy na data, nepřetržitý vývoj aplikací, dynamické zálohování, | ||
| + | * - komplikovanější návrh a implementace systému (je třeba dobře separovat jednotlivé vrstvy) | ||
| * **vícevrstvé architektury K/S** | * **vícevrstvé architektury K/S** | ||
| + | |||
| + | ====== model network computing ====== | ||
| + | * nárust nákladů na systémovou správu ve firmách -> řešením je nahrazení tlustého klienta tím tenkým | ||
| + | * **tlustý klient** | ||
| + | * aplikace už jsou dopředu nainstalované, | ||
| + | * -> těch aplikací je zbytečně moc a většinou se i zřídka kdy použijou | ||
| + | * zabírá mi to místo na disku, paměti a žere to čas procesoru | ||
| + | * počítač tloustne!!! | ||
| + | * **tenký klient** | ||
| + | * vše potřebné si stáhnu ze serveru -> minimální požadavky na vybavenost PC | ||
| + | * až práce skončí, všecho se smaže | ||
| + | * síť zajišťuje výběr serveru | ||
| + | * provozní náklady jsou značně pomenšeny | ||
| + | |||
| + | ====== distribuovaný výpočet ====== | ||
| + | * výpočet rozdělený na více menších, méně náročných úloh, za účelem rychlejšího vyřízení požadavku předaného programu | ||
| + | * paralelizace výpočtu algoritmu - vzájemně nezávislé části výpočtu běží současně | ||
| + | * buď přesměruju SW vlákna na jiné členy clusteru v rámci OS | ||
| + | * nebo nainstaluju mnoho klientů v rámci toho programu na každý počítač co tvoří cluster | ||
| + | |||
| + | ====== GRID computing ====== | ||
| + | * GRID - přirozená | ||
| + | * = infrastruktura umožňující sdílet kapacity a funkce, integrovat služby a prostředky v rámci organizací a mezi nimi, umožňující aktivní spolupráci v distribuovaném multiorganizačním prostředí | ||
| + | * GRID nakládá s: | ||
| + | * výpočetní kapacitou (uzly, procesory) | ||
| + | * úložnými prostředky (paměť, archiv, úložné sítě) | ||
| + | * daty (charakterizovaná umístěním a dostupností) | ||
| + | * sítí (charakterizované šířkou pásma a zpožděním) | ||
| + | * softwary | ||
| + | * službami | ||
| + | ===== výpočetní GRID ===== | ||
| + | * HW a SW infrastruktura, | ||
| + | * heterogenní = různé HW i SW | ||
| + | * používá standardní, | ||
| + | * poskytuje netriviální kvalitu služeb (více než jednotlivé části tak každá zvlášť) | ||
| + | |||
| + | ===== výpočetní cluster ===== | ||
| + | * propojení více PC, kteří společně pracují na jedné úloze | ||
| + | * homogenní prostředí = všechny počítače v clusteru mají stejné SW vybavení | ||
| + | * 1 stroj funguje jako rozdělovač práce pro ostatní | ||
| + | |||
| + | ===== kategorie GRIDů ===== | ||
| + | * funkční GRID = LHC urychlovač částic v CERNu (detektory vyprodukují každou sekundu 1,5 GB dat) | ||
| + | * výpočetní GRID = poskytuje výpočetní servis | ||
| + | * poskytuje zabezpečené služby pro spuštění appek na distribuovaných výpočetních zdrojích | ||
| + | * virtuální superpočítač | ||
| + | * datový GRID | ||
| + | * zpracovává rozsáhlé datové sady pomocí služeb výpočetního GRIDu | ||
| + | * sdílí velké množství dat, poskytuje zabezpečný přístup k nim a umožňuje jejich následnou správu | ||
| + | * iluze jednotného hromadného datového úložiště | ||
| + | * informační GRID | ||
| + | * rozšíření o poskytování kategorizace dat, ontologii, sdílení znalostí a tvorby wokflow | ||
| + | * vzdálená kontrola a správa vybavení, senzorů, zařízení | ||
| + | |||
| + | ====== virtualizace ====== | ||
| + | * primárním cílem virtualizace je skrýt technické detaily systému pod virtualizační vrstvu, prostřednictvím které je pak k dispozici pouze jeho " | ||
| + | * == běh jednoho nebo více virtuálních strojů na jednom počítači | ||
| + | |||
| + | ===== emulace ===== | ||
| + | * překlad strojových instrukcí hostovaného systému na strojové instrukce hostitelského stroje | ||
| + | * == napodobení činnosti jednoho zařízení pomocí zařízení jiného | ||
| + | * Ve světě informačních technologií se o emulaci starají tzv. emulátory. To jsou přístroje, | ||
| + | |||
| + | ===== plná (HW) virtualizace ===== | ||
| + | * procesor se neemuluje, platformy musí být shodné | ||
| + | * VirtualBox | ||
| + | |||
| + | ===== paravirtualizace ===== | ||
| + | * podobná konceptu hardwarové virtualizace - pouze se snahou optimalizovat zátěž virtualizační vrstvy | ||
| + | * základ - speciálně upravené jádro hostujícího OS s hypervisorem - poskytuje hostovaným systémům přístup k hardware | ||
| + | |||
| + | ===== virtualizace na úrovni OS ===== | ||
| + | |||
| + | ====== cloud computing ====== | ||
| + | * výkonný výpočetní systém, k němuž se můžete připojit, požádat o nějakou službu a on ji vykoná | ||
| + | * poskytování služeb či programů uložených skrze Internet s tím, že uživatelé k nim mohou přistupovat pomocí webového prohlížeče a používat prakticky odkudkoliv | ||
| + | * neplatím za vlastní SW, ale za to, že ho používám | ||
| + | |||
| + | ===== model nasazení ===== | ||
| + | |||
| + | * **veřejný CC** | ||
| + | * klasický případ CC | ||
| + | * cloud je poskytnut a nabídnut široké veřejnosti | ||
| + | * **soukromý CC** | ||
| + | * cloud je provozován pouze organizací pro ni samotnou, nebo třetí stranou (pro organizaci) | ||
| + | * **hybridní CC** | ||
| + | * kombinace veřejných a soukromých cloudů | ||
| + | * propojeny pomocí standardizačních technologií a navenek vystupují jako jeden cloud | ||
| + | * **komunitní cloud computing** | ||
| + | * tu komunitu spojuje společný zájem | ||
| + | |||
| + | ===== distribuční model ===== | ||
| + | * **IAAS (infrastruktura jako služba)** | ||
| + | * poskytovatel služeb se zavazuje poskytnout infrastrukturu -> jedná se o virtualizaci | ||
| + | * o veškeré problémy s hardwarem stará poskytovatel. Na druhou stranu je někdy velice těžké toto akceptovat vzhledem k tomu, že hardware se bere jako něco, co vlastníme, na co můžeme sáhnout a jsme za to zodpovědní. IAAS je vhodné pro ty, kteří vlastní software (či jejich licence) a nechtějí se starat o hardware | ||
| + | * PAAS (platforma jako služba) | ||
| + | * poskytuje kompletní prostředky pro podporu celého životního cyklu tvorby a poskytování webových aplikací a služeb plně k dispozici na Internetu, bez možnosti stažení softwaru (prostředky pro vývoj aplikace jako IDE nebo API, ale také např. pro údržbu) | ||
| + | * **SAAS (software jako služba)** | ||
| + | * aplikace je licencována jako služba pronajímaná uživateli | ||
| + | * kupuju si přístup k aplikaci, ne aplikaci samotnou | ||
| + | * google apps | ||
| + | * **DAAS (desktop jako služba)** | ||
| + | |||
| + | ====== zálohování dat ====== | ||
| + | * nestrukturovaná záloha | ||
| + | * ručně kopíruju na externí médium | ||
| + | * plná záloha | ||
| + | * vždy kopíruje do nové zálohy všechna data z daného umístění | ||
| + | * inkrementální záloha | ||
| + | * uložím jenom to, co se od posledně změnilo | ||
| + | * diferenciální záloha | ||
| + | |||
| + | ====== server ====== | ||
| + | * počítač (HW), který poskytuje nějakou službu | ||
| + | * unix=daemon, | ||
| + | * realizace pomocí aplikačního síťového protokolu | ||
| + | * HTTP (web) | ||
| + | * LPD (tisk) | ||
| + | * SMB (sdílení disků a tiskáren) | ||
| + | |||
| + | ===== druhy serverů ===== | ||
| + | * webový | ||
| + | * přijíma požadavky ve tvaru http | ||
| + | * statický / dynamický obsah | ||
| + | * souborový | ||
| + | * databázový | ||
| + | * obsluhuje geografické prostorové a neprostorové data a poskytuje přístup a řízení dat skrze SQL | ||
| + | * tiskový | ||
| + | * faxový | ||
| + | * proxy | ||
| + | * aplikační | ||
| + | * spojuje webový server se serverovou stranou aplikace (např. SSA - mapový server) | ||
| + | * herní | ||
| + | |||
| + | ===== apache http server ===== | ||
| + | * softwarový webový server s otevřeným kódem pro Linux, BSD, MS Windows a další platformy | ||
| + | |||
| + | ==== htaccess ==== | ||
| + | {{:: | ||
| + | |||
| + | * dá se i zablokovat přístup z IP adresy (deny from 123.156.189.123) | ||
| + | * nebo blok adres (123.156) | ||
| + | * nebo znepřístupnit všem - deny from all | ||
| + | |||
| + | ====== RPCP (remote procedure call) ====== | ||
| + | * jednoduchý mechanismus pro tvorbu aplikací typu klient/ | ||
| + | * poskytuje své služby formou procedur!!! | ||
| + | * klient pošle serveru požadavek RPC spolu s jeho parametry -> server provede příslušnou proceduru -> klientovi pošle zpátky návratovou hodnotu | ||
| + | |||
| + | ====== COM ====== | ||
| + | * standard / programovací technika | ||
| + | * nezávislá na programovacím jazyku a OS | ||
| + | * určuje základní vlastnosti objektů a pravidla pro práci s nimi | ||
| + | * objekty v COM (komponenty) mezi sebou komunikují pomocí předem přísně stanovených protokolů | ||
| + | * **modularita** | ||
| + | * aby se 1 objekt nemusel zabývat tím, co dělají ostatní | ||
| + | * **univerzálnost** | ||
| + | * COM je totiž v podstatě standard pro zkompilované binární soubory | ||
| + | * **správa paměti** | ||
| + | * životní cyklus komponent se řídí referencemi (== počet pointerů které na objekt ukazují) | ||
| + | * klesne-li počet referencí na nulu - objekt se automaticky postará o vymazání sama sebe z paměti | ||
| + | * **modifikace COM** | ||
| + | * COM+, OLE, AtiveX,... | ||
| + | ===== DCOM ===== | ||
| + | * Distributed COM | ||
| + | |||
| + | |||