Úvod do cloud computingu

Slovo „cloud“ je obecně často skloňováno, přestože mnoho lidí ani neví, co znamená. Jednoduše řečeno se jedná o počítač někoho jiného, který běží neustále, a na kterém Vám jeho vlastník může pronajmout diskový prostor a výpočetní zdroje. Pro firmy i jednotlivce má obrovské výhody, jelikož poskytuje různé služby a aplikace spravované třetími stranami na vzdálených místech. Mezi hlavní poskytovatele cloudových služeb patří Google, Amazon a Microsoft. Tento článek je pouze prvním z několika na sebe navazujících článků, kde se Vám budu snažit představit principy různých cloudových technologií a zaměříme se samozřejmě i na jejich bezpečnost.

Výhody a nevýhody Cloud Computingu?

Důležitou vlastností cloudu je, že veškeré zdroje, infrastruktura i aplikace mohou být předplatitelům poskytovány jako měřené služby přes síť. Uživatel platí za to, co opravdu využívá a nemusí se starat o záležitosti ohledně fyzického zabezpečení serverů, napájení, či chlazení. Kromě přenesení odpovědnosti za fyzický provoz serverů láká klienty využití cloudu i z dalších důvodů:

  • On-demand self-service (Samoobsluha na vyžádání) - Typ služby nabízené poskytovateli cloudových služeb, který umožňuje poskytování cloudových zdrojů, jako je výpočetní výkon, úložiště a síť, vždy na vyžádánía bez nutnosti lidské interakce s poskytovateli služeb.
  • Distribuované úložiště – Díky této vlastnosti cloudových služeb je mnohem jednodušší škálování úložiště. Jednoduše tak můžete přidávat či odebírat diskový prostor, za který platíte. Potenciálně může distribuované úložiště vyvolat obavy o bezpečnost a dodržování předpisů, a proto je důležité volit vhodného cloudového poskytovatele a být obeznámen s jeho politikami ohledně bezpečnosti.
  • Rychlá elasticita – Cloud nabízí okamžité poskytování funkcí, které lze rychle rozšířit či snížit v závislosti na poptávce. Představte si, že jako vlastník internetového obchodu na svátky očekáváte větší nápor uživatelů. Abyste zabezpečili chod webových stránek i při velkém množství požadavků, pár kliknutími si vytvoříte druhý identický webový server. Nyní máte k dispozici dvojnásobný výpočetní výkon, mezi který může být tento provoz lépe rozložitelný. Spotřebitelům se cloudové zdroje zdají být neomezené a lze je zakoupit v libovolném množství a v jakémkoli okamžiku.
  • Automatizovaná správa – Právě díky minimalizaci zapojení uživatelů do automatizace cloudových procesů se tento proces urychluje a snižují se náklady na pracovní sílu a možnost lidské chyby.
  • Dostupnost – Cloudové zdroje jsou dostupné přes síť a lze k nim přistupovat prostřednictvím široké škály platforem, jako jsou notebooky, mobilní telefony atd.
  • Měření služeb – Využívají je systémy „pay-per-use“. Je obvyklé, že se využívá nějaká forma měsíčního předplatné nebo právě dle využití zdrojů (např. cena za hodinu výpočetního výkonu). Toto měření probíhá zcela transparentně směrem ke klientům, kteří vždy vidí přesně za co platí.
  • Virtualizace – Využití technologie virtualizace umožňuje cloudovým poskytovatelům i klientům velmi rychlé škálování zdrojů způsobem, kterého nevirtualizovaná prostřední nemohou dosáhnout.

Nyní víme, že využití cloudového prostředí má velkou řadu výhod. Existují však i potenciální omezení v případě využití cloudových platforem. Jsou to:

  • Omezená kontrola a flexibilita organizací
  • Náchylnost k výpadkům a dalším technickým problémům
  • Problémy se zabezpečením, soukromím a dodržováním předpisů
  • Smluvní závazky a jejich naplňování
  • Závislost na síťových připojeních
  • Potenciální zranitelnost vůči útokům, protože je každá součást online
  • Obtížnost při migraci od jednoho poskytovatele k druhému

Typy cloudových služeb

Rozlišujeme sedm základních typů cloudových služeb. O každé z ní by se dal napsat rozsáhlý článek, ale pro uvedení do celkové problematiky se Vám je pokusím zde jen stručně shrnout.

IaaS – Infrastructure as a service

