Z výšky vypadají zákazníci podobně, na zemi jsou opravdu různí. Dvě účetní firmy, dva výrobci, dvě neziskovky — z dálky spadají do jedné kategorie; zblízka mají různé procesy, sledují různá data, reportují podle různých předpisů a mají různou představu o tom, co v uživatelském rozhraní vypadá "samozřejmě". Platforma, která každého zákazníka natlačí do stejné podoby, neposlouží pořádně nikomu. Platforma, která pro každého zákazníka rozjede samostatný kód, se zhroutí pod tíhou vlastní údržby. Střední cesta — a ta správná — je sdílená platforma, kterou si každé prostředí přizpůsobí své provozní realitě, s mechanismem pro sdílení toho, co se sdílet má, a pro odchylky tam, kde to podnikání zákazníka opravdu vyžaduje.
Datový model pro každé prostředí zvlášť je hlavní plocha, kterou si zákazník spravuje sám. Typy, vlastnosti, dotazy, pohledy a automatizace každého prostředí patří jen jemu. Jedno prostředí modeluje práci se vztahy se zákazníky kolem poptávek, příležitostí a obchodů; jiné realitní portfolio s nemovitostmi, prohlídkami a nabídkami; třetí regulovaný výrobní proces se šaržemi, kontrolami a odchylkami. Tatáž platforma obsluhuje všechna tři, protože to, co dělá každou implementaci smysluplnou, žije v konfiguraci na úrovni prostředí, ne v kódu platformy. Žádná větev, žádný samostatný build — jen jiná podoba uvnitř téhož produktu.
Vlastní vzhled pro každé prostředí dělá z každého prostředí něco, co působí jako součást vlastní organizace. Loga na aplikačním rámu. Firemní barvy na tlačítkách, akcentech a prvcích rozhraní. Vlastní doména nebo subdoména, aby adresy vypadaly jako součást webové přítomnosti zákazníka. Hlavičky a patičky e-mailů odpovídající vizuální identitě zákazníka. Z pohledu koncového uživatele vypadá platforma jako aplikace jeho zaměstnavatele, ne jako obecný nástroj třetí strany, který zaměstnavatel jen používá. Ten pocit vlastnictví je pro přijetí důležitý: k aplikaci s vlastním vzhledem se uživatelé staví vážněji než k anonymní.
Nastavení e-mailu pro každé prostředí řídí, jak odchozí e-maily vypadají a jak se doručují. Adresa odesílatele, adresa pro odpověď, doručovací infrastruktura, podepisující domény — to vše lze nastavit pro každé prostředí zvlášť, takže odchozí oznámení zákazníka vypadají, že přicházejí z jeho vlastní domény, ne ze sdílené adresy platformy. U procesů s e-maily směřujícími k zákazníkům (faktury, upomínky, potvrzení, upozornění) je tahle vlastní e-mailová identita obvykle nezbytná; bez ní vidí příjemci zprávy z neznámé domény a podle toho se k nim chovají.
Přepínače funkcí pro každé prostředí umožňují volitelné schopnosti zapínat výběrově. Ne každé prostředí potřebuje každou funkci; některé funkce mohou být v omezeném zavádění; některé se licencují zvlášť. Přepínače umožní provozovatelům zapnout schopnosti pro jednotlivá prostředí bez jakéhokoli nasazování kódu — schopnost, která byla postavená a otestovaná centrálně, lze aktivovat pro prostředí, která ji potřebují, nechat spící pro ta, která ne, a uvolnit do širší dostupnosti, až bude připravená. Tak se rychlost dodávání funkcí škáluje přes pestrou základnu prostředí.
Výchozí lokalizace pro každé prostředí nastavuje výchozí bod pro jeho uživatele. Časové pásmo, měna, jazyk, formát data — každé prostředí si nastaví vlastní výchozí hodnoty a jednotliví uživatelé si je pro svůj účet mohou přepsat. Prostředí působící hlavně v jednom regionu nastaví regionální výchozí hodnoty jednou; noví uživatelé přijdou s rozumným nastavením, aniž by museli cokoli konfigurovat; kdo potřebuje jiné nastavení, upraví si své vlastní. Právě tahle kombinace výchozích hodnot prostředí a přepisů na úrovni uživatele drží lokalizaci daleko od obou krajností — od jednotného nastavení, které ignoruje regionální realitu, i od chaosu, kdy si každý uživatel musí nastavit všechno.
Sdílené vzorové prostředí je provozní vzorec pro provoz mnoha zákaznických prostředí, která sdílejí společnou implementaci. Vzorové prostředí se udržuje jako zdroj pravdy pro "standardní implementaci" — základní typy, vlastnosti, pohledy a automatizace, ze kterých vycházejí všechna navazující prostředí. Nová zákaznická prostředí se zřizují ze vzoru; vylepšení vzoru lze na navazující prostředí přenášet podle řízeného rozvrhu. Pro provozovatele, kteří na sdílené službě provozují desítky nebo stovky zákazníků, je tento model řízený vzorem tím, jak se vylepšení dostanou ke každému zákazníkovi bez ruční práce v jednotlivých prostředích.
Synchronizace implementace je mechanismus přenosu. Když se vzor doplní o nový pohled, novou automatizaci nebo upravenou sadu vlastností, provozovatel může tyto změny přenést do navazujících prostředí. Před přenosem ukáže náhled rozdílů přesně to, co se v každém prostředí změní — co přibude, co se upraví, co zmizí. Provozovatel rozdíl zkontroluje, přenos schválí a platforma změny provede atomicky. Místo aby se každé navazující prostředí muselo pokaždé, když se sdílený základ vyvine, ručně předělávat, odvede práci synchronizace a nechá po sobě jasný záznam o tom, co se stalo.
Zákaznické nadstavby jsou únikovou cestou pro odchylky. Většina prostředí ráda drží krok se sdíleným vzorem; hrstka bude potřebovat úpravy specifické pro své podnikání — vlastnost navíc, vlastní pohled, automatizaci na míru. Tyto odchylky lze udržovat nad synchronizovaným základem, aniž by prostředí přišlo o možnost dál přebírat aktualizace vzoru. Nadstavba se respektuje jako specifická pro dané prostředí; sdílené části dál dostávají aktualizace ze vzoru. Pro provozní realitu "většinou stejní zákazníci s pár skutečnými výjimkami" je tento model nadstaveb tou správnou podobou.
Export a opětovný import řeší případy napříč prostředími. Konfiguraci postavenou v přípravném prostředí lze vyexportovat jako soubor datového modelu a znovu naimportovat do produkčního prostředí — což bývá nejčistší způsob, jak přenášet změny cestou z přípravy do produkce. Mechaniku exportu podrobně popisuje článek o importu dat a exportu modelu; tady je podstatné, že export a import spolupracují se synchronizačním modelem, takže provozovatelé mohou oba vzorce kombinovat tam, kde se hodí.
Samoobslužná vrstva a vrstva provozovatele spolupracují. Správci prostředí konfigurují své vlastní prostředí v mezích, které stanovil provozovatel — nemohou překročit své limity, zapnout funkce, které nemají licencované, ani zasahovat do jiných prostředí, ale ve svém prostoru mají plnou pravomoc. Provozovatelé nastavují meze, udržují sdílené vzory, sledují kondici celého souboru a zasahují jen tam, kde je potřeba koordinace napříč prostředími. Právě tohle rozdělení práce umožňuje platformě opravdu škálovat přes mnoho zákazníků, aniž by se kterýkoli tým stal úzkým hrdlem.
Pro provozovatele, kteří obsluhují pestrou zákaznickou základnu, je přizpůsobení pro zákazníka tou funkcí, která mění "obsluhujeme zákazníky tohoto typu" na "obsluhujeme konkrétní implementaci toho, co zákazníci tohoto typu obvykle potřebují". K okolním tématům: článek o provozu více zákazníků na jedné platformě popisuje hranici izolace, díky které je přizpůsobení bezpečné, článek o importu dat a exportu modelu popisuje mechaniku přenosu mezi prostředími a článek o rolích a oprávněních popisuje hranice autorizace, které si každé prostředí nastavuje interně. Jedna platforma v podobě každého zákazníka — to je výsledek, který má tahle vrstva přinášet.