Azure AZ-900 - blog 4

Ingediend door Dirk Hornstra op 13-oct-2020 21:20

Dan ben ik nu aanbeland bij het laatste blok op aka.ms/azfunpath. Dit deel gaat over Microsoft Azure-prijzen, Service Level Agreements en levenscyclussen controleren (link).

Zoals alle blokken begint dit met "Get started with Azure Fundamentals", die heb je in het eerste blok al afgerond, dus we kunnen meteen door met "Examine Azure Subscriptions" (link). Bedrijfabonnementen, proefabonnementen, pay-as-you-go abonnementen, er zijn heel veel smaken bij Azure. De abonnementen zijn gekoppeld aan een Azure Account, dat is een identiteit in de Azure Active Directory of een entiteit die door Azure Active Directory "vertrouwd" kan worden. Een account kan meerdere soorten abonnementen hebben.

Met de abonnementen kun je de resources die je gebruikt "inperken", dat doe je met:

  • Billing boundary. Dit abonnementstype geeft aan hoe een account gefactureerd wordt. Je kunt meerdere abonnementen maken voor verschillende type factuurmethoden en Azure wil hier losstaande factuurrapportage en facturen voor maken, zodat je de kosten kunt organiseren en beheren.
  • Access control boundary. Azure gaat toegangsbeheer policies uitvoeren op basis van het abonnementstype, waardoor je verschillende abonnementen kunt inrichten om zo de verschillende onderdelen van de bedrijfsstructuur ook in Azure in te richten.


Aanvullende redenen om verschillende abonnementen af te sluiten kunnen samen hangen met onderstaande zaken:

  • Environments: Je kunt abonnementen inrichten om omgevingen van elkaar te scheiden (die voor ontwikkelen en testen, voor extra beveiliging of om te voldoen aan bepaalde wettelijke regels).
  • Organizational structures: Hiermee kun je bij bepaalde afdelingen afdwingen dat ze de kosten binnen de budgetten houden, terwijl de IT-afdeling zelf niet op deze wijze beperkt moet worden.
  • Billing: Omdat kosten eerst op basis van abonnement samengevoegd worden, wil je hier waarschijnlijk al een scheiding aanbrengen om zo de oorzaken van bepaalde kosten te kunnen opsporen en beheren. Bijvoorbeeld voor je ontwikkelomgevingen en voor je productieomgevingen.
  • Subscription limits: Abonnementen worden door bepaalde harde grenzen beperkt. Zoals eerder genoemd kun je per abonnement maximaal 10 express route circuits gebruiken.


Als je meerdere abonnementen hebt, dan kun je ze organiseren in "invoice sections". Elke invoice section is een regel op de factuur. Je wilt zaken misschien per departement, team of project scheiden, maar uiteindelijk wel 1 factuur ontvangen. Onder je billing account kun je verschillende billing profielen aanmaken. Daarin kun je de betaalperiode en betaalmethode aangeven. Daaronder kun je dan de verschillende invoice sections hangen.

Welke mogelijkheden biedt Azure?

  • Een free account (link). Begin met 12 maanden gebruik van populaire gratis diensten, krijg een credit-tegoed om bepaalde Azure services voor 30 degen te proberen en 25+ diensten die altijd gratis zijn. Je diensten worden uitgeschakeld als de proefperiode afgelopen is of wanneer je credittegoed op 0 staat, behalve als je upgrade naar een betaald abonnement. Wat heb je nodig? Een telefoonnummer, credit- of debitkaart en een Github-account of Microsoft account username (voormalig Live ID).
  • Pay-As-You-Go. Met abonnement betaal je voor wat je gebruikt door een credit- of debitkaart aan je account te koppelen. Organisaties kunnen een verzoek indienen voor bepaalde facturatie-voordelen.
  • Member offers. Je bestaande abonnement op bepaalde Microsoft producten en diensten geeft je recht op credits voor je Azure account en kortingen op bepaalde Azure diensten. Dit geldt onder andere voor Microsoft Visual Studio gebruikers, Microsoft Partner Network gebruikers, Microsoft BizSpark gebruikers en Microsoft Imagine gebruikers.


