Sdílet prostřednictvím


Výpočty pro úlohy SaaS v Azure

Aplikace saaS (software jako služba) musí běžet na výpočetní platformě. Stejně jako ostatní komponenty v architektuře musí splňovat obchodní požadavky a být navrženy podle obchodního modelu. Volba výpočetní platformy je významným rozhodnutím o návrhu. Vaše rozhodnutí ovlivňuje izolaci zákazníků, výkon a odolnost a výpočetní platformu ovlivňuje, jak může vaše řešení SaaS škálovat a růst.

Tento článek popisuje důležité informace o výběru modelu hostování, provozních aspektů tohoto modelu a o tom, jak optimalizovat možnosti technologie, které vám pomůžou splnit smlouvy o úrovni služeb (SLA) a cíle na úrovni služeb (SLA).

Výběr výpočetní platformy

Volba správné výpočetní platformy pro vaši úlohu SaaS je důležitá, ale spousta dostupných možností může být ohromující. Nejlepší platforma závisí na faktorech, jako je architektura aplikací, škálování, požadavky na výkon a model izolace tenanta. Co je optimální pro jednu aplikaci, nemusí být pro jinou aplikaci.

Aspekty návrhu

  • Model hostování Azure nabízí různé modely hostování, především infrastrukturu jako službu (IaaS) a platformu jako službu (PaaS), z nichž každá má své vlastní výhody a kompromisy. Vyhodnoťte požadavky vaší aplikace a zvolte nejvhodnější model.

    • IaaS poskytuje virtuální počítače a plnou kontrolu nad nimi, včetně sítí a úložiště. Vyžaduje ale správu a opravy, které můžou být náročné na provoz. Mezi příklady patří škálovací sady virtuálních počítačů a clustery Azure Kubernetes Service (AKS).

    • PaaS umožňuje nasazovat aplikace bez správy základní infrastruktury. Obsahuje integrované funkce pro automatické škálování a vyrovnávání zatížení. Příklady jsou služba Aplikace Azure Service a Azure Container Apps.

      Služby PaaS nabízejí v porovnání s IaaS méně kontroly, což může být problematické, pokud vaše aplikace potřebuje konkrétní konfiguraci. Vaše aplikace může například běžet v operačním systému, který služba PaaS nepodporuje.

  • Typ úlohy Některé platformy jsou specializované pro konkrétní úlohy, zatímco jiné jsou všestranné. Služba App Service je například navržená pro webové aplikace, zatímco AKS je obecnější. Může hostovat webové aplikace, úlohy AI a dávkové výpočetní úlohy.

  • Rozvíjet týmové znalosti. Velké změny můžou být náročné, pokud tým nemá zkušenosti s novou platformou. Vyhodnoťte dovednosti vašeho týmu a shodujte je s vašimi požadavky na platformu. Začněte jednoduchou platformou a postupně vyvíjet svou architekturu, a ne přejděte přímo na pokročilejší možnost.

    Pokud například vytváříte kontejnerizovanou aplikaci, začněte se službou Container Apps pro snadnou správu. S tím, jak vaše potřeby rostou složitější, můžete přejít na AKS, když lépe pochopíte platformu v průběhu času.

  • Režijní náklady na správu Výpočetní platformy vyrovnává režii a řízení. Větší odpovědnost za správu, která se přesunula mimo váš tým, znamená menší kontrolu nad platformou.

    IaaS například nabízí vysokou kontrolu nad virtuálními počítači, ale přináší značnou režii. Pokud je vaše aplikace nasazená v prostředí zákazníka, možná máte omezený přístup k operacím správy. Vyhodnoťte, jestli jsou tyto kompromisy přijatelné a proveditelné.

  • Požadavky na výkon Porozumíte požadavkům vaší aplikace na výkon modelováním procesoru, paměti, sítě, včetně šířky pásma a latence, GPU a potřeb dostupnosti. Měli byste také zvážit budoucí růst. Tyto informace použijte k výběru vhodných výpočetních prostředků, jako jsou řady a velikost virtuálních počítačů. Možná budete také muset vybrat konkrétní oblasti, které podporují konkrétní řadu virtuálních počítačů, aby splňovaly specializované požadavky.

  • Požadavky na spolehlivost Zvažte funkce spolehlivosti výpočetní platformy a zajistěte, aby splňovaly vaše cíle spolehlivosti. Možná budete muset použít konkrétní úrovně služby, abyste měli více instancí vašeho řešení nebo nasadili napříč zónami dostupnosti, aby se zlepšila spolehlivost.

    Projděte si doporučení RE:04 pro definování cílů spolehlivosti.

  • Zabezpečení aplikací a dodržování předpisů. Vyhodnoťte funkce zabezpečení a certifikace dodržování předpisů jednotlivých výpočetních platforem, abyste zajistili, že vyhovují vašim potřebám. Pokud například potřebujete monitorovat a filtrovat odchozí provoz, možná budete muset zvolit konkrétní výpočetní služby nebo úrovně.

