Azure AZ-900 - blog 2

Ingediend door Dirk Hornstra op 09-oct-2020 23:05

Tijd om met het volgende blok door te gaan op aka.ms/azfunpath. Dit blok gaat over het onderscheid maken tussen de kernservices van Microsoft Azure (link).

Dit onderdeel bestaat ook weer uit een aantal blokken. Het eerste blok verwijst naar "Get started with Azure Fundamentals", maar die heb ik al gedaan in het eerste blok (link).

Het volgende blok is discussie over de core componenten van Azure (link).
Stel, je hebt een klein bedrijf, een website met een aantal diensten, maar veel klanten in Griekenland en Turkije die er gebruik van maken. En zij ervaren de site als "super-traag". Dat is het moment dat je de wildcard kunt inzetten: de cloud. Microsoft Azure biedt een betrouwbare, redundante en energiezuinige infrastructuur aan waarbij ze wereldwijd meer dan 100 zwaarbeveiligde locaties hebben die verbonden zijn met de grootste netwerken van de wereld. Azure biedt je de mogelijkheid om wereldwijd actief te zijn, waarbij je data veilig is, in overeenstemming is met de lokale wetten en zorgt tevens voor minder CO2 uitstoot dan dat je zelf wat servers zou laten draaien.

Azure heeft verschillende regio's (link). In zo'n regio staan meestal meerdere datacenters. Een aantal voorbeelden zijn West US, Canada Central, West Europe, Australia East, and Japan West. Momenteel is Azure beschikbaar in 60 regio's en beschikbaar in 140 landen.

Weetjes:

  • Azure heeft meer globale regio's dan alle andere cloud providers
  • Regio's bieden klanten de flexibiliteit en schaal om applicaties dichter bij de eindgebruikers te brengen
  • Regio's zorgen ervoor dat data in het "eigen gebied" blijft, wat soms wettelijk nodig is
  • Voor de meeste diensten kun je aangeven waar je deze wilt laten draaien


Sommige diensten of virtuele machine features zijn alleen in bepaalde regio's beschikbaar, zoals bijvoorbeeld VM grootte of opslagtype. Sommige diensten zijn trouwens niet per regio te selecteren, zoals Microsoft Azure Active Directory, Microsoft Azure Traffic Manager, and Azure DNS.

Speciale regio's:

Onderstaande regio's zijn speciaal, wat van invloed kan zijn op je wettelijke verplichtingen;

  • US DoD Central, US Gov Virginia, Texas and Arizona en meer: Dit zijn fysiek en logisch netwerk-geisoleerde instanties van Azure voor US government agencies en partners. Deze datacenters worden beheerd door speciaal gescreende US personen en voldoen aan additionele compliance certificaten.
  • China East, China North en meer: een partnership tussen Microsoft en 21Vianet, waarbij Microsoft niet direct de datacenters beheert.