Op deze pagina kun je zien wat de huidige voordelen zijn: link.

We zijn eigenlijk begonnen met resource groups en resources. Boven resource groups zitten subscriptions en daar weer boven zitten management groups.

Hierbij nog de toelichting:

  • Management groups: Containers om te helpen met het beheren van toegang, policy en compliance voor meerdere abonnementen. Alle abonnementen erven automatisch de voorwaarden die op de management group van toepassing zijn.
  1. In een enkele directory kunnen 10.000 management groups beheerd worden.
  2. Een management group boom kan tot 6 levels diep ondersteunen.
  3. Deze limiet bevat niet het root-level of het leven van het abonnement.
  4. Elke management group en abonnement kan maar 1 parent ondersteunen.
  5. Elke management group kan veel kinderen bevatten.
  • Subscriptions: Een abonnement groepeert gebruikersaccounts en de resources die voor deze gebruikers gemaakt zijn. Voor elk abonnement zijn er limieten of quot's op het aantal resources dat aangemaakt en gebruikt kan worden. Bedrijven kunnen abonnementen gebruiken om kosten te beheren en de resources die aangemaakt worden door gebruikers, teams of projecten.
  • Resource groups: Een logische container waar verschillende Azure resources zoals web apps, databases en opslag accounts gedeployed en beheerd worden.
  • Resources: Resources zijn instanties van diensten die je maakt, zoals Virtuele Machines, opslag of SQL databases.


Als je meer over management groups wilt lezen, dan kun je hier verder lezen: link.

Het volgende blok is "Review planning and managing Azure costs" (link).

Azure hanteert een 3-tal klanttypes:

  • Enterprise. Dit type klant kan een Enterprise Agreeement met Azure sluiten waarin ze afspreken dat ze een onderhandelde hoeveelheid geld gaan besteden aan Azure diensten, welke jaarlijks betaald worden. Dit type klanten heeft ook toegang tot aangepaste Azure prijzen.
  • Web direct. Dit type klant betaalt de algemen prijs voor Azure resources, de maandelijkse facturatie en betaling verloopt via de Azure website.
  • Cloud Solution Provider. Cloud Solution Provider (CSP) zijn meestal Microsoft partnerbedrijven die een klant huurt om oplossingen in Azure te bouwen. Facturatie en betaling verlopen via de klant zijn/haar CSP.


Over de flexibele aanschafopties kun je op deze pagina meer lezen: link.

Aan het eind van elke maandelijkse termijn wordt je gebruik in rekening gebracht en de tellers worden gereset. In de portal kun je de facturatiepagina's raadplegen om tussentijds een overzicht van je huidige gebruik en kosten te zien.

Resources worden gefactureerd op basis van gebruik. Als je een VM de-alloceert, dan wordt je niet gefactureerd voor IO gebruik, rekenkracht of het privé IP adres. Maar de schijf is er nog wel en voor de opslag moet je dus nog wel betalen.

Als je in Azure een resource aanmaakt, koppelt Azure daar één of meerdere meters aan. Op basis van het verbruik van die meters krijg je een factuur. Als je één virtuele machine hebt, dan kunnen deze "meters" daaraan gekoppeld zijn: Compute Hours,  IP Address Hours,  Data Transfer In, Data Transfer Out, Standard Managed Disk,  Standard Managed Disk Operations,  Standard IO-Disk, Standard IO-Block Blob Read, Standard IO-Block Blob Write, Standard IO-Block Blob Delete. Dat is nog al een lijstje.

Welke zaken zijn van invloed? Dat zijn dus het resource-type (elk type is weer anders en heeft andere meters/verbruik), de services/diensten: de hoeveelheden en factuurperiodes kunnen afwijken bij Enterprise, Web Direct en Cloud Solution Provider (CSP) klanten. Sommige abonnementsvormen hebben gebruiksvergoedingen, ook deze hebben dus invloed. En natuurlijk de locatie. Het plaatsen van je diensten op de goedkoopste omgeving is niet altijd de slimste oplossing, omdat er dan nog vaak extra dataverkeer bij komt, wat het voordeel vaak ongedaan maakt. Op deze pagina wordt uitgelegd hoe een factuur opgebouwd wordt: link.

