Návrh pro splnění požadavků na kapacitu
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.