NGiNX

Konsolidujte, automatizujte, přejděte do cloudu!

Dlouhá doba potřebná k nasazení nové  aplikace. Složitá infrastruktura. Vysoké provozní náklady. Přechod z monolitických aplikací na API based aplikace. Chybějící prvky zajišťující aplikační bezpečnost a ochranu proti DDoS útokům. Nízká nebo žádná úroveň automatizace. Jsou Vám tato témata blízké? Pojďte se podívat na to, jak se na tyto oblasti dívá F5 a jak Vám může pomoci na cestě k digitalizaci s cílem snížit náklady.

3 výzvy pro moderní organizaci

Uživatelská zkušenost a bezpečnost. Základním předpokladem je vytvořit uživatelsky přívětivou aplikaci, ale druhá věc je, aby byla dostupná a běžela hladce, aplikace tedy musí být škálovatelné podle potřeby. Každá moderní služba, která má splňovat nároky dnešního digitálního světa, musí být dostupná jak na webu, tak v podobě mobilní aplikace. V neposlední řadě musí být bezpečná, aby nedošlo k úniku citlivých dat, což je kritické zejména v oblasti veřejných portálů státní správy.

Rychlost, agilita. Druhou výzvou je schopnost rychle zavádět nové služby. Celý svět IT směřuje k digitalizaci. Neustále vzniká potřeba vyvinout nové funkce, nové aplikace, díky kterým bude organizace efektivnější a úspěšnější. V soukromé sféře se to jeví jako samozřejmost, ale ve státním aparátu jde o občany a ve finále i o politické body.

Většina organizací dnes využívá monolitický typ aplikací založený na aplikačním vývoji typu "vodopád", tedy navrhnu, vyvinu, otestuji, až potom nasadím. Celý proces trvá zpravidla 6 až 12 měsíců. V posledním desetiletí se to ale mění právě kvůli rostoucím požadavkům na rychlost, kdy je třeba spustit nové služby do několika dnů nebo týdnů. Novým přístupem jsou mikroslužby, které jsou postaveny na API, na základě kterých je založených mnoho moderních aplikací a služeb jako např. videostreaming (Netflix), bankovnictví  apod. Na provozování mikroslužeb se musí organizace změnit a přijmout kulturu Dev-Ops, v níž jsou vývojové, bezpečnostní a infrastrukturních-provozní týmy úzce propojeny. To umožňuje mnohem rychlejší vývoj a spuštění nového kódu.

Vysoké náklady. Organizace provádějící Dev-Op s tímto přístupem současně optimalizují  náklady, protože vývoj trvá kratší dobu a příprava aplikačních služeb je jednodušší. Každá aplikace, aby korektně fungovala, potřebuje síťové a aplikační služby (L4-L7) - od loadbalancingu, SSL off-loadu až po aplikační bezpečnost včetně DDoS ochrany. Dnes je běžné, že části aplikačních služeb jsou zajišťovány různými dodavateli, což zvyšuje investiční i provozní náklady a limituje možnosti automatizace. Navíc potřebujete mít specialistu na každou z těchto technologií.

3 výzvy = 3 chyby

Zmíněné výzvy poukazují na 3 klíčové chyby v přístupu, které dnes organizace dělají.

Vendor lock-in. Jedna z těchto chyb se vrací do dob mainframů a týká se infrastrukturního "lock-inu" nebo zamknutí se na konkrétní cloudovou infrastrukturu. A to se dnes děje i v případě přechodu na mikroslužby, když zákazníci migrují do cloudu. Problém je v tom, že infrastrukturní lock-in omezuje přenositelnost aplikací mezi různými poskytovateli cloud prostředí. Každá aplikace vyžaduje již zmíněné aplikační služby, bez ohledu na to, kde je umístěna. A to platí jak pro privátní, tak pro veřejný cloud. Poskytovatelé cloudové infrastruktury nabízejí aplikační služby, ale s omezenou a hlavně proprietární funkcionalitou. Pokud se zákazník rozhodne přejít např. z AWS do jiného cloudu později nebo rozšířit stávající privátní VMware prostředí o Azure, infrastrukturní "odemčení" je velkou výzvou a přenositelnost služeb významně omezena.