Met "billing zones" kun je gaan bepalen hoe je factuur eruit gaat zien. Sommige ingaande data in Azure datacenters is gratis, maar uitgaand verkeer wordt belast. Op deze pagina wordt dat toegelicht: link. De zones zijn alleen ingericht om het facturatiedeel op orde te krijgen. Dit zijn de zones:

  • Zone 1 – West Amerika, Oost Amerika, West Canada, West Europa, centraal Frankrijk en anderen
  • Zone 2 – centraal Australië, West Japn, centraal India, Zuid Korea en anderen
  • Zone 3 - Zuid Brazilië
  • DE Zone 1 - centraal Duitsland, noord-oost Duitsland


Dan komen we bij het punt, ik wil misschien wel wat met Azure doen, maar wat gaat dat kosten? Daarvoor is de Pricing Calculator: link. Let op, het is wel een schatting!

  • Region. Overzicht van de regio's waar je een product kunt laten draaien. Zuidoost Azie, centraal Canada, west Amerika en noord Europa zijn beschikbare regio's voor sommige resources.
  • Tier. Stel het tier-type in dat je wilt gebruiken: Free Tier, Basic Tier, enzovoort.
  • Billing Options. Toon de beschikbaar factuurmethoden voor verschillende soorten klanten en abonnementen voor het gekozen product.
  • Support Options: Geeft je de mogelijkheid om te kiezen voor standaard ondersteuning die bij het product hoort of dat je betaalde ondersteuning wilt toevoegen.
  • Programs and Offers. Hiermee kun je de verschillende prijzen kiezen op basis van het type klant dat je bent / het abonnementstype.
  • Azure Dev/Test Pricing. Hiermee zie je de beschikbaar developer en testprijzen van een product. Die gelden alleen als je de resources binnen een abonnement draait gebaseerd op een Dev/Test aankoop.


Bij de walk-through gaan we op basis van een voorbeeld producten toevoegen en kijken wat dit gaat kosten. Onderaan de schatting kun je het overzicht exporteren.

De andere calculator is de "total cost of ownership": link. Define your workloads - adjust assumptions - view report. Hier kun je jouw huidige kosten e.d. invullen om daarna te zien hoeveel je met Azure kunt besparen. Je vult dit overzicht met gegevens uit de onderstaande 4 groepen:

  • Servers. Wat voor servers heb je nu in je eigen datacenter aan het werk?
  • Databases. Vul in het "bron"-deel in welke databases je nu gebruikt. Vul in het "doel"-deel in welke Azure variant je daarvan wilt gebruiken.
  • Storage. Voer hier alle opslagmedia in die je gebruikt.
  • Networking. Voer hier de bandbreedte van je huidige netwerk in.


We gaan in de walk-through een voorbeeld invullen (link). Dat is duidelijk.

Dan gaan we door met het minimaliseren van je kosten. Je wilt grip houden op de kosten die er gemaakt worden.

Gebruik Azure Advisor om je gebruik te monitoren.

Gebruik uitgave-limieten (Spending Limits). Deze optie is beschikbaar voor "free abonnementen" en sommige credit-gebaseerde abonnementen. Als de limiet bereikt wordt, wordt het abonnement "gesuspend" tot de volgende facuratieperiode. Pay-as-you-go ondersteunt dit niet. Meer informatie over e spending limit is hier te vinden: link. Spending Limits zijn heel wat anders dan Subscription, Service of Resource Group limieten en quota's: link.

Met Azure Reservations (link) kun je op bepaalde producten en resources korting krijgen. Dit doe je door vooruit te betalen: dat doe je voor 1 of 3 jaren voor het gebruik van een virtuele machine, SQL database compute capaciteit, Azure Cosmos Database doorvoer en andere resources. Deze mogelijkheid is alleen beschikbaar voor bedrijven, CSP klanten of pay-as-you-go klanten.

