Presentation is loading. Please wait.

Presentation is loading. Please wait.

"SessionTitle": "Infrastructure as Code"

Similar presentations


Presentation on theme: ""SessionTitle": "Infrastructure as Code""— Presentation transcript:

1 "SessionTitle": "Infrastructure as Code"
{ "parameters": { "SessionTitle": "Infrastructure as Code" }, "variables": { "Speaker": "Marcel Zehner", "Role": "itnetX CTO" "resources": [ ], }

2 Challenges in a modern IT landscape
More and more complex infrastructures Relations between components Modification of a component has impact on others Configuration drifts Admins don’t follow the processes No change management Manual configuration Slow, errors, inconsistent and boring Too many permissions And tons of other challenges …

3 2 Approaches for IaC Imperative (procedural) Declarative (functional)
Configuration is done step-by-step Automation scripts deploy and configure everything Classic approach (Powershell Scripts, Batch Files, SDK etc.) Declarative (functional) Final state of system is described Automation process configures everything as described Modern approach (Azure Resource Manager, Powershell DSC) And many 3rd Party Tools (e.g. Puppet or Chef)

4 imperative declarative 2 Approaches for IaC New-AzureVM –VM $myVM
New-AzureStorageAccount –StorageAccountName $acct Set-AzureVNetConfig –ConfigurationPath -Path imperative declarative { "$schema": " "contentVersion": " ", "parameters": {}, "variables": {}, "resources": [], "outputs": {} }

5 Demo Imperative Azure Provisioning

6 Azure Resource Manager (ARM)
Manages resource providers Resource providers manage resources Azure virtual network Azure sql database Azure LogicApp Azure virtual machine Etc.

7 Azure Resource Manager (ARM)
Resources can be grouped in resource groups Containers Resources that share the same lifecycle Every resource exists in only 1 resource group Access delegation to resource group possible RBAC Resource Group

8 Consistent Management Layer
Azure Resource Manager Consistent Management Layer Tools Visual Studio Microsoft Azure Command line RESOURCE MANAGER API RESOURCE MANAGER Contoso ADFS AAD Curated extensions Azure AD ADFS RESOURCE PROVIDER CONRACT Resource Providers DB

9 One Azure Ecosystem Microsoft Azure Microsoft Azure Stack Applications
Microsoft Build 2016 11/14/2018 1:42 PM One Azure Ecosystem Applications Windows | Linux Java, PHP, .NET, … IaaS PaaS Containers Operations Templates PowerShell, CLI Puppet, Chef, DSC Metrics Diagnostics Experiences Portal Gallery RBAC GitHub Tools Visual Studio Eclipse Azure Ecosystem Microsoft Azure Public National Government Service Providers Enterprises Microsoft Azure Stack © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

10 ARM Templates ARM has an API that understands human-readable JSON Files Declarative, not imperative Can be created in a variety of tools Visual Studio Code Visual Studio with Azure SDK Lifecycle Describe the app Test the deployment in Test Environment Deploy the exact same configuration in the production environment

11 Source Control & Versioning
Follow DevOps processes and best practices Available solutions Visual Studio Online TFS Git/Github

12 Demo Creating and deploying an ARM template

13 Powershell DSC Overview
Declarative approach for VM configuration VM can be deployed with ARM Step 2 would be the configuration of the VM MOF file assigned to VM One or more, depending on requirements and used technologies Can be pushed or pulled Local configuration manager consumes the configuration Monitor only Remediate

14 Powershell DSC Step-by-Step
Create DSC Configuration File Import into Azure Automation Compile Configuration File into Node Configuration Files One MOF per Role Existing Files are overwritten Add DSC Nodes to Azure Automation Pull Server Azure VMs (VM DSC Extension) Any other VMs Assign Node Configuration to VM

15 Powershell DSC Step-by-Step

16 Demo Managing VMs with Azure Automation DSC

17 Conclusion Use declarative approach where possible Use Version Control
Azure Resource Manager (ARM) Powershell DSC, Azure Automation DSC Use Version Control VSO, TFS, GitHub etc. Visual Studio and Powershell are your friends, not your enemies!

18 "SessionTitle": "Infrastructure as Code"
{ "parameters": { "SessionTitle": "Infrastructure as Code" }, "variables": { "Speaker": "Marcel Zehner", "Role": "itnetX CTO" "resources": [ ], }


Download ppt ""SessionTitle": "Infrastructure as Code""

Similar presentations


Ads by Google