Software jako služba znamená, že stejný produkt používá mnoho zákazníků, každý s vlastními daty, uživateli a nastavením. Některá rozhodnutí z prvních týdnů se později těžko mění, proto se je vyplatí chápat, i když nejste vývojář.
Oddělení dat zákazníků
Každá firma, která produkt používá - „tenant“ -, smí vidět jen svá data. Lze toho dosáhnout různě: sdílenou databází, kde každý záznam patří tenantovi, oddělenými schématy, nebo dokonce samostatnou databází či serverem pro každého zákazníka. Sdílené úložiště je jednodušší a levnější na provoz; silnější izolaci je snazší vysvětlit zákazníkům s přísnými požadavky na bezpečnost. Ať zvolíte cokoli, oddělení musí být vynuceno na úrovni dat, ne jen v rozhraní.
Role a oprávnění
U každého zákazníka jsou různí lidé: majitelé, manažeři, běžní zaměstnanci, někdy externí partneři. Od začátku definujte malou sadu rolí a u každé akce ověřujte oprávnění na serveru. Přidat novou roli později je snadné; opravovat systém, kde mohl kdokoli cokoli, je bolestivé.
Předplatné a fakturace
Rozhodněte brzy, jak budou zákazníci platit: měsíční nebo roční tarify, cena za uživatele, limity využití, bezplatná zkušební doba. Tarify určují dostupné funkce, takže produkt musí vědět, za co každý zákazník zaplatil. Používejte zavedeného platebního poskytovatele, ukládejte jen odkazy na platby, ne data karet, a pečlivě řešte neúspěšné platby, změny tarifu i zrušení.
Zapojení a nastavení
Nový zákazník by měl začít bez vaší pomoci: založit účet, pozvat kolegy, provést základní nastavení. Každý ruční krok, který za zákazníka uděláte, je náklad, který roste s každým dalším zákazníkem.
Příprava na růst
Nemusíte hned první den stavět pro miliony uživatelů, ale měli byste umět růst bez přepisování všeho. Udržujte kód v přehledných modulech, zaznamenávejte důležité události, automatizujte nasazení a zálohy a sledujte výkon. Tyto návyky promění škálování v postupný proces místo krizové situace.
Ve zkratce
Spolehlivě oddělujte data zákazníků, definujte role a ověřujte oprávnění na serveru, včas navrhněte tarify a fakturaci, umožněte samostatné zapojení a udržujte systém připravený na růst. Právě tyto základy rozhodují, jak snadno se bude produkt dál vyvíjet.