Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Container Apps är en fullt hanterad serverlös containertjänst som kör mikrotjänster och containeriserade applikationer på Azure. Den har inbyggd autoskalning, inklusive skala till noll, och stödjer flera programmeringsspråk och ramverk. Container Apps integreras med Azure Kubernetes Service (AKS) för avancerad nätverkshantering och övervakning. Det ger också sömlös distribution och hantering av containeriserade applikationer utan att behöva hantera den underliggande infrastrukturen. Den stöder både HTTP-baserade och händelsedrivna applikationer, vilket gör den idealisk för att bygga moderna, skalbara och motståndskraftiga molnnativa applikationer.
Den här artikeln förutsätter att du som arkitekt har granskat beslutsanalys för beräkning och valt Container Apps som beräkningsplattform för din arbetsbelastning. Vägledningen i den här artikeln innehåller arkitektoniska rekommendationer som mappas till principerna för Well-Architected Framework-pelarna.
Teknikomfång
Den här granskningen fokuserar på de relaterade besluten för följande Azure-resurser:
- Container Apps
Reliability
Syftet med grundpelarna för tillförlitlighet är att tillhandahålla fortsatt funktionalitet genom att bygga upp tillräckligt med motståndskraft och möjlighet att snabbt återhämta sig från fel.
Principer för tillförlitlighetsdesign tillhandahålla en övergripande designstrategi som tillämpas för enskilda komponenter, systemflöden och systemet som helhet.
Checklista för arbetsbelastningsdesign
Påbörja din designstrategi baserat på checklistan för designgranskning för tillförlitlighet. Avgör dess relevans för dina affärskrav samtidigt som du har i åtanke prestanda och tillförlitlighet hos dina applikationer. Utöka strategin till att omfatta fler metoder efter behov.
Välj lämpade SKU-konfigurationer. Välj en miljö-SKU som överensstämmer med resurs- och prestandakraven för dina containerappar.
Bygg redundans för att förbättra resiliens. För appar exponerade via ingress (HTTP eller Transmission Control Protocol (TCP)), använd minst tre repliker för att säkerställa tillgänglighet. För att minimera kalla starter, konfigurera ett minimalt antal alltid-redo repliker.
Använd tillgänglighetszoner som en del av din motståndsstrategi för att öka tillgängligheten när du distribuerar till en enda region. Många Azure-regioner tillhandahåller tillgänglighetszoner. Zonerna är placerade tillräckligt nära för att säkerställa låg latensförbindelser mellan dem, men tillräckligt långt ifrån varandra för att minimera risken för att lokala avbrott påverkar flera zoner.
För kritiska arbetsbelastningar, distribuera Container Apps-miljöer över flera regioner och använd Azure Front Door eller Azure Traffic Manager för trafikhantering. Dessa tjänster hjälper till att säkerställa hög tillgänglighet och affärskontinuitet. Om ett regionalt avbrott inträffar kan du automatiskt omdirigera trafik till en sekundär region för att minimera driftstopp och dataförlust.
Implementera horisontell automatisk skalning. Konfigurera autoskalning genom att använda skalningsregler baserade på HTTP-förfrågningar, TCP-anslutningar eller anpassade mätvärden, såsom CPU- och minneströsklar. Du kan definiera anpassade mått i Azure Service Bus, Azure Event Hubs, Apache Kafka och Azure Cache for Redis. Använd autoskalning för att dynamiskt hantera belastningar och upprätthålla hög tillgänglighet under tider med hög användning.
Se till att dina containerprogram fortfarande kan hantera förfrågningar inom ditt tjänstenivåavtal (SLO) vid hög belastning.
Övervaka tillförlitlighet och övergripande hälsoindikatorer för containerappen. Samla in loggar och mätvärden för att övervaka systemets hälsa, identifiera prestanda- och tillförlitlighetstrender samt felsöka problem. Mer information om hur du utformar lösningen för tillförlitlighet och hälsoövervakning för din arbetsbelastning finns i Hälsomodellering för arbetsbelastningar.
Implementera övervakningsverktyg och aviseringar. Aktivera övervakningsverktyg, såsom Azure Monitor och OpenTelemetry. Ställ in varningar för att snabbt upptäcka och reagera på händelser som påverkar tillförlitligheten.
Konfigurera hälsosonder. Sätt upp start-, beredskaps- och livslängdssonder för alla tjänster för att övervaka och upprätthålla applikationens hälsa.
Konfigurera självläkande mekanismer för att automatiskt starta om ohälsosamma containerinstanser. Automatiska omstarter ökar tillförlitligheten och tillgängligheten för dina program. De hjälper till att säkerställa snabb återställning från fel utan manuella ingrepp. Använd hälsoavsökningar för att identifiera misslyckade containrar och konfigurera återhämtningsprinciper för att automatiskt hantera återförsök och kretsbrytare.
Konfigurationsrekommendationer
| Recommendation | Benefit |
|---|---|
| Aktivera stöd för tillgänglighetszoner för Container Apps för att automatiskt distribuera repliker över zonerna i en region. Trafiken är belastningsutjämnad mellan replikerna. | Om en zonstörning inträffar, blir trafiken automatiskt omdirigerad till replikerna i de återstående zonerna. |
| Definiera resurskvoter och -gränser. | Förhindra resurskonkurage för att säkerställa rättvis allokering och undvika prestandaförsämring. Använd övervakning över tid för att observera den faktiska resursanvändningen och justera kvoter och gränser i enlighet med detta. |
| Använd volymmonteringar för att lagra data utanför containern i tillståndskänsliga program. För ökad datarobusthet, använd Azure zonredundant lagring (ZRS) för att säkerställa hög tillgänglighet och hållbarhet för dina data. | Säkerställ datapersistens och integritet vid omstarter och fel på containrar. Använd ZRS för att skydda mot dataförlust vid zonfel, detta ger en robust lösning för kritiska tillståndsbaserade applikationer. |
| Implementera live-, beredskaps- och starthälsoavsökningar för dina containerappar. Liveness-sonder upptäcker och startar om containrar som är i ett felat tillstånd. Rekommenderade inställningar: failureThreshold: 3, periodSeconds: 10, timeoutSeconds: 5, successThreshold: 1, och initialDelaySeconds: 10Readiness-prober säkerställer att endast friska containrar tar emot trafik. Rekommenderade inställningar: failureThreshold: 60, periodSeconds: 1, timeoutSeconds: 1, successThreshold: 1, och initialDelaySeconds: 5Startprober förhindrar för tidiga omstarter genom att låta långsamt startande appar initieras korrekt. Rekommenderade inställningar: failureThreshold: 60, periodSeconds: 1, timeoutSeconds: 1, successThreshold: 1, och initialDelaySeconds: 0 |
Rätt sondkonfiguration hjälper till att säkerställa att dina containerappar körs smidigt och kan hantera trafik. Felaktiga konfigurationer av sonder kan leda till oavsiktliga omstarter eller driftstopp. |
| Använd de inbyggda funktionerna för containerappar, till exempel loggströmning, containerkonsol och Azure Monitor-mått och -aviseringar, för att säkerställa proaktiv övervakning och effektiv felsökning. | Container Apps erbjuder omfattande stöd för observabilitet, inklusive integration med .NET Aspire-instrumentpanelen och Java-metriker. Dessa verktyg möjliggör förbättrade insikter för viktiga ekosystem. Du kan också använda OpenTelemetry-samlaren för omfattande distribuerad spårning och insamling av mätvärden. Dessa funktioner förbättrar applikationens tillförlitlighet eftersom du snabbt kan identifiera och lösa problem. |
| Implementera principer för återhämtning av tjänstidentifiering, till exempel återförsök, tidsgränser och kretsbrytare, för att proaktivt förhindra, identifiera och återställa från fel i tjänstbegäran. | Förbättra tillförlitligheten hos dina containerappar genom att säkerställa smidigare och mer robust kommunikation mellan tjänster. |
| Implementera horisontell autoskalning med hjälp av skalningsregler som baseras på HTTP-begäranden, TCP-anslutningar eller anpassade mått, till exempel cpu- och minneströsklar. Du kan definiera anpassade mätvärden i Service Bus, Event Hubs, Apache Kafka och Azure Cache för Redis. | Arbetsbelastningen kan dynamiskt hantera belastningar och upprätthålla hög tillgänglighet under toppbelastningstider. |
Security
Syftet med säkerhetspelaren är att tillhandahålla garantier för konfidentialitet, integritet och tillgänglighet för arbetet.
De principerna för säkerhetsdesign ger en övergripande designstrategi för att uppnå dessa mål genom att tillämpa metoder på den tekniska utformningen av containerappar.
Checklista för arbetsbelastningsdesign
Påbörja din designstrategi baserad på checklistan för designgranskning för säkerhet och identifiera sårbarheter och kontroller för att förbättra säkerhetsläget. Utöka strategin till att omfatta fler metoder efter behov.
Granska säkerhetsbaslinjer. För att förbättra säkerhetsläget för din arbetsbelastning, granska säkerhetsbaslinjen för Container Apps.
Integrera med Microsoft Entra ID för identitets- och åtkomsthantering. Använd rollenbaserad åtkomstkontroll (RBAC) med Microsoft Entra ID för åtkomst med minsta möjliga privilegier.
Använd hanterade identiteter med Microsoft Entra ID för säker åtkomst till Azure-resurser utan autentiseringsuppgifter.
Genomför segmentering och nätverkskontroller. Distribuera privata containerappmiljöer och använd internt inmatningsläge för isolering från det offentliga internet.
Kontrollera utgående trafik. För att förhindra dataexfiltration, integrera din containerappmiljö i ett anpassat virtuellt nätverk som har användardefinierade rutter för att hjälpa till att säkra utgående trafik.
Upprätthålla en härdad arbetsbelastnings leveranskedja för programvara. Implemente containeranpassad skanning i dina säkra kontinuerliga integrations- och leveranspipelines (CI/CD). Den här funktionen identifierar sårbarheter och hjälper till att säkerställa integriteten för dina containeravbildningar. För mer information, se Containers Secure Supply Chain.
Minska attackytan. Förstärk containerbilder och ta bort oanvända komponenter. Använd slanka och minimala basbilder som Alpine och Chiselled Ubuntu-bilder.
Integrera med Microsoft Defender. Använd Microsoft Defender for Containers för att skanna bilder i Azure Container Registry.
Kryptera data i vila och data under överföring. Använd moderna industri-standardmetoder för att skydda konfidentialitet och integritet.
Använd Azure Key Vault. Lagra känsliga konfigurationsvärden och hemligheter i Key Vault för att skydda dem mot obehörig åtkomst.
Aktivera ömsesidig Transport Layer Security (mTLS). Använd mTLS för att autentisera och kryptera trafik mellan tjänster. Den här funktionen verifierar båda parter, vilket ökar säkerheten.
Framtvinga HTTPS. Konfigurera Envoy-proxy för att omdirigera all HTTP-trafik till HTTPS. Standardkonfigurationen för Envoy är
allowInsecure: false.Implementera en strategi för säkerhetsövervakning. Fånga detaljerade loggar för övervakning och revision. Skicka system- och konsolloggar till en Log Analytics-arbetsyta, Event Hubs eller en lösning som inte kommer från Microsoft i övervaknings- och granskningssyfte. Ta bort känslig data från loggar. Konsolloggar kommer från
stderrochstdoutströmmar i appen.
Konfigurationsrekommendationer
| Recommendation | Benefit |
|---|---|
| Använd hanterade identiteter för att komma åt Microsoft Entra ID-skyddade resurser. Tilldela en hanterad identitet till din containerapp för att få åtkomst till Microsoft Entra ID-skyddade Azure-resurser, såsom ett lagringskonto eller ett nyckelvalv, utan att behöva använda nycklar eller lösenord. | Centralisera identitetshantering och ta bort behovet av manuell hantering av autentiseringsuppgifter. Förenkla säker åtkomst till Azure-resurser. |
| Distribuera containerappar i ett privat nätverk för att integrera dem i ett befintligt virtuellt nätverk. Använd funktioner såsom privat applikationsanslutning, nätverkssäkerhetsgrupp (NSG)-anslutning och resurskommunikation via en privat IP-adress. | Tillhandahåll isolering från det offentliga internet och möjliggör säker kommunikation mellan containerappar och andra nätverksresurser. |
| Använd Key Vault för att hantera certifikat och apphemligheter med förbättrad säkerhet. Key Vault håller certifikat och andra applikationshemligheter åtskilda från din apps konfiguration. Den tillhandahåller också en åtkomstgranskningslogg som detaljerar när certifikat och hemligheter uppdateras, hämtas och roteras. | Hjälp till att skydda känslig information, säkerställ efterlevnad och stödja säker hantering av hemligheter genom att använda loggning och certifikatroteringsförmågor. |
| Använd Azure Application Gateway med Web Application Firewall aktiverad för att hjälpa till att skydda HTTP och HTTPS-trafik när du publicerar din containerapplikation via en omvänd proxy. Web Application Firewall skannar inkommande HTTP-trafik för potentiella Open Web Application Security Project (OWASP) attacker. | Förbättra säkerheten genom att skydda mot vanliga webbsårbarheter och tillhandahålla centraliserad trafikhantering. |
| Autentisera med Microsoft Entra-ID till Container Registry för att undvika användning av administrativa autentiseringsuppgifter. Du kan kontrollera åtkomst via RBAC. | Aktivera detaljerad åtkomstkontroll via RBAC för hantering av containerbilder, vilket hjälper till att säkerställa säker och autentisering utan referenser. |
| Använd NSG-regler för att hjälpa till att säkra trafiken som får åtkomst till din interna containerappslutpunkt. NSG-regler ger mer detaljerad kontroll över vilka virtuella nätverk som kan kommunicera med dina containerappar. | Förbättra nätverkssäkerheten genom att begränsa åtkomst till endast betrodda nätverk, vilket minimerar angreppsytor. |
| Kontrollera utgående trafik med hjälp av användardefinierade nätverksvägar. Styr hur dina containrar kommunicerar med resurser utanför containermiljön. Du kan dirigera trafik till Azure Firewall, Azure NAT Gateway eller en icke-Microsoft-applikation. | Säkerställ en kontrollerad och säker utgående trafikflöde som stöder avancerade rutt- och inspektionsprinciper. |
| Konfigurera loggningsalternativ för att skicka loggar till en Log Analytics-arbetsyta, händelsehubbar eller en lösning som inte är från Microsoft. | Stöd centraliserad övervakning, diagnostik och granskning samtidigt som du säkerställer efterlevnad av hanteringspolicies för känslig data. |
Kostnadsoptimering
Kostnadsoptimering fokuserar på identifiera utgiftsmönster, prioritera investeringar inom kritiska områden och optimera i andra för att uppfylla organisationens budget samtidigt som affärskraven uppfylls.
Kostnadsoptimeringens designprinciper erbjuder en övergripande designstrategi för att uppnå dessa mål och göra nödvändiga avvägningar i den tekniska designen relaterad till Container Apps och dess miljö.
Checklista för arbetsbelastningsdesign
Påbörja din designstrategi baserat på checklistan för designgranskning och kostnadsoptimering för investeringar. Finjustera designen så att arbetsbelastningen är i linje med den budget som allokeras för arbetsbelastningen. Din design bör använda rätt Azure-funktioner, övervaka investeringar och hitta möjligheter att optimera över tid.
Välj lämpliga prisplaner. Välj de mest kostnadseffektiva prissättningsplanerna för dina containerappar baserat på arbetsbelastningens krav och förväntade användningsmönster.
Dra nytta av Azure-sparplanen för beräkning genom att binda dig till en fast timtaxa för ett eller tre år. Använd en sparplan för att spara upp till 17% jämfört med priser baserat på användning. Optimera din budget och minska de totala kostnaderna för långsiktiga, förutsägbara arbetsbelastningar.
Optimera arbetsbelastningskomponentkostnader. Granska och justera regelbundet CPU- och minnesallokeringar för att motsvara behoven hos dina applikationer. Denna praxis förhindrar överkapacitering och minimerar kostnader.
Använd hanterade disknivåer. När du använder volymmonteringar, välj lämpliga nivåer och storlekar för hanterade diskar för att optimera lagringskostnader för beständig data. Betala endast för det du behöver.
Använd strömlinjeformade och optimerade containerbilder för att förbättra starttider och resurseffektivitet, vilket minskar lagrings- och nätverkskostnader.
Optimera skalningskostnader. Konfigurera skalningsprinciper för autoskalning för att automatiskt minska resurserna under perioder med låg efterfrågan och öka dem under högtrafikstider. Denna praxis säkerställer effektiv resursanvändning.
Optimera nätverkskostnader. Optimera nätverksvägar för att minimera dataöverföringskostnader, särskilt för applikationer med höga bandbreddsvolymer.
Använd verktyg för kostnadshantering. Använd Microsoft Cost Management-verktyg för att spåra och analysera utgifter, sätta budgetar, skapa kostnadsvarningar och genomföra konsekvent taggning över resurser.
Dessa verktyg ger detaljerad insyn i molnutgifter, hjälper till att identifiera kostnadsbesparingsmöjligheter, säkerställa att budgetbegränsningar följs och möjliggör detaljerad spårning och rapportering av kostnader som är kopplade till specifika arbetsbelastningar, program och miljöer.
Konfigurationsrekommendationer
| Recommendation | Benefit |
|---|---|
| Granska och justera regelbundet CPU, minnesallokeringar och andra mått så att de överensstämmer med de faktiska behoven i dina program. | Förhindra överutrustning och minska onödiga kostnader genom att säkerställa att resurser är anpassade för arbetsbelastningar. |
| Implementera regler för skalning till noll för appar som inte behöver köras kontinuerligt. | Eliminera kostnader under perioder av inaktivitet, vilket säkerställer att du bara betalar för resurser när du behöver dem. Denna metod minskar kostnaderna avsevärt för appar som har variabla eller sällan förekommande användningsmönster. |
| Välj de lämpliga hanterade disknivåerna för tillståndsbaserade applikationer. Baserat på dina behov av lagringsprestanda och kapacitet, överväg att använda reserverade diskar för förutsägbara arbetsbelastningar. | Säkerställ att du bara betalar för den nödvändiga lagringsprestandan, vilket förhindrar extra kostnader från överbeviljad lagringskapacitet. Reserverade diskar kan ge betydande kostnadsbesparingar för långsiktiga lagringskrav genom att erbjuda rabatter jämfört med prissättning enligt användning. |
Operativ skicklighet
Operational Excellence fokuserar främst på procedurer för utvecklingsmetoder, observerbarhet och versionshantering.
Designprinciperna för Operational Excellence tillhandahåller en övergripande designstrategi för att uppnå dessa mål när det gäller arbetsbelastningens driftskrav.
Checklista för arbetsbelastningsdesign
Börja din designstrategi baserat på designgranskningschecklistan för Operativ Excellens för att definiera processer för observerbarhet, testning och distribution relaterade till Container Apps.
Implementera ett tillvägagångssätt för införande av infrastruktur som kod (IaC). Implementera mallbaserade distributioner genom att använda verktyg som Bicep eller Terraform. Säkerställ att alla distributioner är repeterbara, spårbara och lagrade i ett källkodsförråd.
Automatisera distributioner av infrastruktur och arbetsbelastningar. Använd standardprogramvarulösningar för att hantera, integrera och automatisera distributionen av dina arbetsbelastningar.
Konfigurera distributionspipelines för att distribuera om miljön till en annan region om ett regionalt avbrott inträffar. Denna metod hjälper dig att snabbt återställa och återanvända kritiska data och konfigurationer i en annan region, vilket förbättrar katastrofåterställningsförmågan och minimerar stillestånd under regionala fel.
Bygg automatiserade processer för att ställa in dina miljöer med nödvändiga konfigurationer och leveranser genom att använda CI/CD-pipelines.
Inför en omfattande övervakningsstrategi. Konfigurera diagnostikinställningar för att fånga loggar, mätvärden och diagnostikdata. Använd verktyg som Azure Monitor och Application Insights för att spåra applikationens hälsa och prestanda, identifiera trender i prestanda och tillförlitlighet, samt felsöka problem.
Skicka ut telemetri för arbetsbelastningar. Utforma dina arbetsbelastningar för att skicka ut telemetridata, inklusive status för livlighet och beredskap, för att underlätta övervakning och felsökning.
Övervaka prestandamått. Kontinuerligt övervaka viktiga prestandamått som CPU-, minnes- och nätverksanvändning för att identifiera möjligheter för kostnadsoptimering och operativa effektiviseringar.
Implementera kaosteknik. Tillämpa kaosingenjörstekniker genom att använda verktyg såsom Azure Chaos Studio för att identifiera potentiella tillförlitlighetsproblem inom din Container Apps-miljö. Utför experiment för att säkerställa att dina applikationer kan motstå oväntade fel. Utför prestandatester med hjälp av verktyg som Azure Load Testing för att säkerställa att skalningsregler fungerar som förväntat utan störningar för klienterna.
Implementera konsekvent resursmärkning över alla containerappar och andra arbetsbelastningsresurser. Konsekvent märkning underlättar effektiv resursförvaltning, kostnadsspårning och automatisering.
Genomför arbetsbelastningsstyrning. Azure Policy hjälper till att säkerställa konsekvent efterlevnad av organisatoriska standarder, automatiserar policys genomförande, och ger centraliserad insyn och kontroll över dina arbetsresurser.
Konfigurationsrekommendationer
| Recommendation | Benefit |
|---|---|
| Lagra dina Container Apps-miljökonfigurationer som IaC och konfigurera distributionspipelines för att distribuera om miljön till en annan region om ett regionalt avbrott inträffar. | Se till att du snabbt kan återställa och distribuera kritiska data och konfigurationer i en annan region, vilket förbättrar katastrofåterställningsförmågan och minimerar stillestånd under regionala fel. |
| Använd revisioner för att implementera blågröna distributioner eller kanariedistributioner. Revideringar kräver att du taggar och versionerar containerbilder på lämpligt sätt. Du kan använda etiketter på revisioner för att underlätta delning, till exempel för användargodkännande-testning eller begränsade förhandsvisningar. |
Minimera driftstopp och minska riskerna under utgåvor genom att möjliggöra säkra utgåvor och snabba återställningar. |
| Konfigurera Azure Monitor och Application Insights. | Övervaka prestanda och hälsa för dina containerapplikationer och ge detaljerad insikt i applikationers prestanda och tillförlitlighet. Använd dessa insikter för att proaktivt upptäcka och lösa problem. |
Prestandaeffektivitet
Prestandaeffektivitet handlar om upprätthålla användarupplevelsen även när belastningen ökar genom att hantera kapaciteten. Strategin omfattar skalning av resurser, identifiering och optimering av potentiella flaskhalsar och optimering för högsta prestanda.
Designprinciperna för prestandaeffektivitet tillhandahåller en designstrategi på hög nivå för att uppnå dessa kapacitetsmål med hänsyn till den förväntade användningen.
Checklista för arbetsbelastningsdesign
Börja din designstrategi baserat på designgranskningschecklistan för Prestandaeffektivitet för att definiera en baslinje baserat på nyckelprestandaindikatorer för Container-appar.
Utveckla en detaljerad kapacitetsplan för att säkerställa att dina container-appar har tillräckliga resurser för att hantera olika belastningar samtidigt som överprovisionering undviks. En kapacitetsplan hjälper till att optimera kostnader och prestanda.
Uppdatera regelbundet din plan för att dokumentera rätt resursallokeringar, autoskalningsinställningar och failover-strategier för dina containerappar. Denna metod säkerställer att du snabbt kan återställa och återutplacera kritisk data och konfigurationer i en annan region, vilket förbättrar katastrofåterställningskapaciteter och minimerar driftstopp vid regionala avbrott.
Aktivera automatisk skalning. Konfigurera autoskalningsprinciper för att automatiskt justera antalet containerinstanser baserat på realtidsbehov, vilket säkerställer optimal prestanda både under högbelastning och lågtrafik.
Optimera resursallokering. Övervaka och justera kontinuerligt CPU- och minnesallokeringar baserat på prestandamätningar för att säkerställa effektiv resursanvändning och förhindra överallokering.
Utför belastningstester. Utför regelbundna belastningstest för att utvärdera prestanda och skalbarhet hos dina containerappar under olika förhållanden. Testning hjälper till att säkerställa att containerappar kan hantera förväntade trafiknivåer.
Separata arbetsbelastningar. Distribuera kritiska och känsliga arbetsbelastningar i separata Container Apps-miljöer för att undvika problem med bullriga grannar. Distribuera arbetsbelastningen över flera miljöer för att säkerställa att kritiska applikationer har dedikerade resurser. Denna metod säkerställer också att prestandakraven för mindre kritiska applikationer inte påverkar kritiska applikationer.
Konfigurationsrekommendationer
| Recommendation | Benefit |
|---|---|
| Konfigurera principer för automatisk skalning för att automatiskt justera antalet containerinstanser som svar på resursbehov. | Hjälp till att upprätthålla applikationens prestanda och kostnadseffektivitet. Se till att resurser finns tillgängliga när de behövs och bevaras när de inte behövs. Använd Azure-belastningstest för att utföra belastningstestexperiment och justera policies för autoskalning efter behov. |
| Använd arbetsbelastningsprofilernas dedikerade nivå för program som kräver förutsägbar prestanda och garanterad resursallokering. | Tillhandahåll dedikerade resurser för kritiska program, vilket säkerställer konsekventa prestanda och minskar risken för resurskonkurration. |
| Använd anpassade skalningsmått, till exempel mått baserade på programspecifika data, för att fatta beslut om automatisk skalning. | Säkerställ att skaleringsåtgärder bygger på relevanta arbetsbelastningskrav, vilket förbättrar effektiviteten och responsiviteten hos dina containerappar. |
Azure-riktlinjer
Azure tillhandahåller en omfattande uppsättning inbyggda policyer relaterade till Containerappar och dess beroenden. Några av föregående rekommendationer kan granskas via Azure Policy. Du kan till exempel kontrollera om:
Diagnostikinställningar bör aktiveras: Aktivera loggning efter kategorigrupp för Container Apps-miljöer (
microsoft.app/managedenvironments) för att skicka information till lagring. Denna inställning säkerställer att lagring konsekvent samlar in loggar och mätvärden för övervakning, felsökning och efterlevnad.Autentisering för Container Apps bör vara aktiverad: Aktivera autentisering för att förhindra anonyma HTTP-förfrågningar och autentisera förfrågningar via tokens innan de når en Container Apps-miljö.
Container Apps-miljöer bör använda nätverksinjektion: Konfigurera Container Apps-miljöer med virtuell nätverksinjektion för att isolera dem från det offentliga internet, möjliggöra nätverksintegration med resurser på plats eller andra Azure-virtuella nätverk och uppnå detaljerad kontroll över nätverkstrafiken.
Offentlig nätverksåtkomst bör inaktiveras: Inaktivera offentlig nätverksåtkomst för att förbättra säkerheten genom att exponera miljön för Container Apps via en intern lastbalanserare. Denna metod blockerar internetåtkomst för alla containerappar inom miljön.
Extern nätverksåtkomst bör inaktiveras: Genomför endast intern ingress för att säkerställa att inkommande kommunikation för containerappar är begränsad till anropare inom Container Apps-miljön.
HTTPS bör upprätthållas: Se till att containerappar endast är åtkomliga via HTTPS för att skydda data under överföring från avlyssningsattacker på nätverksnivå.
Hanterade identiteter ska aktiveras: Kräva hanterade identiteter för Container Apps-miljöer för att säkert autentisera till alla resurser som stöder Microsoft Entra ID-autentisering.
För omfattande styrning, granska Azure Policy built-in definitions for Container Apps och andra policies som kan påverka nätverkens säkerhet.
Azure Advisor-rekommendationer
Azure Advisor är en anpassad molnkonsult som hjälper dig att följa metodtipsen för att optimera dina Azure-distributioner.
Mer information finns i Azure Advisor.
Exempelarkitektur
Grundläggande arkitektur som demonstrerar de viktigaste rekommendationerna: Microservices with Azure Container Apps.