Bezpečnost aplikací až na posledním místě. Druhá překážka souvisí se zabezpečením aplikací a s konfigurací sítí. Pokud se v organizaci vyvíjí nová aplikace, vývojáři většinou na její zabezpečení vůbec nemyslí, protože prioritou je dodat funkcionalitu. Na druhé straně týmům IT bezpečnosti nejde ani tak o rychlost, ale o zabezpečení a spolehlivost sítě. Je tedy třeba integrovat vývojové, bezpečnostní a síťové týmy a zapojit bezpečnost do procesu již od počáteční fáze definování požadavků.

Příliš mnoho nástrojů pro vývoj, správu a monitoring. Třetí chyba se týká množství nástrojů pro správu a monitoring používaných v organizaci. Různé týmy používají různé nástroje k plnění svých funkcí a povinností, což vede k složitosti a vyšším nákladům. A to je nepřítel obchodní flexibility. To je přímo propojené s multi-vendor řešeními - různé API per vendor.

Monolitická architektura vs. Mikroslužby

Pojďme se podívat na možnosti architektury systémů a softwarového kódu aplikace. V tradiční monolitické architektuře potřebujeme webový server, aplikační server a reverzní proxy. Architektura mikroslužieb (), a kontejnerů je postavena na Ingress Controlleru reverzní proxy a také Service Mesh (nástroj pro vzájemnou komunikaci mezi mikroslužbami), komunikující mezi sebou pomocí API.

Obrázek 1 - Monolitická vs. architektura mikroslužieb na příkladu řešení NGiNX Plus a Kubernetes Ingress Controlleru (K8s IC) a Service Mesh (Sidecar proxy)

Jednou z věcí, které mají ale všechny aplikace společné, jsou aplikační služby v datové cestě od uživatele k aplikaci. Služby, jejichž cílem je poskytovat uživatelům skvělou uživatelskou zkušenost a aplikacím potřebnou ochranu. Tento řetězec služeb zahrnuje L4 a L7 loadbalancing, aplikační bezpečnost, API gateway, ochranu proti DDoS útokům, DNS, případně Content Delivery Network (CDN) na rychlejší doručování webového obsahu uživateli.

Ve většině případů všechna tato řešení pocházejí od různých dodavatelů a jsou získány a provozovány různými týmy v organizaci - síťového provozu, vývojáři, architekty, Dev-Ops nebo jsou poskytovány jako služba 3. strany (např. DDoS ochrana). Každé z těchto řešení přidává latenci, která se pohybuje řádově až ve stovkách milisekund a navíc znamená potenciální "point-of-failure".

Obrázek 2 - "Silo" aplikační služby na cestě od aplikačního kódu k zákazníkovi

Jak v tom všem může pomoci F5 a NGiNX?

Tento přístup s sebou nese spoustu komplexnosti. Vize, kterou mají F5 a NGiNX dohromady, je konsolidace aplikačních služeb s cílem snížit složitost, snížit náklady, zkrátit čas uvedení nových služeb na trh a ve finále zjednodušit život firmám a státním organizacím.

F5 Networks s produktem BIG-IP je známý jako lídr v oblasti:

  • Loadbalancing vč. terminace TLS / SSL (Application Deliver Controller - ADC),
  • Bezpečnosti webových aplikací (Web Aplikační Firewall - WAF).
  • SSL orchestrace

Kromě toho na jednom fyzickém nebo virtuálním zařízení BIG-IP jsou dostupné tyto aplikační služby:

  • DNS nebo Global Service loadbalancing (loadbalancing mezi geo lokacemi),
  • Datacenter firewall,
  • L3 / L4 DDoS ochrana proti volumetrickým útokům,
  • L7 DDoS proti aplikačním DoS útokům včetně přezkoumávají špatných botů.

Služby DNS a anti-DDoS lze také konzumovat z cloudu, který umožňuje lépe se vyrovnat s provozními špičkami nebo velkými volumetrickými útoky zahlcujícimi provoz.

