Dela via


Azure Well-Architected SaaS-arbetsbelastningar

Att skapa och använda programvara som en tjänst (SaaS) på Microsoft Azure kräver en annan metod jämfört med andra typer av programvara. Oberoende programvaruleverantörer (ISV: er) har en unik position i molnekosystemet eftersom deras SaaS-lösningar driver deras verksamhet. De säljer sina produkter till företag, även kallade "business-to-business" (B2B) eller till konsumenter, även kallade B2C (business-to-consumer). ISV:er är vanligtvis värdar för och underhåller den SaaS-lösning som de skapar. Deras kunder konfigurerar produkten och hanterar data.

En lösning som skapats med well-architected Framework säkerställer att arbetsbelastningen kan fungera i stor skala. Den här serien med artiklar ger viktiga insikter för att skapa skalbara, högpresterande, tillförlitliga och säkra SaaS-lösningar i Azure. Om du inte redan är bekant med det väldefinierade ramverket rekommenderar vi att du tar dig tid att lära dig dess principer.

Se grundpelarna i Microsoft Azure Well-Architected Framework.

Vad är en SaaS-arbetsbelastning?

Termen arbetsbelastning refererar till en samling programresurser som stöder ett gemensamt affärsmål eller körning av en gemensam affärsprocess, med flera tjänster, till exempel API:er och datalager, som arbetar tillsammans för att leverera specifika funktioner från slutpunkt till slutpunkt.

Termen SaaS refererar till affärsmodellen för att leverera programvara som en tjänst. Som leverantör ansvarar du för att leverera och driva hela lösningen. Du måste noggrant hantera kundmiljöer i stor skala samtidigt som du uppfyller kraven för kundisolering, säkerhet och efterlevnad. SaaS-lösningar förlitar sig ofta på en arkitektur med flera klientorganisationer, där resurser delas mellan flera kunder. Den här metoden påverkar utformningen och distributionen av resurser samt den prismodell som erbjuds kunderna.

Vilka är de vanliga utmaningarna?

Microsoft Azure är en utmärkt plattform för att leverera SaaS och erbjuder nödvändig elasticitet och skalbarhet. Den innehåller även funktioner för att automatisera olika aspekter av SaaS-leverans. Att leverera SaaS i Azure medför dock en egen uppsättning utmaningar:

  • Kundernas förväntningar är höga, krävande kvalitet, säkerhet och återhämtning. För B2B-lösningar blir du i princip en förlängning av dina kunders IT-avdelningar och tar ansvar för att hålla lösningen driftsduglig och felfri. Detta kräver en övergång från att bara utveckla programvara till att driva den i stor skala.

  • Att leverera SaaS innebär att balansera dina egna affärsbehov med dina kunders, vilket ibland kan vara i konflikt. Du kommer att utsättas för påtryckningar för att minska dina kostnader för sålda varor (COGS) och öka effektiviteten, medan kunderna kräver mer av din lösning.

  • SaaS fungerar ofta i hög skala eller med aggressiva tillväxtmål. När du skalar är det viktigt att upprätthålla prestanda och tillförlitlighet samtidigt som du minskar driftkomplexiteten. Manuella åtgärder är opraktiska, så automatisering och strukturerade processer är nödvändiga, vilket kräver en viss driftsmognad.

  • Isolering är ett viktigt krav när du delar infrastruktur mellan dina kunder. Kunderna förväntar sig att deras data är säkra och att de får konsekventa prestanda och tillförlitlighet, oavsett andra kunders aktiviteter. Som leverantör har du ett stort ansvar för att skydda dina kunders data och arbetsbelastningar, inklusive från andra kunder.

Vad är mognadsmodellen för att skapa SaaS?

