facebook
Tematické sekce
 
Branžové sekce
Přehledy
 
Tematické seriály
 

GDPR

General Data Protection Regulation zásadně mění zpracování osobních údajů a zavádí nové povinnosti...

články >>

 

Jak uřídit IT projekt a nezbláznit se

Užitečné tipy a nástroje pro řešení problémů řízení inovací a vývoje produktů...

články >>

 

Industry 4.0

Průmysl 4.0

Jaký vliv bude mít čtvrtá průmyslová revoluce na výrobu a výrobní firmy?

články >>

 

Komplexní svět eIDAS

O nařízení eIDAS již bylo mnoho řečeno i napsáno. A proto jediné, o čem...

články >>

 

Trendy v CRM

Systémy pro řízení vztahů se zákazníky (CRM) prochází v posledních letech výraznou změnou. Zatímco dříve...

články >>

 

Příručka úspěšného IT manažera

Dnes je řada IT manažerů opomíjena. Úspěšní bývají brouci Pytlíci a Ferdové...

články >>

 
Partneři webu
Dialog 3000Skylla
IT SYSTEMS 10/2019

Kontejnery umožňují flexibilnější vývoj

-kpmg-


Red HatKontejnery poskytují vývojářům efektivní metodu, díky níž mohou v krátkém čase vytvořit a provozovat aplikace jak v režimu on-premise ve výpočetním centru, tak v cloudových prostředích. Základ pro kontejner tvoří operační systém Linux, ale kontejnery lze používat i v operačních systémech Windows a MacOS.


Při používání kontejnerů spojí vývojáři aplikaci se všemi souvisejícími prvky do jednoho kompaktního přenositelného sandboxu, který je možné beze změny přenášet mezi desktopy, on-premise servery i cloudem. Kontejnerizace se vyznačuje dvěma základními aspekty: za prvé standardizovaným formátem, který zajišťuje přenositelnost kontejnerů, a za druhé standardizovaným způsobem spouštění aplikací. Proto lze aplikaci v kontejneru při zachování její kompletní funkčnosti přesouvat mezi vývojovým, testovacím a produkčním prostředím.

Široký výběr a podporované jazyky

Výhodou pro vývojáře je možnost využívat své důvěrně známé vývojové prostředí a programovací jazyky, ať již jde o vývojová prostředí jako Eclipse, či programovací jazyky jako C, C++, C#, Java nebo jiné široce rozšířené jazyky. Výhody možnosti volby se ukazují při kombinování kontejnerů a microservices architektury, kdy se rozdělí nové nebo již existující aplikace do microservices dle poskytovaných funkcionalit. Kromě toho jsou kontejnery ve srovnání s virtuálními stroji nenáročné na zdroje a kompaktní. Skvěle se tak hodí k uvedení aplikace do provozu; od konfiguračních nastavení a závislostí ve vývojovém prostředí, přes různé testovací a integrační stanice až do produkčního prostředí. Vývojáři jsou pak optimálně vybaveni, jestliže tento proces automatizují pomocí praktik jako je Continuous Integration (CI) a Continuous Delivery (CD).

Na rozdíl od virtuálních strojů jsou kontejnery provozovány„neměnně“. Vývojáři tak nemusí počítat s „nepovšimnutými“ změnami způsobenými zásahem administrátorů v běžícím provozu. Naopak mohou vycházet z toho, že určitá verze kontejnerů, která byla úspěšně prověřena v testovacím prostředí, bude pracovat naprosto stejně i v produkčním prostředí. Mimoto jsou vývojáři díky kontejnerům schopni zachovat striktní oddělení od infrastruktury, na níž kontejnery běží. Pro řádné fungování nehraje roli to, zda kontejnerová aplikace běží v on-premise režimu ve výpočetním centru na vlastním hardwaru nebo ve veřejném cloudu. Společnosti se mohou samostatně rozhodnout, v jakém prostředí kontejnery nasadí. V závislosti na příslušných požadavcích mohou kontejnerovou aplikaci přesunout z vlastního výpočetního centra do veřejného cloudu, ale také zpět.