NGiNX technologie vždy byla přirozenou první volbou pro vývojáře. Právě v Dev-Ops komunitě patřil NGiNX k hlavním F5 konkurentům jako jednoduchý softwarový loadbalancer. Dnes je součástí rodiny F5 a s produktem NGiNX Plus se skvěle doplňuje, protože oproti NGiNX OSS má navíc tyto funkce:

  • NGiNX Ingress Controller pro Kubernetes, což je nejrozšířenější orchestrační nástroj pro kontejnery v architektuře mikroslužeb. NGiNX Ingress controller řeší loadbalancing, terminaci TLS / SSL, modifikace URI, session perzistenci apod. v případě aplikací nasazených v kontejnerech.

Obrázek 3 - Ingress Controller balancující provoz na vstupu do kontejnerového prostředí

  • Řešení API Management a API Gateway. Moderní aplikace postavené na kontejnerech generují velké množství API volání. Tuto komunikaci je třeba řídit, zabezpečit a monitorovat. Řešení na bázi NGiNX Open Source je dnes nejrozšířenější API gateway na světě, globální ho využívají miliony webových stránek. Na základě toho vznikl enterprise-grade produkt pro zákazníky s kvalitativními požadavky, kteří nechtějí nebo nemohou používat komunitní Open Source technologie.
  • Web Server na distribuci statického obsahu. Využívá o 90 % méně paměti než jiné webové servery a jeho komunitní Open Source verze vyžívá 400 milionů webových stránek na celém světě a je to celosvětově nejpoužívanější web server.
  • Content Cache pro CDN pro dynamický i statický obsah. NGiNX cache používají největší globální CDN.

Vítězné skóre 8:2? Konsolidované řešení F5 a NGiNX vám tak umožní 8 různých technologií aplikačních služeb snížit na jen 2, což znamená mnohem jednodušší způsob správy ekosystému aplikací, nižší náklady a větší agilitu.

Obrázek 4 - Konsolidace aplikačních služeb a nástrojů pomocí F5 a NGiNX

Naše finální vize spočívá ve snížení počtu platforem na cestě od aplikačního kódu k zákazníkovi, které lze integrovat s různými nástroji orchestrace, "enterprise-grade" nebo Open Source, počínaje Cisco ACI, Ansible, Openshift apod.

Důležitost centralizovaného managementu zaměřeného na aplikace

Na efektivní správu aplikací je důležité mít nástroje pro analýzu, viditelnost a správu. Dny, kdy vlastník aplikace musel pomocí interního workflow oslovit provozní oddělení, zda je problém s dostupností jeho aplikace způsobený právě F5 nebo jinde, jsou pryč. Díky nástroji BIG-IQ může provozní oddělení definovat na základě RBAC (Role-Based-Access-Control) přístupy pro administrátory, vlastníky aplikací a vývojáře. Ti pak pomocí přehledného grafického dashboardu vidí status svých aplikací jak z pohledu dostupnosti, tak i zabezpečení.

V BIG-IQ jsou pro ně také dostupné administrátory předpřipravené šablony, pomocí kterých si vývojáři sami nasazují nové aplikace. Pomocí šablon mohou také aplikovat novou bezpečnostní politiku na WAF (aWAF) nebo nový DDoS profil. Tyto šablony definuje a publikuje v BIG-IQ oddělení bezpečnosti.

Cílem je nastolit v organizaci transparentnost, pružnost v komunikaci a hlavně svobodu přístupu k aplikacím konkrétním týmům, majitelům aplikací, vývojářům. A odlehčit provozní oddělené sítě a bezpečnosti.

Obrázek 5 - Ukázka aplikačního dashboardu v F5 BIG-IQ

Zatímco BIG-IQ je nástroj na správu aplikací nasazených pomocí F5 BIG-IP, vývojáři ocení NGiNX Controller - identické řešení pro aplikace nasazené přes NGiNX Plus, který v poslední verzi 3.0 umožňuje konfiguraci prostřednictvím API, podporu RBAC a podle vzoru BIG-IQ přidává tzv . application centric management.

Lepší aplikační viditelnost ve finále umožní efektivnější řešení problémů, protože víte, na co se během troubleshootingu máte zaměřit a děláte správná rozhodnutí ve správný čas.

Aplikační služby v cloudu

