Den här artikeln beskriver hur du levererar en verksamhetskritisk avancerad analyslösning med Azure Data Factory. Den här arkitekturen är en förlängning av baslinjearkitekturen och den företagshärdade arkitekturen. Den här artikeln innehåller specifik vägledning om de rekommenderade ändringar som krävs för att hantera en arbetsbelastning som en verksamhetskritisk åtgärd.
Den här arkitekturen överensstämmer med bästa praxis och vägledning för Cloud Adoption Framework för Azure och rekommendationerna för verksamhetskritiska arbetsbelastningar.
Skapa en verksamhetskritisk arkitektur
I baslinjearkitekturen driver Contoso ett medallion lakehouse som stöder deras första dataarbetsbelastningar för ekonomiavdelningen. Contoso härdar och utökar det här systemet för att stödja företagets analysdatabehov. Den här strategin tillhandahåller datavetenskapsfunktioner och självbetjäningsfunktioner.
I den företagshärdade arkitekturen har Contoso implementerat en medallion lakehouse-arkitektur som stöder deras behov av företagsanalysdata och gör det möjligt för företagsanvändare att använda en domänmodell. När Contoso fortsätter sin globala expansion har ekonomiavdelningen använt Azure Mašinsko učenje för att skapa en modell för avtalsbedrägerier. Den här modellen behöver nu ytterligare förfining för att fungera som en verksamhetskritisk driftstjänst.
Viktiga krav
Det finns flera viktiga krav för att leverera en verksamhetskritisk avancerad analyslösning med hjälp av Data Factory:
Maskininlärningsmodellen måste utformas som en verksamhetskritisk driftstjänst som är globalt tillgänglig för de olika avtalsdriftssystemen.
Maskininlärningsmodellens resultat och prestandamått måste vara tillgängliga för omträning och granskning.
Spårningsspåren för maskininlärningsmodellen måste behållas i 10 år.
Maskininlärningsmodellen riktar sig för närvarande till USA, Europa och Sydamerika, med planer på att expandera till Asien i framtiden. Lösningen måste följa kraven på dataefterlevnad, till exempel den allmänna dataskyddsförordningen för europeiska länder eller regioner.
Maskininlärningsmodellen förväntas stödja upp till 1 000 samtidiga användare i en viss region under hög belastning på kontorstid. För att minimera kostnaderna måste maskininlärningsbearbetningen skalas tillbaka när den inte används.
Viktiga designbeslut
Ett krav motiverar inte kostnaden och komplexiteten i att designa om plattformen för att uppfylla verksamhetskritiska specifikationer. Maskininlärningsmodellen bör i stället containeriseras och sedan distribueras till en verksamhetskritisk lösning. Den här metoden minimerar kostnader och komplexitet genom att isolera modelltjänsten och följa verksamhetskritisk vägledning. Den här designen kräver att modellen utvecklas på plattformen och sedan containeriseras för distribution.
När modellen är containerbaserad kan den hanteras via ett API med hjälp av en skalningsenhetsarkitektur i azure-regioner i USA, Europa och Sydamerika. Endast parkopplade regioner som har tillgänglighetszoner finns i omfånget, vilket stöder redundanskrav.
På grund av enkelheten i en enda API-tjänst rekommenderar vi att du använder funktionen webbapp för containrar som värd för appen. Den här funktionen ger enkelhet. Du kan också använda Azure Kubernetes Service (AKS) som ger mer kontroll men ökar komplexiteten.
Modellen distribueras via ett MLOps-ramverk. Data Factory används för att flytta data in och ut ur den verksamhetskritiska implementeringen.
För att göra containerinkapsning behöver du:
En API-klientdel för att hantera modellresultatet.
Om du vill avlasta gransknings- och prestandamått till ett lagringskonto, som sedan kan överföras tillbaka till huvudplattformen via Data Factory med hjälp av ett schemalagt jobb.
Distributions- och återställningsdistributionspipelines, som gör att varje regional distribution kan synkroniseras med rätt aktuell version av modellen.
Modellering av tjänsthälsa för att mäta och hantera den övergripande hälsan för en arbetsbelastning.
Spårningsloggar kan ursprungligen lagras på en Log Analytics-arbetsyta för analys i realtid och driftstöd. Efter 30 dagar eller 90 dagar om du använder Microsoft Sentinel kan spårningsloggar automatiskt överföras till Azure Data Explorer för långsiktig kvarhållning. Den här metoden möjliggör interaktiva frågor på upp till två år på Log Analytics-arbetsytan och möjlighet att hålla äldre, sällan använda data till en reducerad kostnad i upp till 12 år. Använd Azure Data Explorer för datalagring för att aktivera körning av plattformsoberoende frågor och visualisera data i både Azure Data Explorer och Microsoft Sentinel. Den här metoden ger en kostnadseffektiv lösning för att uppfylla långsiktiga lagringskrav samtidigt som supportvaligheten bibehålls. Om det inte finns något krav på att lagra överdrivna data bör du överväga att ta bort dem.
Arkitektur
Arbetsflöde
Följande arbetsflöde motsvarar föregående diagram:
Maskininlärningsmodellen utvecklas på dataplattformen. Den här designändringen kräver följande uppdateringar av arkitekturen:
Azure Container Registry möjliggör generering, lagring och hantering av Docker-containeravbildningar och artefakter i ett privat register som stöder distributionen av maskininlärningsmodellen.
Webbappen för containrar möjliggör kontinuerlig integrering och kontinuerliga distributionsaktiviteter som krävs för att leverera maskininlärningsmodellens utdata som en API-tjänst.
Data Factory möjliggör migrering av alla data som krävs av modellen för körning och möjliggör inmatning av modellutdata och prestandamått från den verksamhetskritiska implementeringen.
Katalogstrukturen för data lake bronze layer (eller raw layer) lagrar modellens utdata och prestandamått med hjälp av arkivnivån för att uppfylla datakvarhållningskravet.
Azure DevOps samordnar distributionen av modellkodbasen och skapande och tillbakadragning av regionala distributioner för alla stödtjänster.
Maskininlärningsmodellen distribueras som en dedikerad verksamhetskritisk arbetsbelastning i en egen definierad prenumeration. Den här metoden säkerställer att modellen undviker eventuella komponentgränser eller tjänstbegränsningar som plattformen kan införa.
En uppsättning delade resurser omfattar hela lösningen och definieras därför som global:
Container Registry möjliggör distribution av den aktuella maskininlärningsmodellversionen mellan de regionala distributionerna.
Azure Front Door tillhandahåller belastningsutjämningstjänster för att distribuera trafik mellan regionala distributioner.
En övervakningsfunktion använder Log Analytics och Azure Data Lake Storage.
Den regionala distributionsstämpeln är en uppsättning lösningskomponenter som du kan distribuera till valfri målregion. Den här metoden ger skalning, tjänståterhämtning och regional specifik tjänst.
Beroende på maskininlärningsmodellens karaktär kan det finnas regionala krav för dataefterlevnad som kräver att maskininlärningsmodellen följer suveränitetsreglerna. Den här designen stöder dessa krav.
Varje regional distribution levereras med en egen övervaknings- och lagringsstack, vilket ger isolering från resten av lösningen.
Lösningens skalningsenhet har följande komponenter:
Webbappen för containrar är värd för maskininlärningsmodellen och hanterar dess utdata. Som kärnkomponent för tjänsten i den här lösningen bör du betrakta skalningsgränserna för webbappar för containrar som de viktigaste begränsningarna. Om dessa gränser inte stöder lösningskraven bör du överväga att använda AKS i stället.
Azure Key Vault tillämpar lämpliga kontroller över hemligheter, certifikat och nycklar i det regionala omfånget som skyddas via Azure Private Link.
Data Lake Storage tillhandahåller datalagring som skyddas via Private Link.
Azure DNS tillhandahåller namnmatchning som möjliggör tjänståterhämtning och förenklar belastningsutjämning i hela lösningen.
För att underlätta support och felsökning av lösningen ingår även följande komponenter:
Azure Bastion tillhandahåller en säker anslutning för att hoppa över värdar utan att kräva en offentlig IP-adress.
Azure Virtual Machines fungerar som en snabbvärd för lösningen, vilket möjliggör en bättre säkerhetsstatus.
Lokala byggagenter ger skalning och prestanda som stöd för lösningsdistributioner.
Nätverksdesign
Ladda ned en Visio-fil med den här arkitekturen.
Du bör använda en nästa generations brandvägg som Azure Firewall för att skydda nätverksanslutningen mellan din lokala infrastruktur och ditt virtuella Azure-nätverk.
Du kan distribuera en lokalt installerad integrationskörning (SHIR) på en virtuell dator (VM) i din lokala miljö eller i Azure. Överväg att distribuera den virtuella datorn i Azure som en del av resurslandningszonen för delad support för att förenkla styrning och säkerhet. Du kan använda SHIR för att på ett säkert sätt ansluta till lokala datakällor och utföra dataintegreringsuppgifter i Data Factory.
Maskininlärningsassisterad dataetikettering stöder inte standardlagringskonton eftersom de skyddas bakom ett virtuellt nätverk. Skapa först ett lagringskonto för maskininlärningsassisterad dataetikettering. Använd sedan etikettering och skydda den bakom det virtuella nätverket.
Privata slutpunkter tillhandahåller en privat IP-adress från ditt virtuella nätverk till en Azure-tjänst. Den här processen för effektivt in tjänsten i ditt virtuella nätverk. Den här funktionen gör tjänsten endast tillgänglig från ditt virtuella nätverk eller anslutna nätverk, vilket säkerställer en säkrare och privatare anslutning. Privata slutpunkter använder Private Link, vilket skyddar anslutningen till paaS-lösningen (platform as a service). Om din arbetsbelastning använder resurser som inte stöder privata slutpunkter kanske du kan använda tjänstslutpunkter. Vi rekommenderar att du använder privata slutpunkter för verksamhetskritiska arbetsbelastningar när det är möjligt.
Mer information finns i Nätverk och anslutning.
Viktigt!
Avgör om ditt användningsfall fungerar, som det här scenariot, eller om det är relaterat till dataplattformen. Om ditt användningsfall omfattar dataplattformen, till exempel datavetenskap eller analys, kanske det inte är kvalificerat som verksamhetskritiskt. Verksamhetskritiska arbetsbelastningar kräver betydande resurser och bör endast definieras som sådana om de motiverar resursinvesteringen.
Alternativ
Du kan använda AKS som värd för containrarna. I det här användningsfallet gör den hanteringsbörda som krävs för AKS det till ett mindre idealiskt alternativ.
Du kan använda Azure Container Apps i stället för funktionen webbappar för containrar. Privata slutpunkter stöds för närvarande inte för Container Apps, men tjänsten kan integreras i ett befintligt eller nytt virtuellt nätverk.
Du kan använda Azure Traffic Manager som ett alternativ för belastningsutjämning. Azure Front Door är att föredra för det här scenariot på grund av extra tillgängliga funktioner och snabbare redundansprestanda.
Om modellen kräver läs- och skrivfunktioner som en del av databehandlingen bör du överväga att använda Azure Cosmos DB.
Att tänka på
Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Well-Architected Framework.
Tillförlitlighet
Tillförlitlighet säkerställer att ditt program kan uppfylla de åtaganden du gör gentemot dina kunder. Mer information finns i Checklista för designgranskning för tillförlitlighet.
Jämfört med baslinjearkitekturen:
Överensstämmer med den verksamhetskritiska baslinjearkitekturen.
Följ riktlinjerna från designöverväganden för verksamhetskritisk tillförlitlighet .
Distribuerar en första hälsomodell för lösningen för att maximera tillförlitligheten.
Säkerhet
Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i Checklista för designgranskning för säkerhet.
Jämfört med baslinjearkitekturen:
Följer vägledningen från de verksamhetskritiska säkerhetsdesignövervägandena .
Implementerar säkerhetsvägledningen från den verksamhetskritiska referensarkitekturen.
Kostnadsoptimering
Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Checklista för designgranskning för kostnadsoptimering.
Verksamhetskritiska konstruktioner är dyra, vilket gör implementeringskontroller viktiga. Några kontroller är:
Justera komponentens SKU-val till lösningens skalningsenhetsgränser för att förhindra överetablering.
Tillgängliga och praktiska kostnadsbesparande fördelar, till exempel Azure-reservationer för stabila arbetsbelastningar, sparplaner för dynamiska arbetsbelastningar och Log Analytics-åtagandenivåer.
Kostnads- och budgetaviseringar via Microsoft Cost Management.
Driftsäkerhet
Driftskvalitet omfattar de driftsprocesser som distribuerar ett program och håller det igång i produktion. Mer information finns i Checklista för designgranskning för Operational Excellence.
Jämfört med baslinjearkitekturen:
Följer vägledningen från designöverväganden för verksamhetskritisk driftseffektivitet .
Separerar globala och regionala övervakningsresurser för att förhindra ett enskilt punktfel i observerbarheten.
Implementerar distributions- och testningsvägledning och operativa procedurer från den verksamhetskritiska referensarkitekturen.
Justerar lösningen med Azures tekniska översikter och regionala distributioner för att ta hänsyn till ständigt föränderliga tjänster i Azure.
Prestandaeffektivitet
Prestandaeffektivitet handlar om att effektivt skala arbetsbelastningen baserat på användarnas behov. Mer information finns i Checklista för designgranskning för prestandaeffektivitet.
Jämfört med baslinjearkitekturen:
Följ riktlinjerna från designöverväganden för verksamhetskritisk prestandaeffektivitet .
Slutför en välarkitekterad utvärdering för verksamhetskritiska arbetsbelastningar för att tillhandahålla en baslinje för beredskap för lösningen. Gå regelbundet tillbaka till den här utvärderingen som en del av en proaktiv cykel för mätning och hantering.
Antimönster
Köplistemetoden: Affärsintressenter får ofta en inköpslista med funktioner och servicenivåer, utan kontexten för kostnader eller komplexitet. Det är viktigt att se till att alla lösningar baseras på verifierade krav och att lösningsdesignen stöds av finansiell modellering med alternativ. Den här metoden gör det möjligt för intressenter att fatta välgrundade beslut och pivot vid behov.
Inte utmanande kraven: Verksamhetskritisk design kan vara dyr och komplex att implementera och underhålla. Affärsintressenter bör frågas om sina krav för att säkerställa att "verksamhetskritiska" verkligen är nödvändiga.
Distribuera och glöm: Modellen distribueras utan kontinuerlig övervakning, uppdateringar eller stödmekanismer på plats. När modellen har distribuerats kräver den lite eller inget pågående underhåll och lämnas att fungera isolerat. Den här försummelsen kan leda till prestandaförsämring, avvikelse i modellens noggrannhet och sårbarheter i nya datamönster. Slutligen undergräver försummelsen modellens tillförlitlighet och effektivitet när den tjänar sitt avsedda syfte.