Ontwerpprincipes van SaaS-workloads in Azure
Als onafhankelijke softwareleverancier (ISV) die een SaaS-oplossing levert, bent u verantwoordelijk voor de architectonische uitmuntendheid van de oplossing en deelt u de verantwoordelijkheid met uw klant. Ze zijn afhankelijk van uw oplossing en problemen kunnen trapsgewijs worden weergegeven. Als uw organisatie volwassen is en een gevestigde klantenbasis heeft, zijn betrouwbaarheid en beveiliging waarschijnlijk uw grootste zorgen. Downtime en beveiligingsschendingen kunnen negatieve gevolgen hebben voor de omzet en reputatie van uw bedrijf.
Maar veel ISV's, met name opstart-ISV's, werken met beperkte resources om de kosten te minimaliseren. Als uw organisatie zich in de opstartfase bevindt, moet u mogelijk agressieve compromissen maken om verder te gaan met de volgende groeifase. Mogelijk hebt u geen speciale teams voor governance, beveiliging of implementatieautomatisering, maar vergeet niet om toekomstige groei te plannen. Als u risico's moet nemen, moet u berekende beslissingen nemen.
Hoe u een oplossing ontwerpt die op een laag schaalvolume werkt, verschilt van een grootschalige oplossing. Ter ondersteuning van snelle groei moet u een SaaS-workloadarchitectuur ontwerpen met flexibiliteit en aanpassingsvermogen. In dit artikel worden de onderliggende principes beschreven met inachtneming van die ontwikkeling van de groei. Overweeg alle vijf de goed ontworpen frameworkpijlers samen, inclusief de compromissen. Er is een minimumstandaard voor alle pijlers, dus houd rekening met elk van de pijlers. Als u deze principes niet toepast, kunt u financieel verlies introduceren en het vertrouwen van klanten verminderen.
Betrouwbaarheid
Ontwerpbeginsel | Overwegingen |
---|---|
Prioriteit geven aan beschikbaarheid. | Uw oplossing is uw bedrijf. Hoge beschikbaarheid behouden zoveel als praktisch. Als uw oplossing een storing ondervindt, kan de impact niet alleen van invloed zijn op uw klanten, maar ook op hun klanten. |
Wees expliciet over serviceovereenkomsten (SLA's) die u uw klanten aanbiedt. | Wanneer u sla's met financiële ondersteuning voor uw klanten maakt, moet u ervoor zorgen dat u aan deze sla's voldoet en of de onderdelen waarvan u afhankelijk bent compatibel zijn. Bekijk de samengestelde SLA's voor onderliggende Azure-services als onderdeel van uw SLA-ontwerpproces. Maak geen aannames. Geef uw model voor gedeelde verantwoordelijkheid weer in uw SLA's. |
Compromis: betrouwbaarheid en kosten. Om hoge betrouwbaarheid te bereiken, moet u vaak extra resources implementeren. U kunt bijvoorbeeld resources verdelen over meerdere beschikbaarheidszones of regio's. Sommige Azure-services bieden ingebouwde geo-replicatie of replicatie tussen zones, maar deze functies hebben vaak hoge kosten.
Neem weloverwogen beslissingen over het tolerantieniveau dat uw budget toestaat. Als de betrouwbaarheid van sommige onderdelen of stromen in de workload geen financiële gevolgen heeft, kunt u de mogelijkheden van lage kosten overwegen om uw tolerantie te verbeteren. U kunt bijvoorbeeld beschikbaarheidszones van platformservices gebruiken, regelmatig een back-up maken van gegevens naar een andere fysieke locatie en infrastructuur als code (IaC) gebruiken om resources snel opnieuw te implementeren tijdens herstelprocessen.
Beveiliging
Ontwerpbeginsel | Overwegingen |
---|---|
Governance tot stand brengen als de basis voor beveiliging. | Stel vanaf het begin goede governanceprocedures vast in plaats van later problemen op te lossen. Veel factoren zijn van invloed op beveiliging, zoals het beheren van rollen, het organiseren van resources en het implementeren van beleid. Zonder robuuste governance beschermen beveiligingsmaatregelen het systeem niet. |
Volg een basislijn voor cloudbeveiliging vanaf dag één. | Verwacht beveiligingscontroles van uw klanten. Neem audittrails vroeg in uw ontwerp op. |
Uw klanten isoleren en uw segmenten isoleren. | Gebruik uw tenancymodel als strategie voor gegevensisolatie. Segmenteer uw implementaties en omgevingen. |
Begin met Zero Trust en geef zo min mogelijk toegang. | Standaard ingesteld op een positie zonder toegang. Introduceer minimale toegang alleen wanneer dat nodig is. Gebruik deze strategie voor identiteitsbeheer en netwerkverkeer. Controleer regelmatig stromen door het systeem en neem actie op afwijkingen. |
Vermijd waar mogelijk referenties. Als u referenties moet gebruiken, moet u deze beveiligen. | Referenties behandelen als aansprakelijkheid. Gebruik betrouwbare id-providers en technieken die de opslag van referenties minimaliseren. Wanneer dit onvermijdelijk is, beveiligt u referenties met veilige cloudeigen benaderingen. Verhandel klantreferenties en geheimen met de grootste zorg. |
Adopt security as an ongoing process. | Evalueer uw beveiligingspostuur continu opnieuw. Houd rekening met het veranderende bedreigingslandschap, nieuwe mogelijkheden en protocollen en bijgewerkte nalevings- of regelgevingsvereisten. |
Compromis: Beveiliging en kostenoptimalisatie. Het ontwerpen en gebruiken van veilige oplossingen is duur. Maar u kunt aanzienlijke stappen uitvoeren voor beveiliging, zoals goed beheer en naleving van een beveiligingsbasislijn, met minimale tot geen kosten. Bepaal de balans tussen kostenefficiëntie en uw ideale beveiligingspostuur.
Kostenoptimalisatie
Ontwerpbeginsel | Overwegingen |
---|---|
Betaal alleen voor wat u nodig hebt. | Profiteer van Microsoft Cost Management-functies om inzicht te hebben in uw totale uitgaven. Prioriteit geven aan de duurste resourcecategorieën voor verdere beoordeling. Identificeer gebieden waar u mogelijk te veel gebruik van hebt. |
Gebruik waarvoor u betaalt. | Maximaliseer de waarde van resources waarvoor u betaalt, maar die u mogelijk te weinig gebruikt. |
Modeleer uw kosten. | Houd uw kosten van verkochte goederen bij. Inzicht in de kosten voor het leveren van uw oplossing aan klanten. Dit proces is vergelijkbaar met het produceren van een fysiek product. Om uw besluitvorming te informeren, controleert u de kosten voor elke klant ten opzichte van de omzet die ze genereren. Als u uw Azure-uitgaven snel wilt begrijpen en aggregeren, implementeert u governanceprocessen, zoals een goede resourceorganisatie en tags. |
Meer informatie over de relatie tussen uw kosten en inkomsten. | Vermijd situaties waarin de kosten stijgen zonder een overeenkomstige toename van de omzet. De kosten kunnen bijvoorbeeld toenemen als u een nieuwe functie toevoegt die onbeperkte gratis opslagruimte biedt. Als u klanten op basis van het aantal gebruikers in rekening brengt, moet u er ook voor zorgen dat u functionaliteit koppelt aan de gebruikers. |
Compromis: Kostenoptimalisatie en betrouwbaarheid. Als u betrouwbare oplossingen wilt maken, moet u vaak extra onderdelen implementeren, meer gegevens overdragen en tolerantere SKU's voor sleutelonderdelen gebruiken, die allemaal de kosten verhogen. De toegevoegde betrouwbaarheid is vaak de moeite waard, maar u moet weloverwogen beslissingen nemen. Als u deze kostenverhogingen wilt compenseren, moet u ervoor zorgen dat u andere onderdelen effectief gebruikt en hun waarde maximaliseert.
Operationele uitmuntendheid
Ontwerpbeginsel | Overwegingen |
---|---|
Inzicht in het model voor gedeelde verantwoordelijkheid. | Definieer duidelijk de verantwoordelijkheden van uw cloudprovider, uw klanten en uw organisatie. Zorg ervoor dat iedereen weet wie verantwoordelijk is voor welke taken. |
Bereid u voor op het gebruik van een oplossing namens uw klanten. | Stel uw organisatie, team, processen en hulpprogramma's in om SaaS op schaal te ondersteunen. |
Consistente processen aannemen. | Gebruik implementatiestempels. Consistentie van stations in de stempelconfiguratie en -architectuur. Processen automatiseren of standaardiseren. |
Formaliseer uitzonderingen of verschillen. | Definieer verschillende SKU's om te voldoen aan verschillende behoeften. Gebruik deze methode om aangepaste implementaties, configuraties of code voor verschillende klanten te voorkomen. |
Wijzigingen veilig implementeren. | Implementeer een veilig implementatieproces dat u kunt gebruiken voor progressieve blootstelling, constante bewaking en terugdraaien als er problemen optreden. Gebruik een consistent proces voor wijzigingen in code, infrastructuur en configuratie. Bepaal het aantal oplossingsversies dat u op elk gewenst moment implementeert. |
Compromis: Operationele uitmuntendheid en de kosten van complexiteit. Geautomatiseerde beheerbewerkingen kunnen de complexiteit van uw oplossing verhogen en tijd in beslag nemen om te bouwen. In eerste instantie kunnen de kosten van automatisering opwegen tegen de voordelen, met name met een klein klantenbestand. Maar naarmate het aantal klanten groeit, betaalt de automatiseringskosten en de voordelen toe.
Prestatie-efficiëntie
Ontwerpbeginsel | Overwegingen |
---|---|
Implementeer wereldwijde schaal om globale prestaties mogelijk te maken. | Bied een goede ervaring voor wereldwijde klanten via implementaties in meerdere regio's of versnelde verkeersroutering. |
Uw verwachte schaal kwantificeren. | Modelleren van beste, gemiddelde en slechtste groeiscenario's. Analyseer trends en raadpleeg uw verkoopteam voor realistische projecties. Plan flexibele schaalstrategieën om tegemoet te komen aan verschillende groeimogelijkheden. |
Inzicht in schaalpunten. | Bepaal waar u waarschijnlijk flexibiliteit nodig hebt. Veelvoorkomende triggers zijn het aantal klanten of tenants, gebruikers en transacties per gebruiker. Begrijpen hoe deze factoren veranderen naarmate uw bedrijf groeit en hoe ze van invloed zijn op uw architectuur. |
Ontwerp voor uitschalen. | Omhoog schalen heeft limieten, maar uitschalen maakt een grotere uitbreiding mogelijk. Niet alles wordt uitgeschaald, dus overweeg implementatiestempels te gebruiken om uw oplossing als een eenheid te schalen om de beperkingen van het omhoog schalen van resources te voorkomen. |
Compromis: Prestatie-efficiëntie en betrouwbaarheid. Betrouwbare systemen vereisen vaak gegevensreplicatie in brede geografische gebieden. Afhankelijk van uw replicatieontwerp kan deze instelling leiden tot hogere latentie en lagere doorvoer. Als u bijvoorbeeld synchroon belangrijke gegevens repliceert tussen twee Azure-regio's die enkele honderden kilometers uit elkaar liggen, kunt u honderden milliseconden toevoegen aan uw reactietijden vanwege realtime-replicatie.
Volgende stap
Begin uw leertraject door de facturering van uw klant en uw strategie voor kostenbeheer te optimaliseren.