F5 jako první firma na světě vynalezla v roce 1996 loadbalancer, který vznikl, aby snížil latenci při hraní počítačových her ☺.

V roce 2001 F5 uvedla na trh svou vlastní HW appliance, díky níž se nakonec stala lídrem trhu ADC a WAF.

O pár let později F5 představila virtuální edice, které mají od první chvíle stejnou funkcionalitu jako hardware. Virtuální F5 je dnes k dispozici pro všechny klíčové hypervisory a prostředí - v privátním cloudu NSX, OpenStack, Hyper-V a ve veřejném cloudu Azure, AWS, Google, IBM cloud, Alibaba Cloud a další. Virtuální edice je možné licencovat na bázi propustnosti nebo podle počtu využitých virtuálních CPU. Rodina NGiNX Plus produktů je dostupná ve formě softwaru a licencování je per instance.

Multi-Cloud a výzvy

F5 dělá každý rok průzkum F5 State of Application Services (SOAS) v IT komunitě, nejen tedy mezi F5 zákazníky. Z nedávno publikovaného ročníku 2020 vyplývá, že 87 % firem již má "multi-cloud" architekturu. Co to znamená? Stávající on-prem prostředí (nebo privátního cloudu) zákazníci kombinují s nasazením aplikací ve veřejném cloudu - většinou Azure nebo AWS nebo využívají služeb SaaS. Volbu prostředí, do jakého cloudu zákazníci aplikaci umístí, volí podle typu aplikace.

V Cloudu pozor na data, nedělejte z pohledu bezpečnosti kompromisy! 58 % zákazníků uvedlo jako problém udržení stejné úroveně zabezpečení a "compliance" ve veřejném cloudu, v porovnáním s tím, co mají nyní v privátním cloudu. V případě veřejného cloudu je třeba si uvědomit princip sdílené odpovědnosti ( "shared responsibility"). Poskytovatel cloudu poskytuje dostupnost a bezpečnost cloudové infrastruktury. Zákazník si ručí za bezpečnost aplikací a jejich citlivých dat, za ochranu proti DoS / DDoS útokům, zabezpečení API, atd. Z reportu také vyplynulo, že 30 % zákazníků čelí problémům, pokud chtějí migrovat aplikace mezi cloudy / datovými centry.

Konzistence znamená přenositelnost. Společným jmenovatelem řešení těchto problémů je zajištění stejných aplikačních služeb napříč prostředími. Z pohledu bezpečnosti je velkým rizikem mít jinou úroveň zabezpečení ve veřejném cloudu, resp. oproti on-premise dělat v cloudu kompromisy. Je třeba si uvědomit, že za každou aplikací jsou citlivá data a v cloudu je třeba je mít zabezpečené ideální stejnmi technologiemi jako v on-premise. Stejný rozsah funkcí aplikačních služeb "doma" i v cloudu umožní také zajistit flexibilní přenositelnost aplikací mezi cloudy a eliminaci vendor lock-inu, protože ve všech prostředích stavíte aplikace identicky.

Automatizace

Multi-cloud je jeden z nástrojů digitální transformace. Organizacím to umožňuje být flexibilnější, protože přidávají kapacitu podle potřeby a stále mají k dispozici moderní infrastrukturu. Být efektivní ve zprávě multi-cloud architektury vyžaduje nasazení automatizace. Pokud nasazuji, konfigurovat a spravovat aplikační služby pomocí API volání a cloudových šablon, mohu tak dělat identickým způsobem ve všech prostředích. To mě dělá nezávislým a efektivním

F5 dává zákazníkům k dispozici "F5 Automation Toolchain", což je soubor automatizačních nástrojů, které umožňují rychlejší a jednodušší nasazení a konfiguraci aplikačních služeb F5 pomocí jednoduchých, ale výkonných deklarativních rozhraní. Deklarativní rozhraní se od imperativních, které jsme používali na konfiguraci F5 dosud, liší jako způsob přípravy hamburgeru. Imperativní předpokládá, že všechny ingredience si pořídím sám, naučím se recept a podle něj hamburger připravíme. V případě deklarativního stačí zajít do McDonaldu a hamburger objednat, v kuchyni ho připraví za vás. Velkou výhodou deklarativního přístupu je, že nepotřebujete být expert na F5, stačí si najít vhodný template na clouddocs.f5.com nebo GitHub a v syntaxi jen změnit parametry ve volání.

