Designöverväganden för hybridapparHybrid app design considerations

Microsoft Azure är det enda konsekventa hybrid molnet.Microsoft Azure is the only consistent hybrid cloud. Det gör att du kan återanvända dina utvecklings investeringar och göra det möjligt för appar som kan sträcka sig över globala Azure, de suveräna Azure-molnen och Azure Stack, som är en förlängning av Azure i ditt data Center.It allows you to reuse your development investments and enables apps that can span global Azure, the sovereign Azure clouds, and Azure Stack, which is an extension of Azure in your datacenter. Appar som sträcker sig över moln kallas även hybrid appar.Apps that span clouds are also referred to as hybrid apps.

I guiden Azure Application arkitektur beskrivs en strukturerad metod för att utforma appar som är skalbara, elastiska och hög tillgängliga.The Azure Application Architecture Guide describes a structured approach for designing apps that are scalable, resilient, and highly available. De överväganden som beskrivs i Azure Application arkitektur guiden gäller även för appar som är utformade för ett enda moln och för appar som omfattar moln.The considerations described in the Azure Application Architecture Guide equally apply to apps that are designed for a single cloud and for apps that span clouds.

Den här artikeln innehåller en utökning av de pelare för program varu kvaliteten som diskuteras i Azure Application arkitektur guide, som fokuserar på att utforma hybrid appar.This article augments the Pillars of software quality discussed in the Azure Application Architecture Guide, focusing specifically on designing hybrid apps. Dessutom lägger vi till en placerings pelare eftersom hybrid appar inte är exklusiva till ett moln eller ett lokalt Data Center.In addition, we add a placement pillar as hybrid apps aren't exclusive to one cloud or one on-premises datacenter.

Hybrid scenarier varierar kraftigt med de resurser som är tillgängliga för utveckling och omfattar bland annat geografi, säkerhet, Internet åtkomst och andra överväganden.Hybrid scenarios vary greatly with the resources that are available for development, and span considerations such as geography, security, internet access, and other considerations. Även om den här hand boken inte kan räkna upp dina speciella överväganden kan du ange några viktiga rikt linjer och metod tips som du kan följa.Although this guide can't enumerate your specific considerations, it can provide some key guidelines and best practices for you to follow. Att designa, konfigurera, distribuera och underhålla en hybrid program arkitektur omfattar många design överväganden som kanske inte är kända för dig.Successfully designing, configuring, deploying, and maintaining a hybrid app architecture involves many design considerations that might not be inherently known to you.

Det här dokumentet syftar till att samla in möjliga frågor som kan uppstå när du implementerar hybrid program och tillhandahåller överväganden (dessa pelare) och bästa metoder för att arbeta med dem.This document aims to aggregate the possible questions that might arise when implementing hybrid apps and provides considerations (these pillars) and best practices to work with them. Genom att åtgärda dessa frågor under Design fasen kan du undvika de problem som kan uppstå i produktionen.By addressing these questions during the design phase, you'll avoid the issues they could cause in production.

De är i stort sett frågor som du behöver tänka på innan du skapar en hybrid app.Essentially, these are questions you need to think about before creating a hybrid app. För att komma igång måste du göra följande:To get started, you need to do the following things:

  • Identifiera och utvärdera app-komponenterna.Identify and evaluate the app components.
  • Utvärdera program komponenter mot pelaren.Evaluate app components against the pillars.

Utvärdera app-komponenternaEvaluate the app components

Varje komponent i en app har sin egen specifika roll i den större appen och bör granskas med alla design överväganden.Each component of an app has its own specific role within the larger app and should be reviewed with all design considerations. Varje komponents krav och funktioner bör mappas till dessa överväganden som hjälper dig att fastställa appens arkitektur.Each component's requirements and features should map to these considerations to help determine the app architecture.

Skapa din app i dess komponenter genom att studera appens arkitektur och fastställa vad den består av.Decompose your app into its components by studying your app's architecture and determining what it consists of. Komponenter kan också innehålla andra appar som din app interagerar med.Components can also include other apps that your app interacts with. När du identifierar komponenterna kan du utvärdera dina avsedda hybrid åtgärder enligt deras egenskaper genom att ställa följande frågor:As you identify the components, evaluate your intended hybrid operations according to their characteristics by asking these questions:

  • Vad är syftet med komponenten?What is the purpose of the component?
  • Vilka är sambanden mellan komponenterna?What are the interdependencies between the components?

En app kan till exempel ha en klient del och en server del definierad som två komponenter.For example, an app can have a front end and back end defined as two components. I ett hybrid scenario finns klient delen i ett moln och Server delen är i det andra.In a hybrid scenario, the front end is in one cloud and the back end is in the other. Appen tillhandahåller kommunikations kanaler mellan klient delen och användaren, och även mellan klient delen och Server delen.The app provides communication channels between the front end and the user, and also between the front end and the back end.

