Vad är Azure Batch?
Få organisationer har resurser för att upprätthålla permanenta installationer av extremt kraftfulla beräkningsplattformar som bara ibland kan användas till full kapacitet. Mer normalt behöver du en flexibel och skalbar beräkningslösning som Azure Batch för att tillhandahålla beräkningskraften.
Som en del av processen med att utföra OCR på de uppladdade bilderna av vattenreningsmätare med hjälp av Azure Batch måste du ha en förståelse för huvudkomponenterna i ett Azure Batch-arbetsflöde.
Här tittar du på vad Azure Batch är utformat för att göra och hur Batch-komponenter används i ett typiskt arbetsflöde.
Beräkningsintensiva uppgifter och parallella arbetsbelastningar
Vissa arbetsbelastningar kräver massiv beräkningskraft. Exempel är finansiell riskmodellering, 3D-bildåtergivning, medietranskodning och genetisk sekvensanalys. I vissa fall kan dessa arbetsbelastningar delas upp i separata underaktiviteter och kan köras parallellt så att uppgifterna utförs på mycket kortare tid. Tre virtuella datorer (VM) kan utföra arbetet med en på en tredjedel av tiden.
Som en del av OCR-projektet för den ideella organisationen kan du använda Azure Batch för att dela upp arbetet med att utföra OCR så att bearbetningen görs parallellt och tar mycket mindre tid att slutföra.
Komponenterna i Azure Batch
Du kan använda Azure Batch för dessa storskaliga parallella och beräkningsintensiva uppgifter i Azure. På hög nivå omfattar Azure Batch många komponenter som arbetar tillsammans. Allt måste ske inom ramen för ett Azure Batch-konto, som fungerar som en container för alla Batch-resurser.
I vissa användningsfall kanske du vill associera det här kontot med ett Azure Storage-konto för att ladda ned indatafiler och program för användning under körningen och lagra deras resultat. I ditt Azure Batch-konto kan du skapa pooler med virtuella beräkningsnoder, som kör antingen Windows eller Linux, av det antal och den processor- och minnesstorlek som du anger, som Azure Batch-tjänsten hanterar och schemalägger åt dig. Ett Batch-konto kan innehålla många Batch-pooler.
När du har skapat en eller flera pooler skapar du enskilda jobb som fungerar som logiska containrar för alla aktiviteter som du schemalägger och kan dela gemensamma egenskaper. Återigen är det fullt möjligt att ha många jobb.
Slutligen skapar du uppgifter som beskriver hur arbetet faktiskt utförs. Du kan antingen använda uppgifter för att direkt anropa kommandoraden, eller så kan aktiviteterna köra program som du laddar upp till Azure Storage. Vi kommer att se alla huvudkomponenter i Azure Batch arbeta tillsammans i nästa övning.
Typiskt Azure Batch-arbetsflöde
Så hur ser ett typiskt Azure Batch-arbetsflöde ut? Som du ser i följande bild kräver ett typiskt verkligt Azure Batch-scenario data och programfiler. Batch-arbetsflödet börjar med att ladda upp dessa data och programfiler till ett Azure Storage-konto. Sedan skapar du en Batch-pool med så många virtuella Windows- eller Linux-beräkningsnoder som behövs. Du kan också autoskala dem i enlighet med detta om kraven på dina arbetsbelastningar varierar över tid.
Batch-tjänsten hanterar sedan att starta noderna och schemalägga uppgifter för körning på noderna. Innan aktiviteterna börjar köras kan de ladda ned alla data och programfiler från lagring som de behöver för bearbetning. När aktiviteterna körs går det att fråga efter nodernas status och förloppet för aktiviteterna. När noderna har slutfört sina uppgifter kan deras aktivitetsutdata undersökas eller skickas till Azure Storage.