Kies de regio/locatie met de laagste kosten. Controleer wel goed het dataverbruik (zoals eerder genoemd)!

Gebruik tags om te zien welke afdeling nu zoveel data gebruikt en of het een productie- of een ontwikkelomgeving is waarvan de kosten aan de hoge kant zijn.

Azure Cost Management (link) is een product/dashboard waarin je onder andere dit krijgt:

  • Reporting. Maak rapporten op basis van historische data om het toekomstige gebruik en uitbreiding te voorspellen.
  • Data enrichment. Verbeter het inzicht door met tags de afdelingen inzichtelijk te maken.
  • Budgets. Maak en beheer kosten- en gebruikbudgetten door het monitoren van de trends qua verbruik, patronen van kosten en meer.
  • Alerting. Ontvang alarm-meldingen gebaseerd op kosten- en gebruikbudgetten.
  • Recommendations. Ontvang aanbevelingen om zaken die toch niets doen op te ruimen en om bronnen te optimaliseren.

Deze dienst is gratis voor Azure klanten.

Vervolgens de vragenlijst. Toch een paar vragen fout, de antwoorden lijken erg op elkaar.

Het hierop volgende blok gaat over "Explore Azure Service Level Agreements (SLAs)" (link).

Een Service Level Agreement is een belofte om je diensten zo goed mogelijk online te houden. Microsoft/Azure heeft deze natuurlijk ook.

Op deze pagina kun je de verschillene SLA's per product zien: link. De percentages worden gehouden tussen 99.9 % en 99.99 %. We zien een tabelletje met hoe zich dit verhoudt qua tijd (met deze getallen dus 10 minuten per week of 1 minuut per week).

De SLA beschrijft ook wat er gebeurt als Microsoft zich niet aan de SLA kan houden. Er kunnen dan Service Credits, oftewel korting op je factuur toegepast worden. Let op, veel diensten onder de free of shared tiers zijn niet aan een SLA gebonden. Azure Advisor is een gratis product en heeft dus ook geen SLA.

De Composite SLA is de opgetelde SLA voor een aantal producten. Als je een web-app hebt met een SLA van 99.95% en die zit gekoppeld aan een database met een SLA van 99.99% dan is de compsite SLA 99.95 * 99.99 = 99.94%. Besluit je om, als de database eruit zou liggen, tijdelijk wat zaken in een Queue te plaatsen (die een 99.9% SLA heeft), dan is je composite SLA (database of queue: 1.0 − (0.0001 × 0.001) = 99.99999), vervolgens met web-app: 99.95 * 99.99999 = 99.95%

Klanten kunnen SLA's gebruiken om te zien in hoeverre hun diensten voldoen aan de regels van het bedrijf en de behoeften van de eigen klanten die gebruik maken van deze diensten.

  • Identify workloads. Een workload is een losse mogelijkheid of taak die logisch losgekoppeld kan worden van andere taken, op basis van business logic en data-opslag benodigdheden. Elke workload heeft andere regels voor beschikbaarheid, schaalbaarheid, dataconsistentie en rampenherstel. Om te zorgen dat zaken voldoen moet je doel SLA's voor elke workload maken.
  • Plan for usage patterns. Gebruikerspatronen spelen ook een rol in de benodigdheden. Als je een Sinterklaas-applicatie hebt en die ligt er op 4 december de hele dag uit, dan voldoet het niet. Zorg voor redundante in verschillende regio's om te voorkomen dat als er op 1 plek wat kapot gaat, het overal kapot gaat. Tijdens niet-kritische periodes kun je jouw applicatie gewoon in 1 regio laten draaien.
  • Establish availability metrics — mean time to recovery (MTTR) en mean time between failures (MTBF). MTTR is de gemiddelde tijd die het neemt om na een crash de boel te herstellen. MTBF is de tijd die een component redelijkerwijs zou moeten draaiten tussen uitvalperiodes. Gebruik deze waarden om redundantie toe te voegen en om je SLA voor klanten te bepalen.
  • Establish recovery metrics — recovery time objective and recovery point objective (RPO). RTO is de maximaal aanvaarbarde tijd in een applicatie waarin deze niet beschikbaar is na een incident. RPO is de maximale duur van verloren data tijdens een incident. Om deze waardes te bepalen, voer een risico analyse uit en zorg dat je duidelijk hebt wat de kosten en risico's voor jouw bedrijf betekenen.
  • Implement resiliency strategies. Resiliency is de mogelijkheid van een systeem om na een crash te herstellen en weer actief te worden. Implementeer resiliency design patterns, door kritische resources te isleren, gebruik transacties en gebruik zoveel mogelijk asynchrone acties. Maak een Failure Mode Analysis (FMA) om je zwakke plekken in kaart te brengen.
  • Build availability requirements into your design. Availability is de hoeveelheid tijd waarin je systeem functioneel en werkend is. Zorg dat dit overeenkomt met je service-level-agreement. Voorkom "single points of failures", splits workloads met service-level-objecten en pas throtteling toe op gebruikers die veel te veel data verbruiken.


