expo sponsors - intelligent cloud conference · •vm extensions: small applications that provide...

25

Upload: others

Post on 13-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet
Page 2: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

Expo Sponsors

Event Sponsors

Expo Light Sponsors

Page 3: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

Automation Tools for Azure

Aleksandar Nikolić | Microsoft MVP

@alexandair

Page 4: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

Agenda

•Azure PowerShell

•Azure CLI 2.0

•ARM Template

•Azure Building Blocks

•Terraform

•Ansible

Page 5: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

PS> whoami

Aleksandar Nikolić

PowerShell and Azure trainer

Microsoft Azure MVP

Cloud and Datacenter Management MVP

Co-founder of PowerShellMagazine.com

@alexandair

Page 6: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

Infrastructure automation tools

•A management in a consistent manner at scale

• Some form of automation is desired

•Many tools allow you to automate the complete Azure infrastructure deployment and management lifecycle

Page 7: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

Infrastructure automation tools

• Automate the configuration of VMs

• Automate infrastructure management

• Automate application deployment and delivery

• Azure PowerShell

• Azure CLI 2.0

Page 8: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

Automate the configuration of VMs

• Ansible

• Chef

• Puppet

• Desired State Configuration (DSC)

• VM customization for Linux VMs

• cloud-init

• VM customization for all Azure VMs

• Azure Custom Script Extension

Page 9: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

Automate infrastructure management

• The infrastructure build process• ARM template• Azure Building Blocks• Terraform

• Custom VM image builds• Packer

• Azure Automation

Page 10: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

Application deployment and delivery

• Visual Studio Team Services (VSTS)

• Jenkins

Page 11: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

How to use them

• Locally• PowerShell console or some other shell• Windows Subsystem for Linux (WSL)

• Azure Cloud Shell

• Visual Studio Code

• Docker containers

Page 12: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

Azure PowerShell

• AzureRM, a set of modules that use the ARM model

• PowerShell Gallery or GitHub repo (.msi)

• Azure Cloud Shell (public preview)• UPDATE: https://azure.microsoft.com/en-us/blog/pscloudshellrefresh/

• AzureRM.Netcore runs on top of PowerShell Core

Page 13: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

Azure PowerShellDEMO

Page 14: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

Azure VM extensions

• Azure VM Agent is a secure, lightweight process that manages VM interaction with the Azure Fabric Controller

• VM extensions: Small applications that provide post-deployment configuration and automation tasks

• PowerShell DSC, Chef, Puppet and Custom Script Extensions

• If the application in the extension repository does not exist, then you can use the Custom Script extension and configure your VM with your own scripts and commands

Page 15: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

Azure CLI 2.0

• Command-line experience for managing Azure resources

• Install it on macOS, Linux, and Windows

• Azure Cloud Shell (both, Bash and PowerShell)

• Based on Python

• az interactive

• Run it in a Docker container (Linux)• docker run -it microsoft/azure-cli

Page 16: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

Azure CLI 2.0DEMO

Page 17: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

ARM Template • Deployment of resources using templates

• Resources are JSON objects

• Customize the deployment parameterizing some of the property values

• Very powerful; deploy large and complex architectures

• Require a great deal of knowledge

• Authoring is not for the faint of heart

Page 18: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

ARM TemplateAA and ARM TemplateDEMO

Page 19: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

Azure Building Blocks

• A tool for deploying Azure infrastructure based on proven practices

• A CLI tool (azbb) and set of ARM templates designed to simplify deployment

• Requires Azure CLI 2.0

• Specify settings for using the Building Blocks JSON schema

• azbb merges these settings with best practice defaults

• Produce a set of parameter files

• azbb deploys these parameter files using a set of pre-built ARM templates

Page 20: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

Azure Building Blocks

Page 21: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

Azure Building Blocks DEMO

Page 22: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

Terraform

• Allows you to define and create an entire Azure infrastructure

• A template format language - the HashiCorp Configuration Language (HCL).

• Use your existing Terraform templates for other platforms (AWS, Google Cloud…)

• No need to convert to an ARM template

Page 23: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

TerraformDEMO

Page 24: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

Ansible

• An automation engine for configuration management, VM creation, or app deployment

• Uses an agent-less model

• Authenticates and manages target machines using the SSH keys

• Configuration tasks are defined in playbooks

Page 25: Expo Sponsors - Intelligent Cloud Conference · •VM extensions: Small applications that provide post-deployment configuration and automation tasks •PowerShell DSC, Chef, Puppet

AnsibleDEMO