En app-komponent definieras av många formulär och scenarier.An app component is defined by many forms and scenarios. Den viktigaste uppgiften identifierar dem och deras moln eller lokala plats.The most important task is identifying them and their cloud or on-premises location.

De vanliga app-komponenter som ska tas med i inventeringen visas i tabell 1.The common app components to include in your inventory are listed in Table 1.

Tabell 1.Table 1. Vanliga app-komponenterCommon app components

KomponentComponent Vägledning för hybrid programHybrid app guidance
KlientanslutningarClient connections Din app (på valfri enhet) kan komma åt användare på olika sätt, från en enda start punkt, inklusive följande sätt:Your app (on any device) can access users in various ways, from a single-entry point, including the following ways:
-En klient-server-modell som kräver att användaren har en-klient installerad för att fungera med appen.- A client-server model that requires the user to have a client installed to work with the app. En serverbaserad app som nås från en webbläsare.A server-based app that's accessed from a browser.
– Klient anslutningar kan innehålla meddelanden när anslutningen är bruten eller aviseringar när nätverks växlings avgifter kan tillkomma.- Client connections can include notifications when the connection is broken or alerts when roaming charges may apply.
AutentiseringAuthentication Autentisering kan krävas för en användare som ansluter till appen, eller från en komponent som ansluter till en annan.Authentication can be required for a user connecting to the app, or from one component connecting to another.
API:erAPIs Du kan ge utvecklare program mässig åtkomst till din app med API-uppsättningar och klass bibliotek och tillhandahålla ett anslutnings gränssnitt baserat på Internet standarder.You can provide developers with programmatic access to your app with API sets and class libraries and provide a connection interface based on internet standards. Du kan också använda API: er för att dela upp en app i oberoende operativ logiska enheter.You can also use APIs to decompose an app into independently operating logical units.
TjänsterServices Du kan använda kortfattad-tjänster för att tillhandahålla funktioner för en app.You can employ succinct services to provide the features for an app. En tjänst kan vara den motor som appen körs på.A service can be the engine that the app runs on.
KöerQueues Du kan använda köer för att organisera status för livs cykel och tillstånd för appens komponenter.You can use queues to organize the status of the life cycles and states of your app's components. Dessa köer kan tillhandahålla funktioner för meddelande hantering, meddelanden och buffring för att prenumerera på parter.These queues can provide messaging, notifications, and buffering capabilities to subscribing parties.
DatalagringData storage En app kan vara tillstånds lös eller tillstånds känslig.An app can be stateless or stateful. Tillstånds känsliga appar behöver data lagring som kan uppfyllas av många olika format och volymer.Stateful apps need data storage that can be met by numerous formats and volumes.
Cachelagring av dataData caching En komponent för cachelagring av data i din design kan hantera svars tids fördröjningar och spela upp en roll när de utlöser molnet.A data caching component in your design can strategically address latency issues and play a role in triggering cloud bursting.
DatainhämtningData ingestion Data kan skickas till en app på många sätt, från användare som har skickat in ett webb formulär till kontinuerligt hög volym data flöde.Data can be submitted to an app in many ways, ranging from user-submitted values in a web form to continuously high-volume data flow.
DatabearbetningData processing Dina data bearbetnings uppgifter (till exempel rapporter, analyser, batch-exporter och data omvandling) kan antingen bearbetas vid källan eller avlastas på en separat komponent med hjälp av en kopia av data.Your data processing tasks (such as reports, analytics, batch exports, and data transformation) can either be processed at the source or offloaded on a separate component using a copy of the data.

Utvärdera app-komponenter för pelareAssess app components for pillars

Utvärdera egenskaperna för varje pelare för varje komponent.For each component, evaluate its characteristics for each pillar. När du utvärderar varje komponent med alla pelare visas frågor som du kanske inte har övervägt som kan bli kända för dig som påverkar hybrid appens design.As you evaluate each component with all of the pillars, questions you might not have considered may become known to you that affect the design of the hybrid app. Att tänka på detta kan leda till värde när du optimerar din app.Acting on these considerations could add value in optimizing your app. Tabell 2 innehåller en beskrivning av varje pelare som relaterar till hybrid program.Table 2 provides a description of each pillar as it relates to hybrid apps.

Tabell 2.Table 2. PelarePillars

GrundpelarePillar BeskrivningDescription
PlaceringPlacement Den strategiska placeringen av komponenter i hybrid program.The strategic positioning of components in hybrid apps.
SkalbarhetScalability Systemets förmåga att hantera ökad belastning.The ability of a system to handle increased load.
TillgänglighetAvailability Den andel av tiden som en hybrid app fungerar.The proportion of time that a hybrid app is functional and working.
ÅterhämtningResiliency Möjligheten för en hybrid app att återställa.The ability for a hybrid app to recover.
HanterbarhetManageability Driftsprocesser som håller ett system igång och i produktion.Operations processes that keep a system running in production.
SäkerhetSecurity Skydda hybrid program och data från hot.Protecting hybrid apps and data from threats.