Je hebt region-pairs (ook besproken in de video's). Een orkaan zou meerdere datacenters kunnen verwoesten, daarom worden 2 geografische regio's met elkaar gespiegeld, minimaal 300 mijl afstand van elkaar. Meer uitleg staat hier: link. Azure bepaalt de pairs, de klant heeft daar geen invloed op. Wil je het toch met een andere regio koppelen, dan kun je jouw data via AzCopy overzetten.

  • Fysieke isolatie. De voorkeur van Azure om minimaal 300 mijl afstand te houden. Verminderd mogelijke uitval door natuurrampen, onrust bij de bevolking, stroomuitval of fysieke uitval van het netwerk.
  • Platform-provided replicatie. Sommige diensten (zoals Geo-Redundant Storage) zorgen voor automatische replicatie naar de paired region.
  • Region recovery order. Tijdens een grote uitval krijgt 1 regio de prioriteit. Dit garandeerd dat 1 van de regio's met prioriteit hersteld wordt.
  • Sequential updates. Systeem-updates vinden nooit gelijktijdig plaats, zodat bij problemen naar de andere regio overgeschakeld kan worden.

 

Dit is de huidige indeling:

Geography Regional Pair A Regional Pair B
Asia-Pacific East Asia (Hong Kong) Southeast Asia (Singapore)
Australia Australia East Australia Southeast
Australia Australia Central Australia Central 2
Brazil Brazil South South Central US
Canada Canada Central Canada East
China China North China East
China China North 2 China East 2
Europe North Europe (Ireland) West Europe (Netherlands)
France France Central France South
Germany Germany Central Germany Northeast
India Central India South India
India West India South India
Japan Japan East Japan West
Korea Korea Central Korea South
North America East US West US
North America East US 2 Central US
North America North Central US South Central US
North America West US 2 West Central US
Norway Norway East Norway West
South Africa South Africa North South Africa West
Switzerland Switzerland North Switzerland West
UK UK West UK South
United Arab Emirates UAE North UAE Central
US Department of Defense US DoD East US DoD Central
US Government US Gov Arizona US Gov Texas
US Government US Gov Iowa US Gov Virginia
US Government US Gov Virginia US Gov Texas

2 bijzonderheden in deze lijst:

  • West India is paired in one direction only. West India's secondary region is South India, but South India's secondary region is Central India.
  • Brazil South is unique because it is paired with a region outside of its geography. Brazil South's secondary region is South Central US. South Central US's secondary region is not Brazil South.


Geografie. De wereld wordt onderverdeeld in Amerika, Europa, Azie, Midden Oosten en Afrika. Meer info: link. Hierdoor kan voldaan worden aan lokale wetten/regels, zorgt dat de data "dicht bij" de klant blijft en door de prima netwerkverbindingen kan een geografie een probleem met een regio afvangen.

Availability options, herken ik ook nog van de video's. Je hebt de enkele Virtual Machine, die je makkelijk ergens anders heen kunt verplaatsen. Dat levert je een SLA van 99,9%. Als je 2 van deze VM's in een datacenter hebt, dan heb je een availability set en wordt je SLA verhoogd naar 99,95%. Dan heb je nog de availability zones, dat is dat je VM zowel in datacenter 1 staat als in datacenter 2. Hiermee bereik je de max SLA, 99,99%. En dan heb je als laatste optie nog de region-pairs, waarmee je na het elimineren van een mogelijk probleem binnen 1 datacenter nu ook de problemen met 1 region elimineert.

Availability sets, dat is een manier om je service online te houden, ook op het moment dat er een hardware-failure is of er onderhoud gepleegd wordt. Availability sets bestaan uit Update Domains (UD) en Fault Domains (FD). We zien FD 0, FD 1 en FD 2 naast elkaar staan. FD 0 bevat UD 0, FD 1 bevat UD 1 en UD 2.

Updates worden sequentieel via Update Domains doorgevoerd. Hierdoor ligt niet een heel datacenter plat tijdens een update-ronde, maar worden onderdelen bijgewerkt.

Fault Domains zijn fysieke scheidingen tussen hardware, power, cooling, netwerkaansluitingen. Zou 1 server-rack problemen hebben, dan heeft alleen de hardware daar er last van, de overige server racks kunnen zonder problemen doordraaien.

Availability zones (link), is een datacenter of combinatie van datacenters binnen een regio. Availability zones worden binnen Azure als een dienst aangeboden en om stabiliteit te bieden is er een minimum van 3 zones binnen een regio ingesteld. De regio's Central US, North Europe, SouthEast Asia bieden deze dienst aan (in de tekst staat nog "and more").

Als je availability zones in je apps gebruikt, deploy je naar één zone en wordt de data overgezet naar de andere zones. Hier kan wel een extra kostenplaatje aan hangen.

Availability Zones worden voornamelijk gebruikt voor Virtuele Machines, managed disks, load balancers en SQL databases. Services die het ondersteunen vallen onder 1 van deze categorieën:

  • Zonal services – je koppelt de resource aan een specifieke zone (bijvoorbeeld virtual machines, managed disks, IP addresses)
  • Zone-redundant services – platform repliceert automatisch tussen zones (bijvoorbeeld, zone-redundant storage, SQL Database).


Resource groups, deze kun je beschouwen als een soort container, hierin plaats je al je resources. Resource groups zijn handig voor:

  • Meten en facturen
  • Policies
  • Monitoring en waarschuwingen
  • Quotas
  • Toegangscontrole


Als je een resource group maakt en je zet er resources in, dan moet je met de volgende zaken rekening houden:

  • Een resource kan (en moet) in maximaal 1 resource group
  • Een resource group kan resources bevatten die in verschillende regio's staan
  • Jij bepaalt hoe je resources in resource groups zet, het is jouw feestje en het bedrijf kan bepaalde wensen hebben
  • Je kunt een resource op ieder moment aan een resource group toevoegen of eruit verwijderen
  • Je kunt een resource van de ene naar de andere resource group verplaatsen
  • Resources voor 1 applicatie hoeven niet in dezelfde resource group te staan. Het wordt wel aangeraden, het maakt het onderhoud voor jou makkelijker


Logical grouping: de resources die voor dezelfde taken gebruikt worden, type of locatie bij elkaar plaatsen.

Life cycle. Als je een resource group verwijdert, verwijder je ook alles wat erin zit! Voor testprojecten kan het handig zijn om zo "alles op te ruimen".

Autorisatie, via resource groups kun je met Role Based Access Control (RBAC) permissies instellen.

Er zijn meerdere manieren om een Resource Group aan te maken:

  • Azure portal
  • Azure PowerShell
  • Azure CLI
  • Templates
  • Azure SDKs (.NET, Java)


Vervolgens wordt het stappenplan getoond om een resource group via de Azure portal aan te maken. Handig om dat even met je eigen account te volgen.
Want ik zie mijn toegevoegde virtuele netwerk niet. Als ik een vinkje zet bij "Verborgen typen weergeven" wordt mijn virtuele netwerk wel getoond!

Het gebruik van resource groups voor organisaties/bedrijven.

Zorg voor een consequente naamgeving. bedrijfsnaam - type van de resources - rg (resource group).
Het indelen kan op meerdere manieren zoals aangegeven. Maar het is ook handig voor de facturatie, omdat je dan kunt zien waar de kosten vandaan komen.

Azure Resource Manager (link). De Azure Resource Manager is een business-laag over de resource groups heen. Hiermee kun je:

  • Deploy Application resources. Update, beheer en verwijder al je resources voor je oplossing in een enkele actie.
  • Organize resources. Beheer je infrastructuur met declaratieve sjablonen (JSON) in plaats van scripts. Je kunt zien welke resources aan elkaar gelinkt bij door een afhankelijkheid en je kunt tags aan resources koppelen om ze te categoriseren voor management taken, zoals facturatie.
  • Beheer toegang tot resources. Je kunt beheren wie er acties op een resource uit kan voeren. Rollen, gebruikers/groepen daaraan toe wijzen en policies op resource group level doorvoeren.


Door met het derde blok, het definiëren van core Azure services en producten (link).

Azure Compute (link) is een on-demand service om cloud-gebaseerde applicaties uit te voeren. Hiermee krijg je schijven, processors, geheugen, networking en operating systems ter beschikking. Er zijn veel van dit soort diensten, degene die het vaakst gebruikt worden zijn virtuele machines en containers.

Je kunt een virtuele machine installeren (link), met virtual machine scale-sets kun je automatisch tig VM's laten draaien die er allemaal hetzelfde uit zien (link), met App-services (link) kun je snel applicaties bouwen en online zetten (bijvoorbeeld een web-applicatie of API, dit is een PaaS) of gebruik Azure Functions (link) om serverless acties uit te voeren.

In de walk-through gaan we in de sandbox een Virtuele Machine aanmaken en inrichten. Na via RDP ingelogd te zijn, powershell als administrator te starten dit commando uitvoeren:

Install-WindowsFeature -name Web-Server -IncludeManagementTools

Hierna kan ik in de browser het IP adres opvragen en zie ik het standaard scherm van IIS. Mooi, test geslaagd, VM weer verwijderd.

Als je meerdere instanties van een applicatie op 1 machine wilt draaien, dan is een container een goede oplossing.

Er zijn 2 manieren om Docker of Microsoft containers in Azure te beheren:

  • Azure Container Instances (link). De easy-peasy PaaS oplossing, jij upload de container, Azure zorgt dat deze actief wordt.
  • Azure Kubernetes Service (AKS) (link). Het beheren van een grote serie containers wordt benoemd als "orchestration". Dat is wat de Azure Kubernetes Service doet.


Containers volgen vaak een microservice architectuur. Hierbij worden delen opgesplits, bijvoorbeeld database, back-end en front-end. Hierdoor kun je, als bijvoorbeeld de database "vol loopt" je deze opschalen naar een grotere versie, terwijl de andere containers gelijk blijven.

Je kunt bestaande applicaties migreren naar containers (waar ze met ASK beheerd worden). De stappen voor omzetten zijn;

  1. Je converteert een bestaande applicatie naar 1 of meer containers en publiceert de images van de containers naar de Azure Container Registry.
  2. Door de Azure portal of command line te gebruiken deploy je deze containers naar een AKS cluster.
  3. Azure Active Directory beheert de toegang tot de AKS resources.
  4. Je benadert SLA-gefundeerde Azure services, zoals Azure Database voor mySQL via OSBA.
  5. Je kunt de AKS optioneel deployen met een virtueel netwerk.


In de walk-through gaan we in de sandbox een Container aanmaken en inrichten. Werkt!

Azure Networking (link). hier kunnen de netwerken binnen Azure op maat gemaakt worden.
Met Azure Virtual Network (link) kun je bijvoorbeeld Virtual Machines veilig met elkaar laten communiceren of bijvoorbeeld connectie maken met het eigen netwerk. Met de Azure Load Balancer (link) kun je het verkeer beheren. Met een Virtual Private Network (VPN) gateway (link) kun je verkeer encrypted over de lijn laten gaan. Met een Content Delivery Network (CDN) (link) kun je zorgen dat bijvoorbeeld afbeeldingen via een kortere lijn naar je bezoekers gaan waardoor er een betere performance van je site wordt ervaren.

We krijgen een voorbeeld voor het toevoegen van een virtueel netwerk en 2 Virtuele Machines aanmaken die dat netwerk gebruiken. Ik bekijk de tekst en uitleg, maar voer deze oefening niet uit.

We gaan door naar typen data. Je hebt gestructureerde data (relationele data, op te slaan in een database), semi-gestructureerde data, voorbeelden zijn boeken, HTML-pagina's die je  in een noSQL database kunt opslaan en als laatste de ongestructureerde data, zoals een PDF-bestand, afbeelding, video.

We hebben verschillende soorten Azure Storage (link). Zo heb je Disk Storage (binnen VM bijvoorbeeld), Containers (BLOB) bedoeld voor grote hoeveelheden ongestructureerde data, zoals tekst en binaire data, Files (via SMB toegang), Queues (bedoeld voor het opslaan en ophalen van berichten). Een queue-bericht kan tot 64kB groot zijn en een queue kan miljoenen van deze berichten bevatten. Tables, deze kunnen relationele data bevatten, en ook TB aan data. Het opslaan van gedenormaliseerde data voor het snel teruggeven van resultaat (zonder joins e.d.). Via een clustered index kunnen er supersnel query's uitgevoerd worden.

In de walk-through gaan we een blog-storage aanmaken. Gedaan, bestand geüpload, werkt!

We gaan naar de database services van Azure. Er zijn een aantal, zoals Azure Cosmos DB (link), bedoeld voor grote hoeveelheden data (een niet-relationele noSQL database). Dan heb je Azure SQL Database (link), juist wel voor relationele data. De Azure Database Migration Service (link) is bedoeld om jouw database-oplossing naar de cloud te migreren. Je hebt nog een aantal, mySQL, SQL Server, die zijn op deze detailpagina te vinden.

In de walk-through gaan we een database aanmaken. Na dat gedaan te hebben via de Query-Editor (preview) wat opvragen. Wel moeten we dan eerst bij de Firewall het client ip toevoegen. Query werkt, boel vervolgens weer verwijderen.

De Azure Marketplace (link). Dit is ook wat je ziet in de portal. Andere partijen bieden hier ook hun producten aan.

Vervolgens een 5-tal vragen om je kennis te testen, allemaal goed!

De voorgaande blokken namen aardig wat tijd (er staat een x aantal minuten, maar als je hier het verslag maakt en ook nog de voorbeelden zelf in Azure gaan testen, dan duurt het wel gauw 3x zo lang). Dus vrijdag 9 oktober aan de slag met het vierde blok, het identificeren van Azure oplossingen (link).

Nu ik zo gedetailleerd met Azure bezig ben, vraag ik me af of het ook wat voor mij is. Ik heb in Nederland bij een hoster een IIS VPS draaien en daar ben ik per maand 100 euro aan kwijt. Zou ik dit goedkoper kunnen doen op Azure? En zou ik andere sites in die omgeving in containers kunnen gooien? Een mooi punt om later eens uit te zoeken (want in het 4e blok, het laatste deel dus, komen Azure prijzen voorbij). 90% van de Fortune500 bedrijven hebben hun business in de cloud draaien.

We beginnen met het Internet van Dingen (the Internet of Things): link. Vroeger had je een PDA, later een smartphone, smartwatch, slimme thermostaat. Al die dingen, data verzamelen en aanleveren om er acties op uit te voeren vallen onder het IoT. Je hebt hier 2 onderdelen:

  • Azure IoT Central (link), de centrale omgeving om jouw IoT apps te beheren (SaaS).
  • Azure IoT Hub (link), bij central had je geen enkele technische kennis nodig, hier wel. Met de Hub kun je verkeer naar en van je IoT apparaten beheren. Er wordt zelfs de uitspraak gedaan dat je virtueel bijna elk device aan je IoT Hub kunt koppelen.
  • Met de IoT Product Selector kun je via vraag-antwoord-combinaties je gewenste oplossing vinden: link.

Vervolgens krijgen we een voorbeeld-scenario, ik ga ook even via mijn Azure-omgeving een IoT Hub aanmaken. Hier een virtuele Raspberry Pi aanmaken en via de simulator (link) connectie mee maken. Je ziet in de grafieken dat er verkeer is, gelukt.

We gaan door met big data en analytics. Een database is wel te query-en. Maar als je een hele grote hoeveelheid data hebt (satelliet-data, weer-data), dan is dat big data en moet je het anders aanpakken.

Zo heeft Azure open source cluster technologieën, zoals:

  • Azure Synapse Analytics (link), het voormalige Azure SQL Data Warehouse, een "grenzeloze" analytics service.
  • Azure HD Insight (link), een cloud service die het makkelijker, sneller en minder duur maakt om hele grote hoeveelheden data te verwerken. Met HD Insight kun je populaire open-source frameworks gebruiken en cluster types maken zoals Apache Spark, Apache Hadoop, Apache Kafka, Apache HBase, Apache Storm en Machine Learning Services. Ook ondersteunt het een groot aantal scenario's  zoals uitfilteren (extraction), omzetten (transformation) en inloaden (loading, ETL), data warehousing, machine learning en IoT.
  • Azure Data Lake Analytics (link). Data Lake Analytics is een analytics taken-service die je op afroep kunt uitvoeren en wat big data inzichtelijk moet maken. In plaats van het inrichten en tunen van hardware schrijf je query's om je data te transformeren en daar waardevolle inzichten uit te halen. De service kan elke taak van elke omvang uitvoeren, door in te stellen hoeveel "power" je nodig hebt. Alleen als de taak uitgevoerd wordt hoef je voor rekenkracht te betalen, waardoor het een betaalbare oplossing is.
  • En omdat er ook nog andere opties beschikbaar zijn, kun je via een vraag-antwoordlijst je gewenste oplossing vinden: link.


Azure Artificial Intelligence (kunstmatige intelligentie). Veel van deze diensten zitten om "machine learning'. De bekendste diensten zijn:

Azure Cognitive Services:

  • Vision - Met vision kun je apps en services de mogelijkheid bieden om elementen binnen afbeeldingen en video's correct te kunnen identificeren.
  • Speech - Met speech services kun je gesproken teksten omzetten naar tekst, of natuurlijk klinkende spraak genereren van tekst door het gebruik van standaard (of aanpasbare) voice fonts.
  • Language - Met language services kan de betekenis uit ongestructureerde tekst gehaald worden of de intentie van een spreker bepaald worden.
  • Knowledge - Knowledge services maken rijke kennis resources die je kunt integreren in apps en services.
  • Search - Met een reclame-vrije zoek-engine kun je apps en services de kracht bieden van een zoekmachine op schaal van een gewone zoekmachine op internet. Gebruik zoek services om informatie in biljoenen webpagina's, afbeeldingen, video's en nieuwsresultaten te vinden.

 

Azure Machine Learning Service (link):

Hiermee heb je een omgeving "in de cloud" waar je kunt ontwikkelen, testen, trainen, beheren en online aanbieden van jouw AI model. Volledige ondersteuning van open-source technologieën, dus je kunt 10.000-en python packages met machine learning componenten zoals TensorFlow en scikit-learn gebruiken. Uitgebreide tools, zoals Jupyter notebooks of Visual Studio Code Tools for AI maken het makkelijk om interactief data te beheren, omzetten, ontwikkelen en testen van modelen. Azure Machine Learning Service biedt ook features om automatisch modellen te genereren en te tunen.

Je kunt eerst lokaal de training starten en dat uitschalen naar de cloud. Als je het juiste model hebt, dan kun je dat eenvoudig overzetten naar een container, bijvoorbeeld Docker in Azure. Gebruik de Machine Learning Service als je in een Python omgeving werkt, je meer controle over je algoritmes wilt of als je allemaal open-source machine-learning bibliotheken wilt gebruiken.

Er zijn tig kant-en-klare Azure producten die je kunt gebruiken, bekijk daarvoor hier deze lijst: link.

Serverless Computing (link) is het in de cloud kunnen draaien van jouw code. Je hoeft je niet druk te maken over de onderliggende infrastructuur. Het gaat vaak om een REST endpoint, iets wat uitgevoerd moet worden op basis van een timer, of op basis van een request van een ander onderdeel in Azure. Scaling en performance wordt automatisch door Azure geregeld, je hoeft van tevoren geen zaken te reserveren. En je betaalt alleen voor het gebruik.

  • Azure Functions (link) is een stateless stuk code wat ongelimiteerd uitgevoerd kan worden. Als er wel data moet worden opgeslagen (en/of opgevraagd) dan kan dit gecombineerd worden met een Azure storage device.
  • Azure Logic Apps (link) is een cloud service waarmee je work-flows kunt uitwerken als je apps, data en systemen met elkaar moet integreren. In de gallery staan inmiddels meer dan 200 connectoren, waaronder SAP, Salesforce, Oracle DB en fileshares.
  • Azure Event Grid (link) biedt je de mogelijkheid om apps te maken die gebaseerd zijn op een event-driven architectuur. Het is een managed routing service waarmee je kunt subscriben/publishen. Azure Event Grid bevat standaard ondersteuning voor events die uit Blobs en Resource Groups komen.


In de walk-through gaan we een Azure Function aanmaken. HTTP call, ik zie het terug in de logs, werkt!

DevOps (link) staat voor Development en Operation. Niemand wil zijn website meer via FTP bijwerken (toch???), maar netjes via een Build-server een nette deployment doen. De items die hier benoemd worden zijn:

  • Azure DevOps Services (link) biedt tools om gezamenlijk te ontwikkelen, met piplelines, private GIT repo's, Kanban boards en uitgebreide automatisering en cloud-gebaseerde load-testing. DevOps Services was vroeger bekend onder de naam Visual Studio Team Services (VSTS).
  • Azure Labs Services (link) biedt ontwikkelaars en testers de mogelijkheid om snel omgevingen in Azure op te zetten, terwijl rotzooi en kosten beperkt blijven. Gebruikers kunnen snel de nieuwste versie van hun applicatie testen door een Windows of Linux omgeving te provisionen, door gebruik te maken van herbruikbare sjablonen en artifacten. Je kunt het makkelijk met je deployent pipeline integreren om te provisionen naar on-demand omgevingen. Met DevTest Labs kun je load-testing opschalen door meerdere test agents te installeren en voor-geinstalleerde omgevingen voor trainingen en demo's aanmaken. Lab Services was vroeger bekend als DevOps Test.


Met Azure App Service (link) kun je snel en makkelijk websites en mobiele apps maken voor elk platform of apparaat. Wat zijn de positieve punten/mogelijkheden van de Azure App Service?

  • Meerdere programmeertalen en frameworks. First-class ondersteuning voor ASP.NET, ASP.NET Core, Java, Ruby, Node.js, PHP, or Python. Ook kun je Powershell uitvoeren en andere scripts/uitvoerbare bestanden als background services.
  • DevOps optimalisatie. Configureer de boel, zodat continuous depoloyment en integration kunt uitvoeren met Azure DevOps, GitHub, BitBucket, Docker Hub  of Azure Container Registry. Voer je updates door met hulp van test en staging omgevingen. Beheer je apps in App Service met Azure Powershell of de cross-platform command-line-interface (CLI).
  • Globale schaal met hoge beschikbaarheid. Schaal handmatig of automatisch op (of terug). Door de App Service SLA heb je een hoge uptime/beschikbaarheid.
  • Maak verbinding met SaaS platformen en data in het eigen datacenter. Kies uit meer dan 50 connector met enterprise systemen (bijvoorbeeld SAP), SaaS services (bijvoorbeeld Salesforce), en internet services (bijvoorbeeld Facebook). Verbinding maken met je eigen server doe je met Hybrid Connections en Azure Virtual Networks.
  • Security and compliance. App Service is ISO, SOC, en PCI compliant. Authenticeer gebruikers met Azure Active Directory of met social login (Google, Facebook, Twitter, and Microsoft).
  • Create IP address restrictions and manage service identities.
  • Application templates. Kies uit een uitgebreide lijst van applicatie sjablonen in de Azure Marketplace, zoals WordPress, Joomla, and Drupal.
  • Visual Studio integratie. Tools in Visual Studio zorgen voor een gestroomlijnde workflow tijdens het bouwen, deployen en debuggen.
  • API en mobile features. App Service bieden turn-key CORS support voor RESTful API scenarios, en maakt mobiele app scenario's makkelijker door authentication, offline data sync, push notifications en meer aan te bieden.
  • Serverless code. Voer "even snel" een stukje code/script uit zonder uitgebreid een systeem op te hoeven bouwen.


In de walk-through gaan we een Web-App aanmaken, het is dezelfde app als in het Hello-World voorbeeld. Ik sla deze oefening daarom over.

Dan komen we in het scherm met de vragen, allemaal goed. En door.

En dan het laatste blok, differentiatie van Azure management tools (link). We starten met Azure Management Tools. Daar zijn meerdere van beschikbaar:

  • Azure Portal. Dit is een web-interface. De acties doe je "met het handje", dus hier kun je niet even geautomatiseerd 20 virtuele machines met eens script aanmaken.
  • Powershell is de tegenhanger, hierin kan dit wel degelijk. Powershell heeft het New-AzVM-command waarmee je een VM aan kunt maken. Dit draait alleen onder Windows.
  • Azure Command Line Interface (CLI) is de cross-platform-variant van Powershell.
  • Azure Cloud Shell is een omgeving waarin je scripts kunt uitvoeren in je browser.
  • Azure Mobile App, met deze app kun je op je mobiel:


        De status en belangrijke grafieken van je services bekijken.
        Op de hoogte blijven met notificaties en alerts over belangrijke problemen met de systemen
        Snel, op elke plek een diagnose kunnen stellen en problemen kunnen oplossen
        Bekijk nog even de laatste Azure alerts
        Start, stop en herstart virtuele machines of web apps
        Maak verbinding met je virtuele machine
        Beheer de rechten met role-based access control (RBAC)
        Gebruik de Azure Cloud Shell om opgeslagen scripts uit te voeren of om niet geplande administratieve taken uit te voeren

  • Azure REST API, via een API acties uitvoeren of data opvragen bij Azure.


Azure Advisor (link) geeft je advies over hoge beschikbaarheid, veiligheid, performance en kosten.

We gaan naar de walk-through. We gaan eerst een virtuele machine met een sjabloon aanmaken. We worden eerst doorverwezen naar de "snel-start-sjablonen": link. We gaan rechtstreeks naar de "deploy a simple VM script": link. Dat gaat allemaal goed.
Volgende walk-through is met Powershell. Ik krijg de melding dat er geen opslag gekoppeld is en dat daar geringe kosten tegenover staan, prijslijst is hier te vinden: link. Er komen vervolgens een aantal Powershell commando's voorbij die ik hier even gezamenlijk plaats;

Get-AzResourceGroup | Format-List

New-AzVm `
-ResourceGroupName "[sandbox resource group name]" `
-Name "myVMPS" `
-Location "West US" `
-VirtualNetworkName "myVnetPS" `
-SubnetName "mySubnetPS" `
-SecurityGroupName "myNSGPS" `
-PublicIpAddressName "myPublicIpPS"
Get-AzVM -name myVMPS -status | Format-List
Stop-AzVM -ResourceGroupName [sandbox resource group name] -Name myVMPS

Ook dat gaat allemaal goed. Tijdens aanmaken wordt username + password gevraagd.

Daarna komt nog de CLI-variant. Die voer ik niet meer uit, maar hierbij nog wel even de commando's die hier gebruikt worden:

az group list --output table

az vm create \
--name myVMCLI \
--resource-group [sandbox resource group name] \
--image UbuntuLTS \
--location EastUS \
--admin-username azureuser \
--admin-password Pa$$w0rd1234

az vm show --resource-group [sandbox resource group name] --name myVMCLI --show-details --output table

az vm stop --resource-group [sandbox resource group name] --name myVMCLI

Hierna volgt weer een lijst met vragen, 2 stuks. Beide correct beantwoord. Hiermee heb ik dit blok afgerond, ik moet er nu dus nog 2!