Doporučení k návrhu

Doporučení Výhoda
Vyhodnoťte požadavky na výkon výpočetních prostředků odhadem dimenzí škálování procesoru, paměti, sítě a GPU.

Pomocí zátěžového testování shromážděte přesnější data, abyste mohli informovat své cvičení modelování.
Tyto úlohy vám pomůžou vybrat odpovídající velikost výpočetní platformy a odpovídajícím způsobem škálovat, když se zatížení systému zvýší.
Vyhodnoťte odbornost vašeho týmu a začněte s nejsložitější platformou, která vyhovuje vašim potřebám, nebo s platformou, kterou už tým znáte. Zajistíte plynulejší provoz a vyhnete se přetížení vašeho týmu tím, že zvolíte výpočetní platformu, kterou znáte.
Buďte ve svém návrhu flexibilní. Zaměřte se na řešení, které můžete v průběhu času iterovat, aby se přizpůsobilo vyvíjejícím se obchodním a technickým požadavkům. Flexibilita umožňuje snadněji se přizpůsobit změnám a vylepšením v průběhu času. Můžete efektivně reagovat na měnící se obchodní a technické potřeby.
Vyhodnoťte celkové náklady na vlastnictví (TCO), včetně nákladů na provoz řešení. Jasně rozumíte nákladům, což je zásadní pro plánování cenového modelu a zajištění nákladově efektivních operací.
Vyhodnoťte, jestli potřebujete kvůli zásobníku technologií používat konkrétní výpočetní platformy. Některé výpočetní platformy jsou vhodnější pro určité programovací jazyky, nástroje a operační systémy. Snažte se používat platformy, které nativně podporují vaše technologické volby. Vyhněte se nákladům na změnu návrhu architektury, která může zahrnovat migraci na novou platformu.
Vyhodnoťte funkce spolehlivosti platformy a zastavte záruky poskytovatele cloudových služeb do vašich cílů úrovně služeb. Riziko výpadků lokalizovaného datacentra snížíte plánováním funkcí spolehlivosti a používáním zón dostupnosti, pokud jsou dostupné.

Model tenantů a izolace

Obchodní model SaaS určuje, jestli hostujete prostředky pro zákazníky nebo je spravujete v prostředí zákazníka. Většina poskytovatelů SaaS hostuje prostředky jménem svých zákazníků, což umožňuje flexibilitu při návrhu výpočetní platformy. Efektivně izolujte úlohy zákazníků, abyste optimalizovali nákladovou efektivitu bez ohrožení zkušeností zákazníků nebo výkonu.

Aspekty návrhu

  • Naplánujte model tenantů. Váš model tenanta určuje sdílení prostředků mezi zákazníky a je ovlivněno vašimi obchodními a cenovými modely. Modely s jedním tenantem mají vyšší náklady na zákazníka v porovnání s plně víceklientských modelů. Vaše ceny by měly tyto rozdíly odrážet.

  • Požadavky zákazníků. Někteří zákazníci můžou mít specifické potřeby pro rezidenci dat, záruky výkonu nebo dodržování předpisů zabezpečení. Pokud tyto požadavky vyžadují vyšší úroveň izolace než obvykle, zvažte, jak odrážet zvýšené náklady ve vašem obchodním modelu.

  • Problém hlučný soused. Mějte na paměti problém hlučného souseda při sdílení prostředků mezi tenanty. Výpočetní prostředky jsou ovlivněny nejvíce. Další informace naleznete v tématu Nesy soused antipattern.

    Když zvolíte model tenantů, vyrovnáte úsporu nákladů na sdílení prostředků s potřebou zaručit výkon zákazníků. Nadměrné sdílení prostředků nebo povolení nadměrné spotřeby může snížit uživatelské prostředí.

Kompromis: Výkon a náklady. Sdílení prostředků mezi zákazníky může být nákladově efektivní, ale pokud někteří zákazníci používají více prostředků, než se čekalo, může tento přístup snížit výkon pro ostatní. Abyste tomu zabránili, implementujte správné zásady správného řízení prostředků, abyste zajistili, že využití tenanta zůstane v očekávaných limitech.