PlaceringPlacement

En hybrid app har en placering som är till för data centret.A hybrid app inherently has a placement consideration, like for the datacenter.

Placering är den viktigaste uppgiften att placera komponenter så att de bäst kan betjäna en hybrid app.Placement is the important task of positioning components so that they can best service a hybrid app. Efter definition, omfattar hybrid appar platser, till exempel från lokala platser till molnet och mellan olika moln.By definition, hybrid apps span locations, like from on-premises to the cloud and among different clouds. Du kan placera komponenter i appen på moln på två sätt:You can place components of the app on clouds in two ways:

  • Vertikala hybrid apparVertical hybrid apps
    App-komponenter distribueras på olika platser.App components are distributed across locations. Varje enskild komponent kan bara ha flera instanser på en enda plats.Each individual component can have multiple instances located only in a single location.

  • Horisontella hybrid apparHorizontal hybrid apps
    App-komponenter distribueras på olika platser.App components are distributed across locations. Varje enskild komponent kan ha flera instanser som sträcker sig över flera platser.Each individual component can have multiple instances spanning multiple locations.

    Vissa komponenter kan vara medvetna om deras plats medan andra inte har någon kunskap om deras plats och placering.Some components can be aware of their location while others don't have any knowledge of their location and placement. Den här virtuousness kan uppnås med ett abstraktions lager.This virtuousness can be achieved with an abstraction layer. Det här lagret, med ett moderna program ramverk som mikrotjänster, kan definiera hur appen ska servas genom placeringen av app-komponenter som körs på noder i molnet.This layer, with a modern app framework like microservices, can define how the app is serviced by the placement of app components operating on nodes across clouds.

Placerings check listaPlacement checklist

Verifiera nödvändiga platser.Verify required locations. Kontrol lera att appen eller någon av dess komponenter krävs för att kunna användas i, eller Kräv certifiering för, ett särskilt moln.Make sure the app or any of its components are required to operate in, or require certification for, a specific cloud. Detta kan innefatta suveränitets krav från företaget eller dikteras enligt lag.This can include sovereignty requirements from your company or dictated by law. Ta också reda på om det krävs några lokala åtgärder för en viss plats eller nationella inställningar.Also, determine if any on-premises operations are required for a particular location or locale.

Fastställa anslutnings beroenden.Ascertain connectivity dependencies. Obligatoriska platser och andra faktorer kan diktera anslutnings beroenden mellan dina komponenter.Required locations and other factors can dictate the connectivity dependencies among your components. När du placerar komponenterna bestämmer du optimal anslutning och säkerhet för kommunikation mellan dem.As you place the components, determine the optimal connectivity and security for communication among them. Alternativen är VPN, ExpressRoute och hybridanslutningar.Choices include VPN, ExpressRoute, and Hybrid Connections.

Utvärdera plattforms funktioner.Evaluate platform capabilities. För varje app-komponent, se om den obligatoriska resurs leverantören för app-komponenten är tillgänglig i molnet och om bandbredden kan hantera det förväntade data flödet och latens krav.For each app component, see if the required resource provider for the app component is available on the cloud and if the bandwidth can accommodate the expected throughput and latency requirements.

Planera för portabilitet.Plan for portability. Använd moderna app-ramverk, t. ex. behållare eller mikrotjänster, för att planera för flytt av åtgärder och för att förhindra tjänst beroenden.Use modern app frameworks, like containers or microservices, to plan for moving operations and to prevent service dependencies.

Fastställ krav för data suveränitet.Determine data sovereignty requirements. Hybrid appar är avsedd för att kunna isolera data isolering, till exempel på ett lokalt Data Center.Hybrid apps are geared for accommodating data isolation, such as on a local datacenter. Granska placeringen av dina resurser för att optimera framgången för det här kravet.Review the placement of your resources to optimize the success for accommodating this requirement.

Planera för svars tid.Plan for latency. Mellan moln åtgärder kan introducera fysiskt avstånd mellan app-komponenterna.Inter-cloud operations can introduce physical distance between the app components. Ta reda på kraven för att tillgodose eventuella svars tider.Ascertain the requirements to accommodate any latency.

Styr trafik flöden.Control traffic flows. Hantera högsta användning och lämplig och säker kommunikation för personliga identifierbara informations data när de används av klient delen i ett offentligt moln.Handle peak usage and the appropriate and secured communications for personal identifiable information data when accessed by the front end in a public cloud.

SkalbarhetScalability

Skalbarhet är möjligheten för ett system att hantera ökad belastning på en app, vilket kan variera över tid som andra faktorer och tvingar till att påverka mål gruppens storlek, förutom appens storlek och omfattning.Scalability is the ability of a system to handle increased load on an app, which can vary over time as other factors and forces affect the audience size, in addition to the size and scope of the app.

För kärn diskussionen om denna pelare, se skalbarhet i de fem grundarna av arkitektur expert.For the core discussion of this pillar, see Scalability in the five pillars of architecture excellence.