Tato služba nabízí správu virtuálních počítačů a dalšího abstrahovaného hardware a operačních systému. Tyto systémy se pak tváří jako samostatné jednotky, které lze skládat i do komplexnějších systémů. Ovládají se skrze vystavená aplikační rozhraní a obsluhují je především správci systémů. Příklady mohou být Amazon EC2, GoGrid, Linode, Microsoft OneDrive či RackSpace.

PaaS – Platform as a service

Jedná se o prostředí především pro vývojáře, které v sobě obsahuje nutné vývojové nástroje pro konkrétní aplikace, konfigurační nástroje a ucelené prostředí, na kterém lze aplikace vyvíjet a testovat. Mezi konkrétní platformy bychom mohli zařadit Google App Engine, Salesforce či například Microsoft Azure.

SaaS – Software as a service

V této kategorii můžeme naleznout aplikace, které jsou určeny již koncovým uživatelům. Můžeme hovořit například o Google Docs, Google Calendar, Salesforce CRM, Freshbooks a další.

IDaaS – Identity as a service

Tato služba cloud computingu nabízí ověřovací služby předplaceným podnikům a je spravována dodavatelem třetí strany, aby poskytoval služby správy identit a přístupu. Poskytuje služby jako Single-Sign-On (SSO), Multi-Factor-Authentication (MFA), Identity Governance and Administration (IGA), řízení přístupu a sběr informací. Tyto služby umožňují předplatitelům bezpečnější přístup k citlivým datům jak v místě, tak mimo něj (např. OneLogin, Centrify Identity Service, Microsoft Azure Active Directory, Okta).

SECaaS – Security as a service

Tato služba vychází z již dříve zmíněné SaaS a je určena pro použití především bezpečnostními profesionály. Může obsahovat různé nástroje pro podporu penetračního testování i služby pro zvyšování bezpečnosti jako jsou různé autentizační a autorizační služby, IDS/IPS systémy, anti-malware či SIEM systémy.

CaaS – Container as a service

Jedná se o službu, která je určena pro podporu virtualizace a kontejnerů. Skrze vystavená aplikační rozhraní je možno plně ovládat všechny kontejnery, clustery a aplikace v nich běžící. Problematika kontejnerů, jejich využití a zabezpečení je velice široké téma a budeme se mu věnovat v dalších článcích této série zaměřené na cloud computing. Jako zástupce této třídy lze jmenovat například Amazaton AWS EC2, Docker a Google Kubernetes Engine (GKE).

FaaS – Function as a service

Tato služba cloud computingu poskytuje platformu pro vývoj, provoz a správu funkcí aplikací bez složitého budování a údržby potřebné infrastruktury (architektura bez serveru). Tento model se většinou používá při vývoji aplikací pro mikroslužby. Poskytuje předplatitelům funkcionalitu na vyžádání, která vypíná podpůrnou infrastrukturu a neúčtuje žádné poplatky, když se nepoužívá. Poskytuje služby zpracování dat, jako jsou služby internetu věcí (IoT) pro připojená zařízení, mobilní a webové aplikace a dávkové a streamované zpracování, jako jsou například AWS Lambda, Google Cloud Functions, Microsoft Azure Functions či Oracle Cloud Fn.

Oddělení povinností

V Cloud computingu je oddělení odpovědností předplatitelů a poskytovatelů služeb zásadní. Oddělení povinností zabraňuje střetu zájmů, nezákonným činům, podvodům, zneužití a chybám a pomáhá při identifikaci selhání bezpečnostních kontrol, včetně krádeží informací, narušení bezpečnosti a vyhýbání se bezpečnostním kontrolám. Pomáhá také omezit množství vlivu, který má jakýkoliv jednotlivec, a zajišťuje, že neexistují žádné konfliktní odpovědnosti.

Máme tři hlavní typy cloudových služeb. Jmenovitě IaaS, PaaS a SaaS. Při přístupu ke konkrétním cloudům a jejich modelům je nezbytné znát omezení každého modelu poskytování cloudových služeb. Obrázek níže ilustruje oddělení cloudových odpovědností specifických pro modely poskytování služeb.

cloud computing, on-premiere, IaaS, PaaS, SaaS

cloud computing klienti, poskytovatele

V tomto článku byly představeny základní koncepty Cloud computingu a jeho výhody i nevýhody. V dalších dílech Vám představím technologie, nástroje a konkrétní „best practices“ pro maximální zabezpečení Vaších cloudových infrastruktur a aplikací.