Slovník pojmů

SaaS

Software as a Service popisuje způsob dodání a provozu produktu. Neurčuje automaticky architekturu, počet zákazníků v jedné instanci ani obchodní model.

Stručná definice

Aplikaci provozuje poskytovatel a zákazník využívá hotovou službu.

Zákazník SaaS zpravidla neinstaluje a nespravuje celý aplikační stack na vlastním serveru. Přihlásí se do webové aplikace nebo propojí svůj systém přes API; poskytovatel zajišťuje nasazení verzí, dostupnost služby, monitoring, zálohy a podporu v rozsahu smluvených podmínek.

SaaS je typ softwarové služby, nikoli konkrétní framework nebo databázové schéma. Často běží v cloudu a používá předplatné, ale ani cloudové prostředí, ani pravidelná platba nejsou samy o sobě definicí SaaS. Rozhodující je, že zákazník používá poskytovatelem provozovanou aplikaci jako službu.

Jaký problém řeší

Přenáší provoz společného produktu od zákazníka k poskytovateli

Organizace mohou začít používat průběžně aktualizovaný software bez vlastního provozního týmu pro každou instalaci. Poskytovatel na oplátku přebírá dlouhodobou odpovědnost za bezpečné změny, dostupnost a obnovu dat.

  • firemní systém pro projekty, dokumenty, podporu nebo fakturaci dostupný více organizacím
  • e-commerce nebo marketingová služba napojená na systémy zákazníka přes API a webhooky
  • specializovaný oborový produkt s konfigurací procesů, rolí a oprávnění pro každou firmu
  • aplikace s centrálně řízenými upgrady místo mnoha dlouhodobě odlišných instalovaných verzí
  • služba, u níž zákazník očekává dohodnutou podporu, dostupnost, zálohy a správu incidentů

Praktický příklad

Firemní SaaS s oddělenými organizacemi

Aplikaci používají organizace Alfa a Beta. Každá má vlastní uživatele, role, záznamy, nastavení notifikací a integrace. Autentizace ověří identitu člověka; serverová autorizace potom u každé operace kontroluje také jeho vztah k organizaci a konkrétním datům. Samotné tenant_id poslané prohlížečem není důvěryhodným zdrojem.

Alfa může sdílet jednu aplikační instanci s Betou a mít data oddělená tenantovým identifikátorem. Citlivější zákazník může dostat samostatnou databázi nebo celou instanci. Obě varianty mohou být SaaS: multi-tenancy je častý způsob efektivního provozu, ne podmínka definice.

Poskytovatel nasadí novou verzi, provede zpětně kompatibilní migraci dat a sleduje chybovost pro jednotlivé organizace bez toho, aby v logu zbytečně odhaloval jejich obsah. Zákazníci si upraví povolené volby, ale nemohou libovolně změnit vnitřní kód služby.

Jak funguje

Uživatelé organizací → SaaS aplikace → data a integrace

Textový diagram popisuje běžný tok. Fyzické oddělení databází je záměrně uvedeno jako alternativa, ne jako povinná vlastnost.

  1. Uživatel vstoupí do služby Webové rozhraní nebo API přijme požadavek a určí ověřenou identitu.
  2. Určí se organizace a oprávnění Aplikace vyhodnotí členství, roli a právo pracovat s konkrétním záznamem.
  3. Použije se konfigurace zákazníka Zapnou se jeho funkce, workflow, vzhled, limity nebo integrační nastavení.
  4. Operace pracuje s oddělenými daty Tenantová hranice platí v dotazech, cache, souborech, exportech, logování i zálohách.
  5. Služba komunikuje s integracemi Podle oprávnění volá účetnictví, identity provider nebo zákaznické API a měří výsledek.
  6. Alternativa izolace Více zákazníků může sdílet databázi, mít oddělená schémata či databáze, nebo používat samostatné instance.

Hlavní části a principy

Služba musí spojit produkt, izolaci dat a dlouhodobý provoz.

Jedna viditelná funkce má v SaaS dopad na všechny podporované konfigurace, verze dat i provozní procesy.

Zákazník, tenant a izolace

Tenant je logicky oddělený zákaznický prostor. Izolace musí zabránit úniku přes databázové dotazy, cache klíče, soubory, vyhledávání, exporty i asynchronní úlohy.

Uživatelé, role a přístup

Uživatel může patřit do více organizací a mít v každé jinou odpovědnost. RBAC pomáhá seskupit oprávnění, ale stále se kontroluje vlastnictví zdroje a tenant.

Konfigurace místo větvení kódu

Podporované volby, feature flags a integrační nastavení mají jasné schéma. Neomezené zákaznické výjimky mohou znemožnit společné upgrady.

Upgrady a migrace

Poskytovatel řídí verze aplikace i dat. Migrace musí počítat s objemem, rollbackem nebo dopřednou opravou a kompatibilitou probíhajících úloh.