Med en horisontell skalnings metod för Hybrid appar kan du lägga till fler instanser för att möta efter frågan och sedan inaktivera dem under tysta perioder.A horizontal scaling approach for hybrid apps allows for adding more instances to meet demand and then disabling them during quieter periods.

I hybrid scenarier kräver skalning av enskilda komponenter ytterligare överväganden när komponenterna sprids över moln.In hybrid scenarios, scaling out individual components requires additional consideration when components are spread across clouds. Skalning av en del av appen kan kräva skalning av en annan.Scaling one part of the app can require the scaling of another. Om antalet klient anslutningar exempelvis ökar, men appens webb tjänster inte skalas ut korrekt, kan belastningen på databasen fylla appen.For example, if the number of client connections increases but the app's web services aren't scaled out appropriately, the load on the database might saturate the app.

Vissa app-komponenter kan skalas linjärt, medan andra har skalnings beroenden och kan begränsas till den omfattning som de kan skala.Some app components can scale out linearly, while others have scaling dependencies and might be limited to what extent they're able to scale. Till exempel har en VPN-tunnel som tillhandahåller hybrid anslutning för platserna för program komponenter en gräns för bandbredden och fördröjningen som kan skalas till.For example, a VPN tunnel providing hybrid connectivity for the app components locations has a limit to the bandwidth and latency it can be scaled to. Hur är komponenter i appen skalade för att säkerställa att dessa krav uppfylls?How are components of the app scaled to ensure these requirements are met?

Checklista för skalbarhetScalability checklist

Fastställa tröskelvärden för skalning.Ascertain scaling thresholds. Om du vill hantera olika beroenden i din app bestämmer du i vilken utsträckning program komponenter i olika moln kan skalas oberoende av varandra, samtidigt som de fortfarande uppfyller kraven för att köra appen.To handle the various dependencies in your app, determine the extent to which app components in different clouds can scale independently of each other, while still meeting the requirements to run the app. Hybrid appar behöver ofta skala vissa områden i appen för att hantera en funktion när den interagerar och påverkar resten av appen.Hybrid apps often need to scale particular areas in the app to handle a feature as it interacts and affects the rest of the app. Om du till exempel överskrider ett antal klient dels instanser kan det krävas skalning av Server delen.For example, exceeding a number of front-end instances may require scaling the back end.

Definiera skalnings scheman.Define scale schedules. De flesta appar har upptagna perioder, så du måste sätta samman de högsta tiderna i scheman för att samordna optimal skalning.Most apps have busy periods, so you need to aggregate their peak times into schedules to coordinate optimal scaling.

Använd ett centraliserat övervaknings system.Use a centralized monitoring system. Plattforms övervaknings funktioner kan tillhandahålla automatisk skalning, men hybrid appar behöver ett centraliserat övervaknings system som aggregerar system hälsan och belastningen.Platform monitoring capabilities can provide autoscaling, but hybrid apps need a centralized monitoring system that aggregates system health and load. Ett centraliserat övervaknings system kan initiera skalning av en resurs på en plats och skala beroende på resurs på en annan plats.A centralized monitoring system can initiate scaling a resource in one location and scaling depending on resource in another location. Dessutom kan ett centralt övervaknings system spåra vilka moln som autoskalar resurser och vilka moln som inte är det.Additionally, a central monitoring system can track which clouds autoscale resources and which clouds don't.

Utnyttja funktioner för automatisk skalning (som tillgängliga).Leverage autoscaling capabilities (as available). Om funktionerna för automatisk skalning är en del av arkitekturen implementerar du autoskalning genom att ange tröskelvärden som definierar när en app-komponent behöver skalas upp, ut, ned eller in.If autoscaling capabilities are part of your architecture, you implement autoscaling by setting thresholds that define when an app component needs to be scaled up, out, down, or in. Ett exempel på automatisk skalning är en klient anslutning som är autoskalad i ett moln för att hantera ökad kapacitet, men som gör att andra beroenden i appen sprids över olika moln, så att de också skalas.An example of autoscaling is a client connection that's autoscaled in one cloud to handle increased capacity, but causes other dependencies of the app, spread across different clouds, to also be scaled. Funktionerna för automatisk skalning av dessa beroende komponenter måste vara specifika.The autoscaling capabilities of these dependent components must be ascertained.

Om autoskalning inte är tillgängligt kan du överväga att implementera skript och andra resurser för att hantera manuell skalning, som utlöses av tröskelvärden i det centraliserade övervaknings systemet.If autoscaling isn't available, consider implementing scripts and other resources to accommodate manual scaling, triggered by thresholds in the centralized monitoring system.

