Návrh pro splnění požadavků na kapacitu

Dokončeno
Poskytněte dostatečnou nabídku pro řešení očekávané poptávky.

Je důležité proaktivně měřit výkon. Měření výkonu zahrnuje měření standardních hodnot a předběžné porozumění tomu, které součásti systému pravděpodobně představují výzvy. Můžete toho dosáhnout bez provedení úplného testu výkonu nebo podrobné optimalizace. Provedením těchto počátečních kroků vytvoříte základ pro efektivní správu výkonu v rané fázi životního cyklu vývoje.

Prozkoumejte systém jako celek a neměřte se na jednotlivé komponenty. V této fázi se vyhněte jemnému ladění. Provádění podrobných vylepšení výkonu vede k kompromisům v jiných oblastech. Při procházení životního cyklu a zahájení testování přijetí uživateli nebo přechodu k produkčnímu prostředí můžete rychle zjistit, které oblasti vyžadují další optimalizaci.

Ukázkový scénář

Společnost Contoso Manufacturing vyvinula interně používanou aplikaci mikroslužeb založenou na Javě Spring, která se používá k monitorování a optimalizaci výrobních procesů. Tým úloh probíhá v procesu migrace aplikace, která je aktuálně hostovaná místně, do Azure.

Aplikace hostovaná v Azure bude postavená na Azure Spring Apps, Azure Database for MySQL a Azure IoT Hubu. Contoso má připojení ExpressRoute k Azure.

Efektivní návrh úlohy

Vyberte si správné prostředky v rámci technologického zásobníku, které vám umožní splnit výkonnostní cíle a integrovat se se systémem. Zvažte funkce, které mohou splňovat požadavky na škálovatelnost a najít správnou rovnováhu mezi přidělováním prostředků a požadavky na systém, aby bylo možné efektivně zvládnout neočekávané nárůsty.

Analýzou různých možností prostředků zajistíte, že každá komponenta přispívá k celkové funkčnosti a výkonu systému a můžete identifikovat funkce škálování, které můžete využít.

Správné nastavení velikosti prostředků může splňovat změny v poptávce bez nadměrného zřizování, což vede k úsporám nákladů.

Výzva společnosti Contoso

  • Stávající místní infrastruktura prostředí aplikací je plně spravovaná společností Contoso, která výrazně zatěžuje tým. V současné době zřizují a spravují servery, sítě a úložiště a také konfigurují a aktualizují modul runtime služby Java Spring a všechny závislosti.
  • Tým se těšíme na migraci na model PaaS pomocí Azure Spring Apps, který týmu umožní soustředit se více energie na zajištění toho, aby aplikace poskytovala zamýšlenou obchodní hodnotu a vyhradit méně času na správu infrastruktury.
  • Tato aplikace je důležitá pro firmu Společnosti Contoso a má přísné požadavky na výkon, takže musí zajistit, aby volby technologií, které v rámci migrace dělají, mohly tyto požadavky splňovat.

Použití přístupu a výsledků

  • Po porovnání různých dostupných plánů se tým rozhodne pro plán Azure Spring Apps Standard, který poskytuje plně spravovanou službu pro aplikace Spring Boot optimalizovanou pro produkční provoz. S maximálním počtem 500 instancí na aplikaci dokáže plán Standard poskytnout dostatečnou výpočetní kapacitu pro maximální očekávané využití.
  • Kromě toho je možné službu nakonfigurovat tak, aby podle potřeby škálovala výpočetní prostředky a škálovala výpočetní prostředky v případě, že není potřeba další kapacita.
  • Tým se podíval na plán Enterprise, který dokáže vertikálně navýšit kapacitu až na 1 000 instancí na aplikaci, ale rozhodl se, že v tuto chvíli tuto kapacitu nepotřebují. Jsou si také jistí, že nepotřebují úroveň podpory nabídek plánu Enterprise ani zbytek jeho exkluzivních funkcí.

Správné prognózování potřeb kapacity

Plánování kapacity na základě poptávky a schopnosti vybraných prostředků pro obohacení modelu výkonu Pomocí technik prediktivního modelování můžete předpovídat očekávané změny kapacity, ke kterým může dojít s předvídatelnými a neočekávanými změnami. Definujte výkonnostní cíle, které lze přeložit na technické požadavky.

