Volba výpočetní služby Azure

Azure nabízí mnoho způsobů, jak hostovat kód aplikace. Termín compute odkazuje na model hostování pro prostředky, na které vaše aplikace běží. Tento článek vám pomůže zvolit správnou výpočetní službu pro váš scénář a zaměřuje se na nabídky výpočetních prostředků pro obecné účely.

Architecture

K výběru kandidátské výpočetní služby použijte následující vývojový diagram.

Diagram znázorňující rozhodovací strom pro výpočetní služby Azure

Obrázek znázorňuje vývojový diagram pro výběr příslušné služby Azure na základě toho, jestli uživatel migruje existující úlohu nebo sestaví novou úlohu. Vývojový diagram začíná počátečním uzlem a rozdělí se do dvou primárních větví označených jako migrovat a postavit nové. Migrovaná větev obsahuje rozhodovací body, které vyhodnocují, jestli je aplikace optimalizovaná pro cloud a jestli je možné ji zvednout a posunout. V závislosti na odpovědích tok vede ke službám, jako jsou Azure App Service, Azure VMware Solution nebo Azure Virtual Machines. Nová větev sestavení obsahuje rozhodovací body, které vyhodnocují potřebu úplné kontroly, vysokovýkonné výpočetní prostředí (HPC), úlohy řízené událostmi, spravované webové hostování a požadavky na orchestraci. Tato rozhodnutí uživatele provedou směrem ke službám, jako jsou Virtual Machines, Azure Batch, Azure Functions, App Service, Azure Container Instances, Azure Red Hat OpenShift, Azure Kubernetes Service (AKS) nebo Azure Container Apps. Oddíl větvení pro vlastní implementaci orchestrace ve službě Virtual Machines zahrnuje Kubernetes ve službě Virtual Machines a OpenShift ve službě Virtual Machines. Ve spodní části obrazu jsou dvě ohraničené sekce s výhradně kontejnerovými službami a se službami kompatibilními s kontejnery. Oddíl zaměřený na kontejnery zahrnuje Container Instances, Azure Red Hat OpenShift, Kubernetes na virtuálních strojích a OpenShift na virtuálních strojích. Oddíl kompatibilní s kontejnerem zahrnuje Azure Batch, Azure Functions a App Service.

Stáhněte si soubor aplikace Visio s touto architekturou.

Předchozí diagram odkazuje na dvě strategie migrace:

  • Lift and shift: Strategie migrace úlohy do cloudu bez nutnosti přepracovávání aplikace nebo provádění změn kódu Označuje se také jako změna hostitele. Doporučujeme, aby týmy úloh, které provádějí migrace, používaly 1:1 přístup a odložily optimalizaci, pokud to jejich časová osnova a rozpočet nepodporují, než aby přepracovávaly pro funkce nativní pro cloud. Další informace najdete v tématu Migrace úloh do Azure z jiných cloudových platforem.

  • Optimalizované pro cloud: Strategie migrace do cloudu refaktoringem aplikace za účelem využití funkcí a možností nativních pro cloud Pomocí této strategie můžete také popsat nové úlohy navržené od samého počátku tak, aby využívaly cloud-native funkce.

Výstupem tohoto vývojového diagramu je váš výchozí bod. Pak službu vyhodnoťte, abyste zjistili, jestli vyhovuje vašim potřebám.

Tento článek obsahuje několik tabulek, které vám můžou pomoct vybrat službu. Počáteční kandidát z vývojového diagramu nemusí vyhovovat vaší aplikaci nebo úloze. V takovém případě rozbalte analýzu tak, aby zahrnovala další výpočetní služby.

Pokud se vaše úloha skládá z různých výpočetních komponent, vyhodnoťte potřeby jednotlivých aplikací samostatně. Kompletní řešení může zahrnovat dvě nebo více výpočetních služeb.

Vysvětlení základních funkcí

