====== PaaS – Platform as a Service (Platforma jako služba) ====== **Platform as a Service (PaaS)** je model cloud computingu, ve kterém poskytovatel služeb dodává hardwarové a softwarové nástroje uživatelům prostřednictvím internetu. PaaS se zaměřuje především na vývojáře aplikací, kterým poskytuje hotové prostředí pro vývoj, testování, nasazení a správu aplikací, aniž by se museli starat o komplexnost správy infrastruktury (servery, sítě, úložiště, operační systémy). ===== Základní principy ===== V modelu PaaS si zákazník pronajímá platformu, která zahrnuje: * **Operační systémy** (Windows Server, Linuxové distribuce). * **Middleware** (integrační software). * **Databázové systémy** (SQL, NoSQL). * **Vývojová prostředí a runtime** (Java, .NET, Python, Node.js, PHP). Zatímco u [[iaas|IaaS]] (Infrastruktura jako služba) spravuje uživatel i operační systém a runtime, u PaaS tyto starosti přebírá poskytovatel. Uživatel se stará pouze o **samotný kód aplikace** a **konfiguraci dat**. ===== Klíčové komponenty PaaS ===== PaaS řešení se obvykle skládá z několika vrstev: ^ Komponenta ^ Popis ^ | **Cloudová infrastruktura** | Virtuální stroje, sítě a úložiště, na kterých platforma běží. | | **Platformní software** | Runtime prostředí, knihovny a frameworky pro běh kódu. | | **Nástroje pro správu** | Rozhraní (GUI nebo CLI) pro monitorování výkonu, škálování a nasazování verzí. | | **Vývojářské nástroje** | Integrace s verzovacími systémy (Git), debuggery a testovací nástroje. | ===== Výhody PaaS ===== * **Rychlejší Time-to-Market:** Vývojáři mohou začít psát kód okamžitě, nemusí instalovat servery ani konfigurovat sítě. * **Škálovatelnost:** PaaS platformy umožňují automatické navyšování výkonu (Auto-scaling) podle aktuální zátěže aplikace. * **Snížení nákladů:** Platí se pouze za skutečně využité prostředky (model Pay-as-you-go). Odpadají náklady na nákup vlastního hardwaru. * **Snadná spolupráce:** Cloudové prostředí umožňuje týmům rozprostřeným po celém světě pracovat na stejném projektu současně. * **Automatizace:** Vestavěné nástroje pro CI/CD (Continuous Integration / Continuous Deployment). ===== Typy PaaS ===== Dnes existuje několik specializovaných podkategorií: ==== 1. Public PaaS ==== Tradiční cloudová služba (např. Heroku, Google App Engine). Uživatel využívá sdílenou infrastrukturu poskytovatele. ==== 2. Private PaaS ==== Platforma nasazená uvnitř firemního firewallu nebo v privátním cloudu. Poskytuje výhody cloudu při zachování přísných bezpečnostních standardů. Často založeno na technologiích jako **OpenShift** nebo **Cloud Foundry**. ==== 3. mPaaS (Mobile PaaS) ==== Specializovaná platforma pro vývoj mobilních aplikací, která usnadňuje integraci s GPS, push notifikacemi a kamerou. ==== 4. aPaaS (Application PaaS) ==== Zaměřuje se na vizuální vývoj aplikací (Low-code/No-code platformy), kde lze aplikace "skládat" bez hluboké znalosti programování. ===== Srovnání modelů (Odpovědnost) ===== Následující tabulka ukazuje, co spravuje zákazník (Z) a co poskytovatel (P): ^ Oblast ^ IaaS ^ PaaS ^ SaaS ^ | Networking / Hardware | P | P | P | | Virtualizace | P | P | P | | Operační systém | **Z** | P | P | | Runtime / Middleware | **Z** | P | P | | Data | **Z** | **Z** | P | | Aplikace | **Z** | **Z** | P | ===== Hlavní poskytovatelé na trhu ===== * **Microsoft Azure App Service:** Široká podpora pro .NET, Java, PHP a Docker. * **Google App Engine:** Průkopník v PaaS, vynikající pro vysoce škálovatelné webové aplikace. * **AWS Elastic Beanstalk:** Služba od Amazonu pro snadné nasazení aplikací bez nutnosti hluboké znalosti AWS služeb. * **Heroku:** Velmi populární mezi startupy díky své jednoduchosti a podpoře mnoha jazyků. * **Red Hat OpenShift:** Enterprise řešení postavené na Kubernetes. ===== Rizika a nevýhody ===== * **Vendor Lock-in:** Přechod k jinému poskytovateli může být náročný, pokud aplikace využívá specifická API dané platformy. * **Závislost na poskytovateli:** Výpadek u poskytovatele znamená výpadek celé aplikace bez možnosti rychlého zásahu uživatele. * **Omezená kontrola:** Vývojář nemá přístup k nejnižším vrstvám systému (např. jádro OS), což může být limitující pro specifické aplikace. --- **Související termíny:** [[iaas|IaaS]], [[saas|SaaS]], [[cloud_computing|Cloud Computing]], [[kubernetes|Kubernetes]], [[serverless|Serverless]].