Organisationer som skapar SaaS-produkter är vanligtvis:

  • Nystartade företag eller andra små organisationer. Vanligtvis finns det färre personer och färre resurser. Oavsett organisationens storlek kräver SaaS en viss mognadsnivå för att uppfylla kundernas förväntningar. Kunderna litar på att organisationen skyddar sina data och andra tillgångar. De kan också förlita sig på lösningen för viktiga delar av sin verksamhet. Därför blir Operational Excellence and Reliability viktiga aspekter av lösningen.

    Initialt bör nystartade företag prioritera de mest effektfulla elementen för sina kunder. Parallellt bör de planera för framtida arkitektoniska förbättringar som automatisering, klienthantering, kostnadsminskning och förbättrad säkerhet och tillförlitlighet. Även om detta kanske inte verkar praktiskt till en början fungerar denna strategiska planering som en plan för gradvis genomförande och kontinuerlig förbättring. När starten växer bör den anpassa och förfina sina processer, införa ny teknik och uppfylla föränderliga efterlevnadsstandarder för att skala effektivt och upprätthålla kundernas förtroende.

  • Etablerade organisationer. Etablerade organisationer som vill modernisera sina befintliga lösningar migrerar ofta till en SaaS-modell. Även om organisationen kan ha fler resurser blir utmaningarna komplexa. De måste stödja befintliga kunder när de utvecklar den nya SaaS-lösningen, vilket kan skapa driftkostnader. Den här övergången kräver ändringar i teknisk arkitektur, kompetensuppsättningar och övergripande affärsverksamhet. Fokus bör ligga på att minimera påverkan på aktuella kunder och se till att de får liknande eller förbättrad tillförlitlighet, säkerhet och prestanda. När de äldre lösningarna är mindre betungande kan organisationen prioritera nya funktioner och förbättringar.

Hur använder jag den här vägledningen?

Börja med designmetodik, som beskriver de logiska och återkommande temana inom tekniska och operativa områden. Den här systematiska metoden hjälper dig att definiera krav och designstrategier. Gå tillbaka till den här metoden när du har osäkra val för att hålla dig i linje med arbetsbelastningens övergripande mål. Det ger också ett ramverk för samarbete med marknadsförings- och säljteam för att validera tekniska beslut och införliva kundfeedback för kontinuerlig förbättring.

Gå vidare till Designprinciper för att se hur SaaS-designmetoden överensstämmer med grundpelarna i det välarkitekterade ramverket, med tanke på tillväxtutvecklingen. Utvärdera de underliggande principerna för alla pelare tillsammans, inklusive kompromisserna.

Fokusera på de designområden som har störst inverkan på din lösning. Varje område innehåller överväganden och rekommendationer som vägleder dig genom designbesluten.

Designområden
Fakturering och kostnadshantering: Utvärdera din faktureringsstrategi och dess effekt på dina sålda varor (COGS). Modellera och förutse kostnadsändringar när din SaaS-verksamhet skalar. Leta efter sätt att optimera kostnader för molnresurser.
Styrning: Hantera och reglera molntjänstanvändningen för att upprätta en säker Azure-miljö.
Resursorganisation: Planera hur du ska distribuera dina resurser för att stödja skalnings- och kostnadskraven.
Identitets- och åtkomsthantering: Förstå utmaningarna med att hantera identiteter i en SaaS-miljö med flera klientorganisationer. Välj en lämplig identitetsprovider och överväg behovet av federation med dina kunders identitetssystem.
Beräkning: Välj en beräkningsplattform som uppfyller dina behov. Planera för kundisolering, skalbarhet och återhämtning.
Nätverk: Planera nätverksdistributionen, inklusive topologi och försvar. Isolera resurser mellan kunder och uppfylla deras anslutningsbehov, inklusive integrering med deras nätverk och distribution av resurser i deras miljöer.
Data: Välj ett lämpligt datalager och planera för att isolera kunddata samtidigt som drifteffektiviteten bibehålls. Överväg kapacitetsplanering baserat på din skala och tillväxt och se till att dina data uppfyller kundens återhämtningskrav.
DevOps-metoder: Distribuera infrastruktur och program för varje kund enligt din innehavarmodell. Använd en strukturerad metod för ändringar, inklusive progressiva distributioner.
Incidenthantering : Upprätta ansvarsområden för att driva SaaS och de nödvändiga kulturella elementen i din organisation. Förbered för incidenter genom att investera i verktyg och processer för undersökning, reparation och kommunikation.

Använd utvärderingsgranskningsverktyget för att utvärdera beredskapen för din optimerade SaaS-arbetsbelastning i produktion.

Dricks

Varje arkitekturbeslut omfattar en rad överväganden och en uppsättning erkända kompromisser som balanserar olika aspekter av ramverket. Dessa kompromisser anges med den här ikonen. .

Vilka resurser är tillgängliga?

Multitenancy är en viktig affärsmetod för att utforma SaaS-arbetsbelastningar. Läs dessa ytterligare resurser om du vill veta mer.

  • SaaS- och flerlösningsarkitektur: Ger omfattande och detaljerad vägledning om hur du utformar SaaS, inklusive information om hur specifika Azure-tjänster kan användas för att stödja SaaS-designmål.

Nästa steg

Förstå vilken metod som ska följas när du utformar en SaaS-arbetsbelastning i Azure.