Pokud neznáte službu Azure, kterou jste vybrali v předchozí části, projděte si následující dokumentaci s přehledem:

  • Azure Virtual Machines je služba, kterou můžete použít k nasazení a správě virtuálních počítačů v rámci virtuální sítě Azure.

  • Azure App Service je spravovaná služba pro hostování webových aplikací, back-endů mobilních aplikací, rozhraní RESTful API nebo automatizovaných obchodních procesů.

  • Azure Functions je služba, která poskytuje spravované funkce, které běží na základě různých typů triggerů pro aplikace řízené událostmi.

  • Azure Kubernetes Service (AKS) je spravovaná služba Kubernetes pro spouštění kontejnerizovaných aplikací. Poskytuje přímý přístup k rozhraní Kubernetes API a řídicí rovině.

  • Azure Container Apps je spravovaná služba založená na Kubernetes, která zjednodušuje nasazení kontejnerizovaných aplikací v bezserverovém prostředí. Neposkytuje přímý přístup k základním rozhraním API Kubernetes. Pokud potřebujete přístup k rozhraním API Kubernetes a řídicí rovině, použijte AKS.

  • Azure Container Instances je služba pro spuštění jednoho kontejneru nebo skupiny kontejnerů v Azure. Container Instances neposkytuje úplnou orchestraci kontejnerů, ale můžete implementovat kontejnery bez nutnosti zřizovat virtuální počítače nebo přijmout službu vyšší úrovně.

  • Azure Red Hat OpenShift je plně spravovaný cluster OpenShift pro spouštění kontejnerů v produkčním prostředí s Kubernetes.

  • Azure Batch je spravovaná služba pro spouštění rozsáhlých paralelních a vysoce výkonných výpočetních aplikací (HPC).

  • Azure VMware Solution je spravovaná služba pro nativní spouštění úloh VMware v Azure.

Vysvětlení modelů hostování

Pro hostování modelů cloudové služby spadají do tří kategorií.

  • Infrastruktura jako služba (IaaS) umožňuje zřizovat virtuální počítače spolu s přidruženými síťovými a úložnými komponentami. Na tyto virtuální počítače pak můžete nasadit jakýkoli software a aplikace. Tento model je nejvíce podobný tradičnímu místnímu prostředí. Microsoft spravuje infrastrukturu a spravujete virtuální počítače.

  • Platforma jako služba (PaaS) poskytuje spravované hostitelské prostředí, ve kterém můžete nasadit aplikaci bez nutnosti spravovat virtuální počítače. App Service a Container Apps jsou služby PaaS.

  • Funkce jako služba (FaaS) umožňuje nasadit kód do služby, který ho automaticky spustí. Azure Functions je služba FaaS.

    Poznámka:

    Azure Functions je bezserverová nabídka výpočetních prostředků Azure. Pokud chcete zjistit, jak tato služba porovnává s jinými bezserverovými nabídkami Azure, jako je Azure Logic Apps pro bezserverové pracovní postupy, přečtěte si téma Volba správné integrace a automatizačních služeb v Azure.

Cloudové výpočetní služby se liší od IaaS až po plně spravované FaaS. Virtuální počítače Azure se například můžou automaticky škálovat pomocí škálovacích sad virtuálních počítačů. Možnosti automatického škálování jsou často přidružené k PaaS nebo FaaS, ale možnosti se liší podle služby, nikoli podle kategorie výpočetních prostředků.

Kompromis mezi kontrolou a snadným řízením existuje. IaaS poskytuje největší kontrolu, flexibilitu a přenositelnost, ale musíte zřídit, nastavit a spravovat virtuální počítače a síťové komponenty, které vytvoříte. Služby FaaS automaticky spravují téměř všechny aspekty spuštění aplikace. PaaS poskytuje částečnou správu a vyžaduje určitou konfiguraci uživatele.