Kubernetes pro správu kontejnerů

Pro orchestraci a správu kontejnerů je k dispozici platforma Kubernetes, která vývojářům a IT provozu nabízí rozsáhlé funkce automatizace, škálování a správy kontejnerových aplikací. Kubernetes umožňuje snadno spravovat kontejnery přes více serverů, může efektivněji přidělovat hardwarové prostředky potřebné k provádění podnikových aplikací, stejně jako řídit a automatizovat aktualizace a zprostředkování aplikací. Kubernetes navíc nabízí funkce pro škálování kontejnerů a souvisejících prostředků. Mimoto poskytuje i možnosti k rozšiřování úložiště a provádění stavových (stateful) aplikací.

Ve světě Linuxu existují kontejnerové technologie již mnoho let, dlouhou dobu však byly na okraji zájmu, což se v posledních letech, kdy dochází k jejich rozvoji, mění. V současné době představuje kontejnerizace klíčový faktor pro implementaci aplikací, přičemž v centru zájmu stojí linuxové kontejnery založené na formátu OCI (Open Container Initiative) podporovaném všemi významnými IT společnostmi. Jako vývojový stupeň formátu Docker se již dnes formát OCI etabloval jako průmyslový standard a je pod patronátem Linux Foundation.

Rozkvět kontejnerizace aplikací

První zkušenosti s kontejnery má za sebou už mnoho organizací. IT oddělení a vývojáři často využívají kontejnery především při vývoji nových bezstavových (stateless) a nepříliš složitých webových aplikací, které pak v další fázi otevírají dalším skupinám uživatelů ve společnosti a rozšiřují jejich funkce. Když se pak počet kontejnerů zvýší na několik tuctů, začnou se vývojáři navíc zabývat i CI a CD, automatickým testováním a nasazením Kubernetes.

V určitých případech postupují společnosti strategicky a analyzují svůj aktuální počet aplikací a plánovaný nový vývoj. U některých kandidátů je kontejnerizace od začátku vyloučena, zejména v případech, kdy se očekává, že aplikace brzy dosáhnou konce svého životního cyklu a budou odstraněny, má-li být aktuální standardní software nahrazen novou verzí nebo softwarem ve formě služby nebo jsou-li aplikace příliš úzce propojeny s jinými aplikacemi a rozdělení by přineslo obrovské náklady.

Vedle nového vývoje, při němž jsou ve většině případů kontejnery žádoucí, existují i tři různé scénáře využití kontejnerů u stávajících aplikací: v případě scénáře Lift and Shift (označuje se také jako rehosting) zabalí vývojáři existující aplikaci bez její další modernizace do kontejneru s co nejmenším množstvím změn a provedou její migraci například do cloudu, kde ji provozují. Při scénáři Lift and Reshape (označuje se také jako replatforming) zjišťují vývojáři, které části aplikace profitují z kontejnerové technologie, přepracují je převedením na microservices a vytvoří API pro integraci a komunikaci. V případě tzv. refactoringu pak většina prostředků vyžaduje podstatnou úpravu zdrojového kódu na základě nové architektury. Vynaložené úsilí je však opodstatněné pouze v případě, že z něho vyplyne velmi vysoký a trvalý užitek.

Matthias Pfützner Matthias Pfützner
Autor je Senior Cloud and Account Solution Architect ve společnosti Red Hat.
Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.
PREGIS


Inzerce

CRM, DMS a docházkové systémy, ITIL 4 a firewally

Obsahu aktuálního vydání IT Systems dominují témata CRM a DMS, což jsou zkratky, se kterými se v oblasti podnikového IT setkáváme již mnoho let, ale přesto bychom jim stále měli věnovat pozornost. Rozhodně se totiž nejedná o vyřešenou a uzavřenou záležitost, protože nové technologie přináší také nové možnosti, a to jak do oblasti řízení vztahů se zákazníky, tak i do oblasti správy dokumentů, jejich digitalizace a řízení oběhu v rámci workflow, protože až s ním dostává DMS skutečný smysl.