Tips: als je workload een uptime van 99.99 nodig heeft, dan moet deze niet draaien op een service die "maar" een SLA van 99.9 heeft.
Hogere uptime - hogere kosten. Als je een SLA van 99.999% hebt, dan mag die dienst maar 5 minuten per jaar niet beschikbaar zijn.

In de walk-through gaan we zelf een Composite SLA berekenen, of dat wordt al voor ons gedaan. En we zien nog even op de pagina met de SLA's wat de verschillende percentages zijn.

Vervolgens weer een vragenronde, 1 vraag fout.

Het laatste blok gaat over "Examine service lifecycle in Azure" (link).

Azure ontwikkelt nieuwe diensten. Deze gaan eerst door een ontwikkelfase, testfase en uiteindelijk een productiefase. Als klant kun je soms al een preview-versie gebruiken. Zoals in de video's gezegd werd "never in production!". Je hebt een private preview, de dienst is dan beschikbaar voor een selecte groep klanten, of een public preview, alle klanten kunnen het product evalueren. Sommige previews worden niet ondersteund door de klantenservice! Er gelden wel aangepaste/uitgebreide voorwaarden voor, die kun je hier nalezen: link.

Als je naar "create resource"  gaat in het portal en daar zoekt op "preview" kun je de preview-producten vinden. Sommige zaken zitten wat verder in de applicatie. We zien het voorbeeld van een Kubernetes cluster aanmaken, in de dropdown voor de kubernetes versie kun je ook voor "preview"-versies kiezen.

Het portal van Azure zelf wordt ook zo nu en dan aangepast en kun je op deze URL bekijken: https://preview.portal.azure.com/
Als je wilt weten wat er gebeurt, er is een forum: link en hier staat nog iets meer beschreven over de preview: link.

Als een feature goed bevonden wordt en "live" gaat, dan gaat deze naar status "General Availability", oftewel GA. Op dit blog wordt bijgehouden wat er allemaal gebeurt: link.
Je hebt op deze pagina een overzicht van de Azure-updates: link. Ik zie ook een RSS-feed, die ga ik later nog eens in mijn news-reader toevoegen.

In de walk-through kun je deze zaken nog eens in je Azure portal en de Azure update pagina bekijken. Dat geloof ik wel.

Twee niet te moeilijke vragen, daarmee heb ik de 4 blokken afgerond. Volgens de monitor zit ik nu op Level 6 en heb ik 7.275 van de 11.299 punten.

Op zich zou dit voldoende moeten zijn voor het examen op 19 november, maar ik ga me de komende weken nog wel meer verdiepen in Azure. Op de pagina waar je komt staan voldoende voorbeelden https://docs.microsoft.com/nl-nl/learn/browse/ en ik heb natuurlijk ook nog mijn proefperiode lopen bij Azure. Daar moet je gebruik van maken!