Service Složení aplikace Hustota Minimální počet uzlů Správa stavu Hostování webů
Virtual Machines Agnostik Agnostik 1 1 Bezstavový nebo stavový Agnostik
Aplikační služba Aplikace, kontejnery Více aplikací pro každou instanci pomocí plánu služby App Service 1 Bezstavové Built-in
Azure Functions Funkce, kontejnery Bezserverová verze 2 Bezserverová verze 2 Bezstavový nebo stavový 3 Není relevantní
AKS Containers Více kontejnerů pro každý uzel 6 4 Bezstavový nebo stavový Agnostik
Container Apps Containers Serverless Serverless Bezstavový nebo stavový Agnostik
Container Instances Containers Žádné vyhrazené instance Žádné vyhrazené uzly Bezstavové Agnostik
Azure Red Hat OpenShift Containers Více kontejnerů pro každý uzel 6 5 Bezstavový nebo stavový Agnostik
Batch Naplánované úlohy Více aplikací pro každý virtuální počítač 1 6 Bezstavové Ne
Azure VMware Solution Agnostik Agnostik 3 7 Bezstavový nebo stavový Agnostik

Poznámky:

1Vyšší smlouva o úrovni služeb (SLA), která má dvě nebo více instancí.

2Pro Azure Functions jsou plány Consumption a Flex Consumption bez serveru. Pro plán služby App Service běží funkce na virtuálních počítačích přidělených pro tento plán. Zvolte správný plán služeb pro Azure Functions.

3Při použití trvalých funkcí.

4Doporučeno pro produkční prostředí. Tři ve fondu systémových uzlů a tři pro každý fond uzlů uživatele

5Tři primární uzly a tři pracovní uzly.

6Po dokončení úlohy lze škálovat na nulu.

7Viz Hosté.

Další informace najdete v tématu Volba služby kontejneru Azure.

Sítě

Vaše aplikační platforma pravděpodobně potřebuje rozhraní se sítěmi jako server pro vaše aplikace i jako klient. Může například fungovat jako klient pro získání aktualizací operačního systému (OS). Musíte vybrat platformu, která podporuje požadavky na provoz mezi východem a jihem.

Service Integrace virtuální sítě Hybridní připojení
Virtual Machines Podporováno Podporováno
Aplikační služba Podporováno 1 Podporováno 2
Azure Functions Podporováno 1 Podporováno 3
AKS Supported Podporováno
Container Apps Podporováno Podporováno
Container Instances Supported Supported
Azure Red Hat OpenShift Supported Podporováno
Batch Podporováno Podporováno
Azure VMware Solution Supported Supported

Poznámky:

1Vyžaduje úroveň Basic nebo vyšší nebo App Service Environment. Viz integrace virtuální sítě.

2Použijte hybridní připojení služby App Service.

3Vyžaduje plán služby App Service, plán Azure Functions Premium nebo plán Flex Consumption služby Azure Functions.

DevOps

Service Místní ladění Vzdálené debugování Programovací model Aktualizace aplikace
Virtual Machines Agnostik Remote Tools for Visual Studio Agnostik Žádná integrovaná podpora
Aplikační služba IIS Express, ostatní 1 Omezená podpora Webové aplikace a aplikace API, Webové úlohy pro úlohy na pozadí Sloty pro nasazení
Azure Functions Visual Studio nebo Azure Functions Core Tools Není podporováno Bezserverová, řízená událostmi Sloty pro nasazení
AKS Minikube, Docker, ostatní Nástroje jiné společnosti než Microsoft 2 Agnostik Kumulativní aktualizace
Container Apps Místní běhové prostředí kontejneru Konzola ladění Agnostik Správa revizí
Container Instances Místní běhové prostředí kontejneru Není podporováno Agnostik Není relevantní
Azure Red Hat OpenShift Minikube, Docker, ostatní Nástroje jiné společnosti než Microsoft 2 Agnostik Kumulativní aktualizace
Batch Není podporováno Není relevantní Aplikace příkazového řádku Není relevantní
Azure VMware Solution Agnostik Remote Tools for Visual Studio Agnostik Žádná integrovaná podpora

Poznámky:

1Možnosti zahrnují službu IIS Express, Visual Studio Code a další standardní vývojové nástroje založené na zásobníku vaší aplikace.

2Pro ladění místního clusteru používejte nástroje třetích stran kromě Microsoftu, jako je Telepresence nebo mirrord.