Bestäm förväntad belastning efter plats.Determine expected load by location. Hybrid appar som hanterar klient begär Anden kanske huvudsakligen förlitar sig på en enda plats.Hybrid apps that handle client requests might primarily rely on a single location. När belastningen på klient begär Anden överskrider ett tröskelvärde kan ytterligare resurser läggas till på en annan plats för att distribuera belastningen på inkommande begär Anden.When the load of client requests exceeds a threshold, additional resources can be added in a different location to distribute the load of inbound requests. Se till att klient anslutningarna kan hantera de ökade belastningarna och även fastställa eventuella automatiserade procedurer för klient anslutningarna för att hantera belastningen.Make sure that the client connections can handle the increased loads and also determine any automated procedures for the client connections to handle the load.

TillgänglighetAvailability

Tillgänglighet är den tid som ett system fungerar och fungerar.Availability is the time that a system is functional and working. Tillgänglighet mäts i procent av drift tiden.Availability is measured as a percentage of uptime. App-fel, infrastruktur problem och system belastning kan minska tillgängligheten.App errors, infrastructure problems, and system load can all reduce availability.

För kärn diskussionen om denna pelare, se tillgänglighet i de fem grundarna i arkitektur expert.For the core discussion of this pillar, see Availability in the five pillars of architecture excellence.

Checklista för tillgänglighetAvailability checklist

Tillhandahålla redundans för anslutning.Provide redundancy for connectivity. Hybrid appar kräver anslutning mellan de moln som appen sprider sig över.Hybrid apps require connectivity among the clouds that the app is spread across. Du har möjlighet att välja tekniker för Hybrid anslutning, så förutom ditt primära teknik alternativ bör du använda en annan teknik för att tillhandahålla redundans med funktioner för automatisk redundans om den primära tekniken inte fungerar.You have a choice of technologies for hybrid connectivity, so in addition to your primary technology choice, use another technology to provide redundancy with automated failover capabilities should the primary technology fail.

Klassificera fel domäner.Classify fault domains. Feltoleranta appar kräver flera fel domäner.Fault-tolerant apps require multiple fault domains. Fel domäner hjälper till att isolera fel punkten, t. ex. om en enskild hård disk kraschar lokalt, om en top-of-rack-växel slutar fungera, eller om det fullständiga data centret inte är tillgängligt.Fault domains help isolate the point of failure, such as if a single hard disk fails on premises, if a top-of-rack switch goes down, or if the full datacenter is unavailable. I en hybrid app kan en plats klassificeras som en fel domän.In a hybrid app, a location can be classified as a fault domain. Med fler tillgänglighets krav, desto mer behöver du utvärdera hur en enskild feldomän ska klassificeras.With more availability requirements, the more you need to evaluate how a single fault domain should be classified.

Klassificera uppgraderings domäner.Classify upgrade domains. Uppgraderings domäner används för att säkerställa att instanser av app-komponenter är tillgängliga, medan andra instanser av samma komponent betjänas med uppdateringar eller funktions uppgraderingar.Upgrade domains are used to ensure that instances of app components are available, while other instances of the same component are being serviced with updates or feature upgrades. Som med fel domäner kan uppgraderings domäner klassificeras efter deras placering på olika platser.As with fault domains, upgrade domains can be classified by their placement across locations. Du måste bestämma om en app-komponent ska kunna uppgraderas på en plats innan den uppgraderas på en annan plats, eller om andra domänautentiseringsuppgifter krävs.You must determine if an app component can accommodate getting upgraded in one location before it's upgraded in another location, or if other domain configurations are required. En enskild plats kan ha flera uppgraderings domäner.A single location itself can have multiple upgrade domains.

Spåra instanser och tillgänglighet.Track instances and availability. Program komponenter med hög tillgänglighet kan vara tillgängliga via belastnings utjämning och synkron datareplikering.Highly available app components can be available through load balancing and synchronous data replication. Du måste bestämma hur många instanser som kan vara offline innan tjänsten avbryts.You must determine how many instances can be offline before the service is interrupted.

Implementera själv återställning.Implement self-healing. I händelse av ett problem som orsakar ett avbrott i appens tillgänglighet kan en identifiering av ett övervaknings system initiera Självåterställande aktiviteter till appen, till exempel tömma den felande instansen och distribuera den igen.In the event an issue causes an interruption to the app availability, a detection by a monitoring system could initiate self-healing activities to the app, such as draining the failed instance and redeploying it. Förmodligen kräver detta en central övervaknings lösning som är integrerad med en hybrid kontinuerlig integrering och en pipeline för kontinuerlig leverans (CI/CD).Most likely this requires a central monitoring solution, integrated with a hybrid Continuous Integration, and Continuous Delivery (CI/CD) pipeline. Appen är integrerad med ett övervaknings system för att identifiera problem som kan kräva omdistribution av en app-komponent.The app is integrated with a monitoring system to identify issues that could require redeployment of an app component. Övervaknings systemet kan även utlösa hybrid CI/CD för att omdistribuera app-komponenten och eventuellt andra beroende komponenter på samma eller andra platser.The monitoring system can also trigger hybrid CI/CD to redeploy the app component and potentially any other dependent components in the same or other locations.

