Hands on Azure Infrastructure as Code 101

Inleiding

Naarmate meer software in de cloud wordt gedraaid, wordt een goede inrichting van IT-Infrastructuur steeds belangrijker. De code die wij inzetten voor een efficiënte en overzichtelijke manier om jouw software te laten draaien, noemen we ook wel Infrastructure as code – of IaC.

Infrastructure as Code geeft aan dat wij als bedrijf de infrastructuur kunnen definiëren en beheren door middel van code. Infrastructuur is dus programmeerbaar. Dit geeft voordelen. Denk aan snel provisionen, consistentie, continuïteit, toezicht en review op veiligheid, mogelijkheid tot uitvoeren van rollbacks en inzichtelijkheid van veranderingen in IT-configuraties (version management, controle en inzicht).

De vierdaagse training Hands on Infrastructure as Code gaat in op de uitdagingen voor system engineers en DevOps teams die zo efficiënt mogelijk naar de cloud willen. In deze 4-daagse opleiding geven we je een springplank en leren we je hoe jouw Azure Landing Zone het beste kan worden ingericht.

Dit is een zeer praktijkgerichte training waarbij we je bouwstenen geven voor het automatiseren van processen, inzichten geven in software best practices en ook hoe deze toepasbaar zijn op infrastructuur. We beantwoorden de vragen: Hoe en waarom automatiseren in de cloud?

 

Schrijf je hier in

Voor wie is deze training?

Engineers en systeembeheerders die infrastructure as code onder de knie willen krijgen.

Waar en wanneer

De 4-daagse training zal bij ons op kantoor plaatsvinden:
Schijfstraat 8
5061 KB Oisterwijk

Afhankelijk van het aantal inschrijvingen worden de trainingsdata in overleg bepaald.

De kosten voor een vierdaagse cursus zijn €2,000 inclusief lunch en materialen.
We houden de trainingen in kleine groepen van maximaal 8 deelnemers zodat er genoeg aandacht is voor vragen.

Aan het eind van deze training kun je..

Een Azure resource configuratie aanpassing doorvoeren in code (bicep) en m.b.v. een CI/CD pipeline implementeren. 

Bicep modules maken t.b.v. de deployment van oa : 

  • Resource group 
  • Virtual Network (VNet) met subnet 
  • Network Security Group (NSG) 
  • NSG rule 
  • Windows VM (met 1 network interface en data disk) 

De gemaakte Bicep modules in een Bicep template gebruiken waarbij je de resources integreert.

Over Infield ICT

Infield ICT staat voor kwaliteit. Dat is ook waar onze naam naar verwijst. ‘Infield’ is een term uit de honkbalsport: bij uitstek de sport waarin je als team samenwerkt, maar waarin iedere speler ook kan uitblinken met zijn of haar individuele kwaliteiten. Die ingesteldheid maakt ons slagvaardig! We onderscheiden ons daarbij op prijs én kwaliteit. Het is onze missie om ICT-dienstverlening transparanter te maken. ICT is heus niet zo moeilijk, zolang je het maar goed aanpakt.

Programma

Dag 1. Wat is Infrastructure as Code precies?

De eerste dag gaan we in op Imperative vs Declarative, DevOps perspective en behandelen we tools zoals API’s en GUs. Daarnaast bespreken we de voordelen van Infrastructure as Code zoals: IaC automation, IaC declarative approach en het IaC human-readable format.

De Azure Resource Manager en ARM templates komen aan bod, waarbij we inzoomen op de structuur en syntax van ARM templates. We gaan in op Bicep en laten zien hoe je een template (resource group/vNet/NSG) en een linked template maakt.

Tenslotte zetten we samen een development omgeving op met gebruik van Visual Studio Code, Powershell een Azure trial subscription en Azure DevOps.

Dag 2. Modules

Op dag 2 gaan we aan de slag met Bicep. We schrijven een Vnet Bicep module en deployen we deze middels een Azure pipeline. De volgende onderwerpen worden samen behandeld en in de praktijk toegepast:

  • Resource group Bicep module
    • Waarom Bicep
    • Wat zijn de best practices
    • Het maken van een Bicep module resource group
    • Het maken van een Bicep deployment template
    • Wat zijn Azure PowerShell & Azure CLI?
    • Deployen resource group using the Bicep template
  • Azure Pipelines
    • The basics (CI/CD, git, pipeline as code)
    • het opzetten van een pipeline
  • Opstellen Virtual Network Bicep module met één subnet
    • Bicep module VNet
    • Add VNet module to deployment template
    • Deployen VNet using the build pipeline
Dag 3. Integraties

Op dag 3 gaan we in op het vraagstuk “nesting or not?” we maken een NSG module met Bicep en deployen deze samen met een VM naar Azure via de build pipeline.

  • Nesting or not
    • Nesting maximaal 5 lagen diep
    • Output nested resource (met gebruik van de ‘::’ operator)
    • Parent property in een child resource (geen nesting)
  • Opstellen network security group (NSG) Bicep module
  • Uitbreiden Bicep template en parameter file met NSG
    • Integreren NSG met bestaand subnet
  • Deployen NSG gebruikmakend van de build pipeline
  • Opstellen Windows VM Bicep module met 1 NIC en 1 data disk 
Dag 4. Day-2 'management'

Op de laatste dag van de training behandelen we het management van de resources. Hoe kunnen we het beste functionaliteit toevoegen, testen en valideren?.

  • Uitbreiden Bicep template en parameter file met Windows VM
  • Deployen Windows VM gebruikmakend van pwsh m.b.v. Bicep template
    • Test RDP-verbinding naar Windows VM
  • Toevoegen NSG rule aan NSG Bicep module
  • Uitbreiden Bicep template en parameter file met NSG rule
  • NSG rule update deployen gebruikmakend van de build pipeline
    • Test RDP-verbinding naar Windows VM
  • VM Bicep module aanpassen zodat meerdere data disks op basis van input deployed worden (dynamisch)