Týmové dovednosti a provozní režie

Service Požadované dovednosti Provozní režie Nejlepší pro týmy, které mají tyto charakteristiky
Virtual Machines Správa operačního systému, sítě, opravy zabezpečení Vysoká: Úplná správa infrastruktury Tradiční provozní prostředí IT
Aplikační služba Vývoj webu, nasazení aplikací Nízká úroveň: Platforma spravuje infrastrukturu Vývojáři aplikací se zaměřili na kód
Azure Functions Programování řízené událostmi, vzory bez serveru Velmi nízká: Bezserverová správa Vývojáři, kteří vytvářejí řešení řízená událostmi
AKS Správa Kubernetes, orchestrace kontejnerů Vysoká: Správa clusterů, upgrady, zabezpečení Týmy DevOps, které mají zkušenosti s Kubernetes
Container Apps Základy kontejnerů, cloudové nativní vzory Nízká úroveň: Zjednodušená správa Kubernetes Týmy, které chtějí moderní vzory bez složitosti Kubernetes
Container Instances Základy kontejneru Velmi nízká: Žádná orchestrace Týmy, které potřebují jednoduché spouštění kontejnerů
Azure Red Hat OpenShift Správa OpenShiftu nebo Kubernetes Vysoká: Správa clusterů Týmy s investicemi do OpenShiftu
Batch Plánování úloh, paralelní zpracování Střední: Správa úloh a skupin Týmy, které spouštějí úlohy HPC nebo dávkové úlohy
Azure VMware Solution Správa VMware Střední: Infrastruktura spravovaná VMware Týmy, které mají požadavky na platformu VMware

Škálovatelnost

Service Autoscaling Vyrovnávač zatížení Limit škálování
Virtual Machines Škálovací sady virtuálních počítačů Azure Load Balancer – Obraz platformy: 1 000 uzlů pro každou škálovací sadu

– Vlastní image: 600 uzlů pro každou škálovací sadu
Aplikační služba Integrovaná služba Integrovaný 30 instancí (úroveň Premium), 200 se službou App Service Environment, 100 s izolovaným prostředím App Service Environment
Azure Functions Integrovaná služba Integrovaný 200 instancí (Spotřeba), 1 000 instancí (Flexibilní spotřeba)
AKS Škálování podů1, škálování clusteru2 Load Balancer nebo Azure Application Gateway 5 000 uzlů při použití úrovně Standard nebo Premium
Container Apps Pravidla škálování3 Integrovaný 1 000 replik pro každou revizi, 15 prostředí v každé oblasti
Container Instances Není podporováno Žádná integrovaná podpora 100 skupin kontejnerů pro každé předplatné (výchozí limit)
Azure Red Hat OpenShift Automatické škálování podů, automatické škálování clusteru "Zátěžový Vyvažovač (Load Balancer) nebo Aplikační Brána (Application Gateway)" 250 uzlů pro každý cluster (výchozí limit)
Batch Není relevantní Load Balancer Limit počtu jader 900 vyhrazených jader a 100 jader s nízkou prioritou (výchozí limit)
Azure VMware Solution Integrovaná služba4 Integrovaný5 3 až 16 hostitelů VMware ESXi pro každý VMware vCenter

Poznámky:

1Viz Autoscale pods.

2Viz Škálování clusteru automaticky tak, aby splňoval požadavky aplikací na AKS.

3Viz Nastavení pravidel škálování v kontejnerových aplikacích.

4Viz Škálování clusterů v privátním cloudu.

5Viz VMware NSX.

Integrované funkce ve více oblastech

Všechny aplikační platformy, které tento průvodce rozhodováním řeší, jsou regionální. Vyžadují externí směrování pro umožnění multiregionálních topologií, například aktivní-aktivní pro odolnost vůči selhání nebo aktivní-pasivní pro zotavení. Když nasadíte více instancí aplikační platformy, s alespoň jednou instancí v každé oblasti může externí směrovač nebo nástroj pro vyrovnávání zatížení směrovat provoz tam, kde je to potřeba.