Dostupnost a obnova

Monitoring, zálohy, test obnovy, kapacitní limity a incidentní postup jsou součástí služby. Záloha bez ověřené obnovitelnosti nedává dostatečnou jistotu.

Integrace a bezpečnost dat

Tokeny zákazníků se bezpečně ukládají a rotují, integrační volání mají timeouty a omezené retry. Export, smazání i audit dat musí respektovat hranici organizace.

Výhody, omezení a časté chyby

Centrální provoz zjednodušuje aktualizace, ale soustředí odpovědnost.

Konkrétní přínosy

  • zákazník nemusí samostatně nasazovat každou opravu a bezpečnostní aktualizaci
  • poskytovatel může měřit chování jedné podporované produktové řady
  • nová organizace často vznikne konfigurací bez kompletní ruční instalace
  • API umožní řízeně propojit službu s existujícími systémy zákazníka

Omezení a chyby

  • zaměnit přihlášení za izolaci tenantů a zapomenout filtrovat data v některé cestě
  • nasadit nevratnou migraci všem zákazníkům bez měření a bezpečného postupu
  • nechat jednu náročnou organizaci vyčerpat sdílené zdroje ostatních
  • považovat cloud, multi-tenancy nebo předplatné jednotlivě za úplnou definici SaaS
  • slibovat dostupnost bez monitoringu, záloh a ověřeného incidentního procesu

Hranice použití

Podstatná je provozní odpovědnost poskytovatele.

Webová aplikace popisuje technický způsob interakce přes web, kdežto SaaS popisuje také provozní vztah mezi poskytovatelem a zákazníkem. Interní webový systém provozovaný jednou firmou pro sebe proto nemusí být SaaS. SaaS naopak může kromě webu nabízet mobilního klienta, desktopový doplněk nebo programové API.

Cloud computing je širší model poskytování výpočetních zdrojů a zahrnuje mimo jiné infrastrukturu, platformy i hotové aplikační služby; SaaS v tomto srovnání označuje aplikaci používanou zákazníkem. Samotné nasazení aplikace do cloudu z ní SaaS neudělá. Klasickou instalovanou aplikaci spravuje více zákazník, i když licence může být časově omezená. Licence vymezuje právo software používat, zatímco SaaS určuje způsob jeho dodání a provozu. Subscription je běžný obchodní model, ale služba může být placena podle spotřeby, transakce nebo jiného ujednání.

Na co myslet

Každá funkce musí fungovat bezpečně pro různé zákaznické kontexty.

Technická kvalita se projeví hlavně při změně verze, výpadku závislosti, obnově dat a pokusu překročit tenantovou hranici.

  • testovat přístup mezi tenanty v API, background jobech, exportech, souborech i cache
  • sledovat dostupnost a chybovost služby i jednotlivých kritických integrací
  • provádět zálohy podle cíle obnovy a pravidelně ověřovat skutečnou obnovu
  • nasazovat kompatibilní změny a plánovat migrace velkých zákaznických dat
  • omezit konfiguraci na podporované varianty a udržet dohledatelný audit citlivých operací

Časté otázky

SaaS v praxi

Musí být SaaS multi-tenant?

Ne. Multi-tenancy je častá provozní volba. SaaS může pro vybraného zákazníka používat samostatnou databázi nebo celou instanci a stále zůstat poskytovanou službou.

Je každá webová aplikace SaaS?

Ne. Interní aplikace provozovaná organizací pro vlastní potřebu je webová aplikace, ale obvykle nejde o službu poskytovanou zákazníkům externím poskytovatelem.

Je SaaS totéž co cloud computing?

Ne. Cloud computing je širší model poskytování výpočetních zdrojů a SaaS je jeden způsob, jak v něm zákazník využívá hotovou aplikaci. Samotný provoz aplikace v cloudu ještě neznamená, že je nabízena jako SaaS.

Musí se SaaS platit měsíčním předplatným?

Nemusí. Předplatné je běžné, ale cenu lze určit podle spotřeby, počtu transakcí, smluvního období nebo službu nabídnout bez přímé platby.

Jak lze oddělit data zákazníků?

Například tenantovým klíčem ve sdílených tabulkách, oddělenými schématy, databázemi nebo instancemi. Volba závisí na riziku, provozních nákladech a požadavcích zákazníků.

Zkušenost s provozovanými aplikacemi

Navrhuji aplikace s ohledem na data, oprávnění i dlouhodobý provoz.

U webových a firemních systémů propojuji produktové potřeby s bezpečnými změnami, integracemi a dohledatelným provozem.

Zavolejte mi

Zavolám vám následující pracovní den mezi 9:00 a 17:00.

Můžete mi také zavolat rovnou.

+420 605 181 728

Nechte mi telefonní číslo a pošlete žádost o zpětné zavolání.

Odesláním souhlasíte se zpracováním údajů pro vyřízení žádosti.