Skip to content

AreejAlhaji/iac-training

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 

Repository files navigation

About the course

  This course will provide you in an virtual hands-on session how to setup infrastructure by using code. Please see agenda with details. After this course you will be able to use common technologies like ARM templates, Powershell to deploy fast and with little effort infrastructure to the Azure Cloud.  

Schedule

  • Day before the actual training:

    • Meeting - Preparation of the system – for all participants
  • Day 1:

    • 09:00 – 10:00  Part1 - What is Infrastructure as Code (IaC)
    • 10:00 – 11:30  Part2 - Microsoft Azure Automation
    • 11:30 – 12:30  Lunch Break
    • 12:30 – 15:30  Part 3 - Setting up an IaC Environment (ARM, PowerShell, Azure CLI)
    • 15:30 – 16:00  Q&A
  • Day 2:

    • 09:00 – 09:20  Recap
    • 09:20 – 11:30  Part 4a - IaC Automation Pipelines
    • 11:30 – 12:30  Lunch Break
    • 12:30 – 13:00  Part 4b - IaC Automation Pipelines (continued)
    • 13:00 – 13:30  Q&A
    • 13:30 – 16:00  Part 5 - Practical Hints and Real life scenarios

Prerequisites for participants

  • Knowledge of Azure DevOps
  • Basic Knowledge of Git
  • Azure
    • owner rights on Azure Subscription in order to create resources
    • enough of credit to run the exercises
    • have enough of privileges on local machine to install used software (e.g. PowerShell modules or  Azure CLI, optionally running from VM in Azure)
    • enough rights on Azure AD (tenant) to create new service principal identity or use existing one ( demonstrate Azure DevOps Service connection and demonstrate deployment to subscription via Azure Pipeline)

Training Overview

  • Part1 - What is Infrastructure as Code (IaC)

    • In this session we will explore general principles of Introduction to IaC, types of IaC (imperative vs declarative), types of infrastructure in Azure (IaaS, PaaS, SaaS), Shared security responsibility
  • Part2 - Microsoft Azure Automation

    • In this session we will look at Azure Resource Managed Concept, use Azure Cloud Shell, API, Azure Classic, explore the
      Azure AD and relationships to tenant, subscription, managed group. Explore specific Azure Resources in respect to IaC- networking, security, databases, VMs, etc. and explore influence of Cloud/Solution Architecture on IaC
  • Part 3 - Setting up an IaC Environment (ARM, PowerShell, Azure CLI)

    • In this session we will Install use Azure CLI, Powershell Azure AZ locally, use ARM templates to create Infrastructure in Azure via IaC, explore ARM syntax details and well as way to extend the ARM templates. Will talk about Powershell DSC and Azure Automation (DSC, RunBooks, etc.). Will look at usage of Visual Studio Code to Deploy ARM via Azure CLI or Powershell.
  • Part 4 - IaC Automation Pipelines

    • Configuration as a Code
      • In this session we will focus on configuration of IaC for the purpose of multi environment configuration. Explore Azure DevOps and KeyVault integration (Library vs Task), Link ARM to Key Vault secrets and VM Extension to configure Settings on VM
    • Continuous Integration/Continuous Deployment (CI/CD)
      • In this session we will explore Azure DevOps and prerequisites like Service Principals and Managed Identity to automatically deploy IaC, explore differences between Linux and Windows in respect to the configuration and see additional components required for deployment On-premise vs in Cloud via Build agents (exercise: register the VM as a build agent)
  • Part 5 - Practical Hints and Real life scenarios

    • In this session we will try to answer any Q&A, Focus on areas which require more attention based on the group skills. Looking at real life examples and lessons learned from real projects. Based on the time we will cover some additional topics like lock resources, tag Resources, move resources or Modern Engineering and IaC.

Training Topics additional sources

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PowerShell 74.5%
  • C# 9.6%
  • HTML 8.5%
  • Shell 3.8%
  • CSS 3.1%
  • JavaScript 0.5%