Doporučení k návrhu

Doporučení Výhoda
Vyhodnoťte funkce izolace výpočetní platformy, abyste zajistili, že splňuje požadavky modelu tenantů. Předejdete přepracování platformy tím, že nejprve ověříte kritickou konfiguraci.
Vynucujte model izolace.

Buďte opatrní se sdílenými prostředky, jako jsou mezipaměti místních disků, systémová paměť a externí mezipaměti, protože můžou neúmyslně nevratit data mezi tenanty, pokud nejsou spravovány správně.

Pro vysoké požadavky na izolaci vynucujte izolaci v rámci výpočetní platformy a v aplikaci.
Silná izolace snižuje riziko úniku dat mezi tenanty, což je závažný bezpečnostní incident.
Implementujte zásady správného řízení a monitorování prostředků s přehledem metrik na úrovni zákazníka.

Proaktivně monitorujte spotřebu prostředků jednotlivých zákazníků, abyste zjistili a zmírňovali problémy se sousedy.
Zabráníte tak problémům, aby se ostatní zákazníci ovlivňovali monitorováním spotřeby prostředků a včas zmírňovali problémy.

Konfigurace škálovatelnosti a efektivity nákladů

Vaši zákazníci můžou vaši aplikaci používat s různými profily výkonu. Očekávají, že aplikace zvládne rostoucí požadavky uživatelů, rozsáhlá data a složité úlohy bez ohrožení rychlosti a výkonu. Vaše systémová architektura musí zajistit škálovatelnost a optimální výkon bez ohledu na to, jestli spravuje stovky nebo miliony uživatelů a zároveň vyrovnává požadavky na výkon a náklady.

Kompromis: Výkon a náklady. Zvýšení výkonu obvykle zahrnuje přidání prostředků, což zvyšuje náklady. Zkontrolujte úlohy holisticky a zjistěte, které prostředky nabízejí největší výhodu za dodatečné náklady. Například izolace nejdůležitějšího zákazníka na vyhrazené infrastruktuře může stát za další náklady, aby se zabránilo problémům s výkonem jiných úloh.

Další informace o správě nákladů najdete v tématu Fakturace a správa nákladů pro úlohy SaaS v Azure.

Aspekty návrhu

  • Strategie horizontálního a vertikálního škálování Přístupy k horizontálnímu a vertikálnímu škálování jsou přijatelné pro zpracování zvýšené zátěže. Přístup, který použijete, závisí na schopnosti vaší aplikace škálovat napříč několika instancemi.

    • Horizontální škálování zahrnuje přidání dalších instancí výpočetních uzlů. Vaše architektura potřebuje nástroj pro vyrovnávání zatížení k distribuci příchozího provozu mezi více serverů nebo instancí.
    • Vertikální škálování zahrnuje zvýšení prostředků, jako je procesor a paměť, na jednom serveru. Tento přístup použijte pro stavové aplikace, které nepotřebují úložiště externích stavů, jako jsou mezipaměti. Vertikální škálování může způsobit krátké přerušení služeb a na jednom serveru má limit prostředků.

    Projděte si doporučení PE:05 pro škálování a dělení.

  • Automatické škálování Systémy potřebují efektivně zpracovávat různé úrovně poptávky. S rostoucím uživatelským provozem musí prostředky vaší aplikace vertikálně navýšit kapacitu, aby se zachoval výkon. Když poptávka klesne, sníží se kapacitu prostředků, abyste mohli řídit náklady, aniž by to mělo vliv na uživatelské prostředí. Tyto úpravy vedou faktory, jako je využití procesoru, denní doba nebo příchozí požadavky. Automatické škálování pomáhá vyvážit výkon a náklady a snižuje dopad vysoké poptávky na ostatní tenanty.

    Projděte si doporučení RE:06 pro spolehlivé škálování.

  • Plánování kapacity a přidělení výpočetních prostředků Onboarding nových zákazníků do vaší úlohy SaaS spotřebovává kapacitu prostředků. I když škálujete vertikálně nebo horizontálně, nakonec dosáhnete limitů, jako jsou omezení sítě nebo úložiště, ve škálovatelnosti vašeho řešení.

    Poznámka:

    Model Razítka nasazení umožňuje nasadit několik nezávislých instancí vašeho řešení. Poskytuje další dimenzi škálování. Je důležité pochopit kapacitu jednotlivých kolek, abyste zjistili, kdy se má nasadit více. Tento koncept se také označuje jako balení přihrádek.