Přijetím tohoto přístupu můžete efektivně používat prostředky a splnit poptávku bez nadměrného zřízení, čímž se vyhnete zbytečným nákladům. Kromě toho vám pomůže pochopit, jak volby návrhu ovlivňují výkon.

Výzva společnosti Contoso

  • Aby se maximalizovalo efektivní využití výrobního stroje, výrobní linka Společnosti Contoso pracuje na cyklického plánu a vyrábí různé produkty v různých denních časech.
  • Každý produkt vyžaduje různé operace, a proto různé výpočetní potřeby z řídicí aplikace. Během přechodu mezi produkty musí řídicí aplikace provádět různé úlohy, které vyžadují zvýšenou výpočetní kapacitu, jako je analýza dat z předchozího produkčního prostředí a aktualizace řídicích algoritmů pro počítače.

Použití přístupu a výsledků

  • Aby tým během období přechodu změn splnil vyšší poptávku, nejprve identifikuje toky, které zpracovávají funkce přechodu změn, zdokumentují své požadavky na výkon a odhadují objemy transakcí na základě místní verze aplikace. S těmito daty tým pokračuje v odhadu výpočetní kapacity potřebné mikroslužbami, které jsou součástí cílových toků.
  • Pro tyto komponenty je nakonfigurované automatické škálování, aby se zajistilo zřízení dalších prostředků před obdobím přepnutí a uvolněním po dokončení úkolů.
  • Nastavení automatického škálování se upraví před nasazením aplikace do produkčního prostředí na základě skutečného výkonu v novém prostředí.

Testování nasazení konceptu

Implementujte testování konceptu (POC), které ověřuje technické požadavky a volby návrhu.

Testování konceptu je instrumentální při ověřování návrhu, aby určil, jestli systém dokáže splnit výkonnostní cíle a jestli jsou tyto cíle reálné. Na základě očekávaného zatížení můžete ověřit, jestli očekávaná kapacita dokáže splnit výkonnostní cíle.

Také ověřte důsledky nákladů na volby návrhu.

Výzva společnosti Contoso

  • Během vývoje tým provádí rozsáhlé zátěžové a výkonnostní testování funkcí aplikace pomocí simulátorů zařízení a používá tyto informace k optimalizaci konfigurace automatického škálování.
  • Jedním z aspektů, které mohou ovlivnit efektivitu konfigurace automatického škálování, je potenciální latence sítě komunikující z prostředí Azure Spring Apps se zařízeními IoT ve výrobním patře, která je připojená k Azure prostřednictvím ExpressRoute. Tým spekuluje, že latence bude v Azure vyšší, než je u místní verze, pokud aplikace a tato latence může být ovlivněná také jinými faktory, jako je čas dne nebo umístění zařízení.
  • Zvýšení latence by pravděpodobně mělo vliv na objem transakcí, který by každá instance mikroslužby mohla zpracovat.

Použití přístupu a výsledků

  • Tým se rozhodne nasadit POC do Azure, aby ověřil hypotézy a shromáždil metriky, které je možné použít k optimalizaci konfigurace. Vytvoří testovací aplikaci Azure Spring, která bude komunikovat se zařízeními IoT rozloženými do výrobního podlaží. Zařízení IoT jsou připojená k místní síti a jsou zaregistrovaná ve službě Azure IoT Hub. Testovací aplikace se náhodně připojí k zařízením během dne odesláním jednoduchého příkazu ping a zaznamenává dobu potřebnou k přijetí odpovědi.
  • Data zachycená během tohoto poC v kombinaci s výsledky zátěžového testování umožní týmu přesněji odhadnout potřebnou výpočetní kapacitu při přípravě na počáteční uvedení do produkčního prostředí.
  • Tým se také dívá na způsoby dalšího zlepšení testovacích případů používaných pro zátěžové testování, které simulují realističtější doby odezvy na základě učení z POC.

Kontrola znalostí

1.

V kontextu návrhu tak, aby splňoval požadavky na kapacitu, je jedním ze způsobů, jak zvolit správné prostředky pro vaši úlohu?

2.

K čemu byste měli použít prediktivní modelování?

3.

Jaká je jedna hypotéza, že se Contoso snažila ověřit nasazení poc?