Underhåll service nivå avtal (service avtal).Maintain service-level agreements (SLAs). Tillgänglighet är viktigt för alla avtal för att upprätthålla anslutningarna till de tjänster och appar som du har med kunderna.Availability is critical for any agreements to maintain connectivity to the services and apps that you have with your customers. Varje plats som din hybrid app är beroende av kan ha ett eget service avtal.Each location that your hybrid app relies on might have its own SLA. Dessa olika service avtal kan påverka det övergripande service avtalet för din hybrid app.These different SLAs can affect the overall SLA of your hybrid app.

ÅterhämtningResiliency

Återhämtning är möjligheten för en hybrid app och ett system att återställa efter fel och fortsätta att fungera.Resiliency is the ability for a hybrid app and system to recover from failures and continue to function. Målet med återhämtning är att returnera appen till ett fullständigt fungerande tillstånd när ett fel har inträffat.The goal of resiliency is to return the app to a fully functioning state after a failure occurs. Återhämtnings strategier omfattar lösningar som säkerhets kopiering, replikering och haveri beredskap.Resiliency strategies include solutions like backup, replication, and disaster recovery.

För kärn diskussionen om den här pelaren, se återhämtning i de fem grundarna av arkitektur expert.For the core discussion of this pillar, see Resiliency in the five pillars of architecture excellence.

Checklista för elasticitetResiliency checklist

Återställ katastrofer för haveri beredskap.Uncover disaster-recovery dependencies. Haveri beredskap i ett moln kan kräva ändringar i app-komponenter i ett annat moln.Disaster recovery in one cloud might require changes to app components in another cloud. Om en eller flera komponenter från ett moln har redundansväxlats till en annan plats, antingen inom samma moln eller till ett annat moln, måste de beroende komponenterna vara medvetna om dessa ändringar.If one or multiple components from one cloud are failed-over to another location, either within the same cloud or to another cloud, the dependent components need to be made aware of these changes. Detta inkluderar även anslutnings beroenden.This also includes the connectivity dependencies. Återhämtning kräver en fullständigt testad program återställnings plan för varje moln.Resiliency requires a fully tested app recovery plan for each cloud.

Etablera återställnings flöde.Establish recovery flow. En effektiv design av återställnings flödet har utvärderat app-komponenter för att kunna hantera buffertar, nya försök, försöka överföra misslyckad data överföring igen och, om det behövs, återgå till en annan tjänst eller ett annat arbets flöde.An effective recovery flow design has evaluated app components for their ability to accommodate buffers, retries, retrying failed data transfer, and, if necessary, fall back to a different service or workflow. Du måste bestämma vilken mekanism för säkerhets kopiering som ska användas, vad dess återställnings procedur omfattar och hur ofta den testas.You must determine what back-up mechanism to use, what its restore procedure involves, and how often it's tested. Du bör också fastställa frekvensen för både stegvisa och fullständiga säkerhets kopieringar.You should also determine the frequency for both incremental and full backups.

Testa delvis återställningar.Test partial recoveries. En delvis återställning för en del av appen kan ge åter betalning till användare som inte är tillgängliga.A partial recovery for part of the app can provide reassurance to users that all isn't unavailable. Den här delen av planen bör se till att en partiell återställning inte har några sido effekter, till exempel en säkerhets kopierings-och återställnings tjänst som interagerar med appen, så att den stängs av korrekt innan säkerhets kopieringen görs.This part of the plan should ensure that a partial restore doesn't have any side effects, such as a backup and restore service that interacts with the app to gracefully shut it down before the backup is made.

Bestäm haveri beredskap för instigators och tilldela ansvar.Determine disaster-recovery instigators and assign responsibility. En återställnings plan bör beskriva vem och vilka roller som kan initiera säkerhets kopierings-och återställnings åtgärder utöver vad som kan säkerhets kopie ras och återställas.A recovery plan should describe who, and what roles, can initiate backup and recovery actions in addition to what can be backed up and restored.

Jämför tröskelvärden för automatisk återställning med haveri beredskap.Compare self-healing thresholds with disaster recovery. Fastställ en Apps själv återställnings funktion för automatisk återställnings initiering och den tid som krävs för att en Apps själv återställning ska anses vara en misslyckad eller lyckad.Determine an app's self-healing capabilities for automatic recovery initiation and the time required for an app's self- healing to be considered a failure or success. Avgör tröskelvärdena för varje moln.Determine the thresholds for each cloud.

Verifiera tillgänglighet för återhämtnings funktioner.Verify availability of resiliency features. Fastställ tillgänglighet för återhämtnings funktioner och-funktioner för varje plats.Determine the availability of resiliency features and capabilities for each location. Om en plats inte tillhandahåller de funktioner som krävs bör du överväga att integrera platsen i en centraliserad tjänst som tillhandahåller återhämtnings funktionerna.If a location doesn't provide the required capabilities, consider integrating that location into a centralized service that provides the resiliency features.