F5 Deklarativní Onboarding zjednodušuje počáteční konfiguraci platformy a Telemetry Streaming na agregaci, normalizaci a předávání statistik a událostí analytickým aplikacím třetích stran jako Splunk, Dynatrace apod.

Toolchain navíc umožňuje vývojářům flexibilně využívat aplikační služby od F5 pomocí integrace do svých CI / CD pipeline (metodika kontinuálního vývoje), orchestračních systémů a ekosystémů třetích stran. A od teď už vývojáři budou na bezpečnost aplikací myslet už od začátku, protože bude součástí automatizovaného deklarativních volání v jejich CI / CD automatizaci, a bez dopadu na harmonogram spuštění nové služby.

Podle F5 SOAS 2020 vývojáři mají jako nejoblíbenější nástroje na automatizaci a orchestraci CI / CD Pipeline Python (30 %), Ansible (25 %) a GitHub Enterprise (13 %), všechny jsou F5 Automation Toolchainem podporovány. F5 Toolchain lze také kombinovat s BIG-IQ nebo NGiNX Controller.

Z výsledků průzkumu SOAS jsme očekávali, že automatizace bude spojena s moderní architekturou mikroslužeb, která je typická pro cloud-nativní aplikace. Byli jsme překvapeni, že zákazníci chtějí aplikovat automatizaci rovněž na stávající monolitické aplikace. Vysvětlení? Některé aplikace jsou pro podnikání natolik důležité, že jejich provoz musí být modernizována s cílem zjednodušit operativu kolem upgradů a zvýšit dostupnost. S touto změnou se také zvyšuje potřeba zapojení Dev-Ops týmů.

Obrázek 6 - Ukázka automatizačních a analytických nástrojů F5 v ekosystému multi-cloudu. BIG-IQ na bázi GUI pro vlastníky aplikací a CI / CD na bázi deklarativních API volání pro vývojáře.

S F5 a NGiNX Plus snížíte počet použitých nástrojů a náklady na provozování webových serverů, loadbalancerov, Ingress controllerů, API GW, WAF. Zamezíte také vendor-lockinu v multi-cloud prostředí a podstatně zlepšíte spolupráci ve vaší organizaci, protože všechny týmy budou používat stejné nástroje, ale udrží si své vlastní odpovědnosti díky Role-Based-Access-Control. Vývojáři a bezpečáci budou konečně schopni spolupracovat, aniž by si navzájem zasahovaly do práce a spíše se budou doplňovat.

Nebojte se změny

Z diskusí se zákazníky víme, že někteří stále přemýšlejí o novém způsobu nasazení aplikací, někteří ale už začali cestu k digitalizaci, softwaru, Dev-Ops a automatizovanému způsobu práce. F5 a NGiNX může zákazníkům s takovou transformací pomoci. Zákazníkům doporučujeme nasazovat řešení F5 a NGiNX společně díky jedinečnosti této kombinace. Umožní to zlepšit aktuální výkon aplikací a povýšit aplikace na vyšší úroveň díky moderní architektuře a automatizaci přenosné napříč různými cloudovými prostředími.

  • Vzdálený přístup k firemním aplikacím
  • Centralizované řešení TLS / SSL na perimetru
  • Ochrana proti webovým podvodům
  • Konsolidované řešení DDoS

Představení F5

F5 je lídr v oblasti aplikačních služeb. Řešení F5 pro své kritické aplikace využívá 25.000 organizací po celém světě. V ČR se na F5 spoléhají státní instituce a polostátní firmy provozující kritickou infrastrukturu státu, většina bank, velké komerční firmy, výrobní podniky, největší Slovensku operátoři, atd.

Představení NGiNX

NGNIX je jedním z dosud největších a nejúspěšnějších SW projektů. Má velkou Open Source komunitu a za poslední desetiletí se stal velmi úspěšným. Natolik úspěšný, že na NGiNX SW dnes běží 400M webový server a jako základní kámen ho využívají největší světové CDN.