Doporučení k návrhu

Doporučení Výhoda
Zvolte horizontální škálování nad vertikálním škálováním. Horizontální škálování je často méně složité, spolehlivější a nákladově efektivnější než vertikální škálování. Horizontální škálování je často jednodušší, spolehlivější a nákladově efektivní, což umožňuje škálování na vyšší úroveň než vertikální škálování.
Proveďte zátěžové testování. Simulace využití vám může pomoct identifikovat kritické body a prahové hodnoty škálování před nasazením do produkčního prostředí.
Definujte prahovou hodnotu škálování pro nasazení nového razítka místo horizontálního nebo vertikálního škálování.

Pokud chcete nákladově efektivní škálování bez ztráty výkonu, zkondenzujte tenanty na co nejvíce prostředků.
Lépe jste připraveni zvládnout růst nad rámec vaší aktuální infrastruktury.
Pokud je to možné, implementujte automatické škálování. Nastavte pravidla automatického škálování tak, aby přesně odrážela zatížení vaší aplikace. Výkon a náklady optimalizujete zvýšením a snížením prostředků podle potřeby.
Monitorujte a vyhodnocujte vzory využití zákazníků. Víte, kdy upravit infrastrukturu, abyste zvýšili výkon nebo optimalizovali náklady.
Pokud je to možné, implementujte mechanismy ukládání do mezipaměti. Snížíte potenciální zatížení zpracování výpočetní vrstvy.
Používejte upozornění na náklady. Upozornění pomáhají včas odhalit problémy s vysokým využitím a kontrolou nákladů.
Rezervace Azure můžete využít pro zákazníky , kteří mají dlouhodobé závazky a garantované využití výpočetních prostředků po celou dobu. Maximalizujete efektivitu nákladů na rezervovanou kapacitu.

Návrh pro odolnost

Odolnost výpočetní vrstvy hraje velkou roli v celkové strategii odolnosti. Aplikace by měla tolerovat a zotavit se z běžných selhání automaticky a bez dopadu na uživatele.

Aspekty návrhu

  • Požadavky na spolehlivost Nastavte jasné požadavky na spolehlivost. Mezi tyto požadavky patří interní cíle, smlouvy SLA a závazky zákazníků nebo smlouvy SLA, které často určují cíle doby provozu, jako je 99,9 % za měsíc.

    Projděte si doporučení RE:04 pro definování cílů spolehlivosti.

  • Strategie nasazení Cloudové prostředky se nasazují v konkrétních geografických oblastech. V Azure jsou zóny dostupnosti izolované sady datacenter v rámci oblasti. Kvůli odolnosti nasaďte aplikace napříč několika zónami dostupnosti. Nasazení napříč oblastmi nebo poskytovateli cloudu zvyšuje odolnost, ale zvyšuje náklady a provozní složitost.

    Projděte si doporučení RE:05 pro používání zón dostupnosti a oblastí.

  • Bezstavové úlohy. K nasazení odolných aplikací obvykle potřebujete spouštět redundantní kopie v různých umístěních. Tento úkol může být náročný pro stavové úlohy, které potřebují udržovat stav relace. Pokud je to možné, snažte se vytvářet bezstavové úlohy.

Doporučení k návrhu

Doporučení Výhoda
Zpracování přechodných chyb v aplikaci Dostupnost zvýšíte rychlým zotavením z menších problémů.
Zvolte bezstavové aplikace. Pokud vaše aplikace potřebuje být stavová, použijte k uložení stavu mechanismus externího úložiště stavu, jako je mezipaměť. Zabráníte ztrátě stavu způsobené nedostupnou instancí, například při chybném vyrovnávání zatížení nebo během výpadku.
Používejte zóny dostupnosti. Zvýšíte odolnost tím, že zmírníte výpadky lokalizovaného datacentra.
Návrh víceregionální architektury, pokud je k tomu potřeba obchodní odůvodnění. Splňujete požadavky na vysokou dobu provozu a podporujete uživatele v různých oblastech.
Proveďte chaos engineering. Lépe rozumíte tomu, kde jsou body selhání, a můžete je opravit předtím, než dojde k výpadku.
Omezte použití součástí, které sdílí více razítek. Vyloučíte jednotlivé body selhání a snížíte potenciální dopad výpadku.

Další materiály

Víceklientská architektura je základní obchodní metodologie pro navrhování úloh SaaS. V těchto článcích najdete další informace o aspektech výpočetní platformy:

Další krok

Seznamte se se síťovými aspekty pro úlohy SaaS.