Fastställ stillestånds tid.Determine downtimes. Fastställ förväntad stillestånds tid på grund av underhåll av appen som helhet och som app-komponenter.Determine the expected downtime due to maintenance for the app as a whole and as app components.

Dokumentera fel söknings procedurer.Document troubleshooting procedures. Definiera fel söknings procedurer för omdistribution av resurser och app-komponenter.Define troubleshooting procedures for redeploying resources and app components.

HanterbarhetManageability

Överväganden för hur du hanterar dina hybrid appar är viktiga för att designa din arkitektur.The considerations for how you manage your hybrid apps are critical in designing your architecture. En väl hanterad hybrid app tillhandahåller en infrastruktur som kod som möjliggör integrering av konsekvent app-kod i en gemensam utvecklings pipeline.A well-managed hybrid app provides an infrastructure as code that enables the integration of consistent app code in a common development pipeline. Genom att implementera konsekventa systemomfattande och enskilda tester av ändringar i infrastrukturen, kan du säkerställa en integrerad distribution om ändringarna klarar testerna, så att de kan slås samman till käll koden.By implementing consistent system-wide and individual testing of changes to the infrastructure, you can ensure an integrated deployment if the changes pass the tests, allowing them to be merged into the source code.

För kärn diskussionen om denna pelare, se DevOps i de fem grundarna i arkitektur expert.For the core discussion of this pillar, see DevOps in the five pillars of architecture excellence.

Check lista för hanteringManageability checklist

Implementera övervakning.Implement monitoring. Använd ett centraliserat övervaknings system av app-komponenter som sprids över moln för att tillhandahålla en sammanställd vy över deras hälsa och prestanda.Use a centralized monitoring system of app components spread across clouds to provide an aggregated view of their health and performance. Det här systemet omfattar övervakning av både app-komponenter och relaterade plattforms funktioner.This system includes monitoring both the app components and related platform capabilities.

Bestäm vilka delar av appen som kräver övervakning.Determine the parts of the app that require monitoring.

Koordinera principer.Coordinate policies. Varje plats som en hybrid app omfattar kan ha en egen princip som täcker tillåtna resurs typer, namngivnings konventioner, taggar och andra kriterier.Each location that a hybrid app spans can have its own policy that covers allowed resource types, naming conventions, tags, and other criteria.

Definiera och använda roller.Define and use roles. Som databas administratör måste du bestämma vilka behörigheter som krävs för olika personer (t. ex. en app-ägare, en databas administratör och en slutanvändare) som behöver åtkomst till program resurser.As a database admin, you need to determine the permissions required for different personas (like an app owner, a database admin, and an end user) that need to access app resources. Dessa behörigheter måste konfigureras på resurserna och i appen.These permissions need to be configured on the resources and inside the app. Med ett system med rollbaserad åtkomst kontroll (RBAC) kan du ange dessa behörigheter för app-resurserna.A role-based access control (RBAC) system allows you to set these permissions on the app resources. Dessa behörigheter är utmanande när alla resurser distribueras i ett enda moln, men kräver ännu mer uppmärksamhet när resurserna sprids över moln.These access rights are challenging when all resources are deployed in a single cloud but require even more attention when the resources are spread across clouds. Behörigheter för resurser som anges i ett moln gäller inte för resurser som angetts i ett annat moln.Permissions on resources set in one cloud don't apply to resources set in another cloud.

Använd CI/CD-pipeliner.Use CI/CD pipelines. En pipeline för kontinuerlig integrering och kontinuerlig utveckling (CI/CD) kan ge en konsekvent process för att skapa och distribuera appar som sträcker sig över flera moln, och för att ge kvalitets säkring för sin infrastruktur och app.A Continuous Integration and Continuous Development (CI/CD) pipeline can provide a consistent process for authoring and deploying apps that span across clouds, and to provide quality assurance for their infrastructure and app. Den här pipelinen gör att infrastrukturen och appen kan testas i ett moln och distribueras i ett annat moln.This pipeline enables the infrastructure and app to be tested on one cloud and deployed on another cloud. Pipelinen gör att du kan distribuera vissa komponenter i din hybrid app till ett moln och andra komponenter till ett annat moln, vilket i grunden utgör grunden för distribution av hybrid program.The pipeline even allows you to deploy certain components of your hybrid app to one cloud and other components to another cloud, essentially forming the foundation for hybrid app deployment. Ett CI/CD-system är viktigt för att hantera program komponenterna för beroenden för varandra under installationen, till exempel att webbappen behöver en anslutnings sträng till-databasen.A CI/CD system is critical for handling the dependencies app components have for each other during installation, such as the web app needing a connection string to the database.