Service Možnost více oblastí
Virtual Machines Pouze jedna oblast.

Musí používat externí směrovač v kombinaci s několika nasazeními virtuálních počítačů.
Aplikační služba Pouze jedna oblast.

Musí používat externí směrovač v kombinaci s několika instancemi plánu služby App Service.
Azure Functions Pouze jedna oblast.

Musí používat externí směrovač v kombinaci s několika instancemi hostitele.
AKS Pouze jedna oblast.

Musí používat externí směrovač v kombinaci s několika clustery.
Container Apps Pouze jedna oblast.

Musí používat externí směrovač v kombinaci s několika prostředími Container Apps.
Container Instances Pouze jedna oblast.
Azure Red Hat OpenShift Pouze jedna oblast.

Musí používat externí směrovač v kombinaci s několika clustery.
Batch Pouze jedna oblast.
Azure VMware Solution Pouze jedna oblast.

Musí používat externí směrovač v kombinaci s několika instancemi Azure VMware Solution.

Zabezpečení

Zkontrolujte a seznamte se s dostupnými ovládacími prvky zabezpečení a viditelností pro každou z následujících služeb:

Další kritéria

Service Protokol TLS (Transport Layer Security) Náklady Podpora grafických procesorů (GPU) Vhodné styly architektury
Virtual Machines Nastavení ve virtuálním počítači Windows,
Linux
Supported N-vrstvé, velké výpočetní prostředí (HPC)
Aplikační služba Podporováno Ceny služby App Service Není podporováno Web-queue-worker
Azure Functions Podporováno Ceny služby Azure Functions Není podporováno Mikroslužby, architektura řízená událostmi
AKS Ingress kontroler Ceny AKS Supported Mikroslužby, architektura řízená událostmi
Container Apps Ingress kontroler Ceny služby Container Apps Supported Mikroslužby, architektura řízená událostmi
Container Instances Použijte kontejner sidecar Ceny služby Container Instances Nepodporováno Mikroslužby, automatizace úloh, dávkové úlohy
Azure Red Hat OpenShift Podporováno Ceny Za Azure Red Hat OpenShift Supported Mikroslužby, architektura řízená událostmi
Batch Podporováno Ceny služby Batch Supported Velké výpočetní prostředky (HPC)
Azure VMware Solution Nastavení ve virtuálním počítači Ceny řešení Azure VMware Není podporováno Úloha virtuálního počítače založená na formátu VMware

Zvažte limity a náklady.

Použijte předchozí srovnávací tabulky jako kontext a podrobněji vyhodnoťte následující aspekty kandidátské služby:

Speciální úlohy

Některé úlohy mají specifické požadavky a obvykle nedodržují obecná doporučení v tomto průvodci výběrem platformy aplikací. Tyto úlohy jsou obvykle softwarové nebo databázové produkty, které mají charakteristiky, které omezují možnosti služby na úzkou sadu podporovaných možností.

Scenario Prozkoumání těchto možností
Plánování prostředí HPC Azure CycleCloud
SAP na virtuálních počítačích Azure Použití Azure k hostování a spouštění scénářů úloh SAP
Oracle na virtuálních počítačích Azure Databáze Oracle v infrastruktuře Azure

Aplikace na serveru Oracle Linux a WebLogic
Komplexní, intermixovaný stav a výpočty s názornými programovacími modely Azure Service Fabric
Mainframe Refaktoring mainframové aplikace pro Azure
Nabídky z Marketplace Procházení partnerských nabídek ve službě Azure Compute
Kvantové výpočty Azure Quantum
Hostování virtuálních ploch Návrh architektury virtuálních klientských počítačů
fyzické servery nebo vyhrazené výpočetní úlohy vyhrazených hostitelů Azure

Cloudové clustery Nutanix v Azure

Přispěvatelé

Microsoft udržuje tento článek. Tento článek napsali následující přispěvatelé.

Pokud chcete zobrazit nepublikované profily LinkedIn, přihlaste se na LinkedIn.

Další krok