Hantera livs cykeln.Manage the life cycle. Eftersom resurser i en hybrid app kan sträcka sig över platser måste varje enskild platss hanterings kapacitet för livs cykel sammanställas till en enda livs cykel hanterings enhet.Because resources of a hybrid app can span locations, each single location's life-cycle management capability needs to be aggregated into a single life-cycle management unit. Överväg hur de skapas, uppdateras och tas bort.Consider how they're created, updated, and deleted.

Undersök fel söknings strategier.Examine troubleshooting strategies. Fel sökning av en hybrid app omfattar fler app-komponenter än samma app som körs i ett enda moln.Troubleshooting a hybrid app involves more app components than the same app that's running in a single cloud. Förutom anslutningen mellan molnen körs appen på två plattformar i stället för en.Besides the connectivity between the clouds, the app is running on two platforms instead of one. En viktig uppgift i fel sökning av hybrid program är att undersöka den sammanställda hälso tillstånds-och prestanda övervakningen av app-komponenterna.An important task in troubleshooting hybrid apps is to examine the aggregated health and performance monitoring of the app components.

SäkerhetSecurity

Säkerhet är ett av de viktigaste övervägandena för alla molnappar och det blir ännu mer viktigt för Hybrid molnappar.Security is one of the primary considerations for any cloud app and it becomes even more critical for hybrid cloud apps.

För kärn diskussionen om den här pelaren, se säkerhet i de fem grundarna av arkitektur expert.For the core discussion of this pillar, see Security in the five pillars of architecture excellence.

SäkerhetskontrollistaSecurity checklist

Anta överträdelse.Assume breach. Om en del av appen komprometteras, kontrollerar du att det finns lösningar på plats för att minimera spridningen av överträdelsen, inte bara inom samma plats, utan även mellan platser.If one part of the app is compromised, ensure there are solutions in place to minimize the spread of the breach, not only within the same location but also across locations.

Övervaka tillåten nätverks åtkomst.Monitor allowed network access. Fastställ principerna för nätverks åtkomst för appen, till exempel endast att komma åt appen från ett särskilt undernät och endast tillåta lägsta portar och protokoll mellan de komponenter som krävs för att appen ska fungera korrekt.Determine the network access policies for the app, such as only accessing the app from a specific subnet and only allow the minimum ports and protocols between the components required for the app to function properly.

Använd robust autentisering.Employ robust authentication. Ett robust autentiseringsschema är avgörande för appens säkerhet.A robust authentication scheme is critical for the security of your app. Överväg att använda en federerad identitets leverantör som tillhandahåller funktioner för enkel inloggning och använder ett eller flera av följande scheman: användar namn och lösen ord inloggning, offentliga och privata nycklar, två faktorer eller Multi-Factor Authentication och betrodda säkerhets grupper.Consider using a federated identity provider that provides single sign-on capabilities and employs one or more of the following schemes: username and password sign-on, public and private keys, two-factor or multi-factor authentication, and trusted security groups. Fastställ lämpliga resurser för att lagra känsliga data och andra hemligheter för app-autentisering förutom certifikat typer och deras krav.Determine the appropriate resources to store sensitive data and other secrets for app authentication in addition to certificate types and their requirements.

Använd kryptering.Use encryption. Identifiera vilka områden i appen som använder kryptering, till exempel för data lagring eller klient kommunikation och åtkomst.Identify which areas of the app use encryption, such as for data storage or client communication and access.

Använd säkra kanaler.Use secure channels. En säker kanal över molnen är viktig för att tillhandahålla säkerhets-och verifierings kontroller, real tids skydd, karantän och andra tjänster i molnet.A secure channel across the clouds is critical for providing security and authentication checks, real-time protection, quarantine, and other services across clouds.

Definiera och använda roller.Define and use roles. Implementera roller för resurs konfiguration och åtkomst med enstaka identitet över moln.Implement roles for resource configurations and single-identity access across clouds. Fastställ vilka RBAC-krav (rollbaserad åtkomst kontroll) som krävs för appen och dess plattforms resurser.Determine the role-based access control (RBAC) requirements for the app and its platform resources.

Granska systemet.Audit your system. System övervakning kan logga och samla in data från både app-komponenter och relaterade moln plattforms åtgärder.System monitoring can log and aggregate data from both the app components and the related cloud platform operations.

SammanfattningSummary

Den här artikeln innehåller en check lista över objekt som är viktiga att tänka på när du redigerar och utformar dina hybrid program.This article provides a checklist of items that are important to consider during the authoring and designing of your hybrid apps. Genom att granska dessa pelare innan du distribuerar din app kan du inte köra dessa frågor i produktions avbrott och eventuellt kräva att du går tillbaka till din design.Reviewing these pillars before you deploy your app prevents you from running into these questions in production outages and potentially requiring you to revisit your design.

Det kan verka som en tids krävande uppgift i förväg, men du får enkelt avkastning på investeringen om du utformar appen baserat på dessa pelare.It can seem like a time-consuming task beforehand, but you easily get your return on investment if you design your app based on these pillars.

Nästa stegNext steps

Mer information finns i följande resurser:For more information, see the following resources: