SlideShare a Scribd company logo
1 of 19
Ido Flatow
Senior Architect
Microsoft MVP
SELA Group
Automating Windows Azure
Because the Management Portal is so 2012
@idoFLATOW
http://bit.ly/flatow-blog
This presentation:
http://sdrv.ms/13HplxU
www.devconnections.com
AUTOMATING WINDOWS AZURE
ABOUT ME
 Senior architect, Sela Group
 Co-author of:
 Developing Windows Azure and Web Services –
Microsoft official course
 WCF 4 – Microsoft official course
 Pro .NET Performance – Apress
 Microsoft MVP
 Focus on server, services, and cloud
technologies
 Manager of the Israeli Web Developers User
Group
www.devconnections.com
AUTOMATING WINDOWS AZURE
DEPLOYMENT SCENARIOS
 New product version/build
 Creating new environments (dev, test, staging)
 Deploying to new data centers
 Provisioning components for new tenants
(multitenant applications)
 Installing entire system using customer’s
subscription
 Disaster recovery
3
www.devconnections.com
AUTOMATING WINDOWS AZURE
WE NEED AUTOMATION BECAUSE
4
 The checklist becomes annoying after
the third time
 We miss a step during each and every
deployment
 Someone will eventually need to update
the deployment instructions (but not me!)
 Five VMs done, 45 to go
 We want to go home before dawn
www.devconnections.com
AUTOMATING WINDOWS AZURE
WE NEED AUTOMATION BECAUSE
5
We just want something
to double-click so
we can go home on time!
www.devconnections.com
AUTOMATING WINDOWS AZURE
HOW STUFF WORKS
6
HTTP Management APIs
www.devconnections.com
AUTOMATING WINDOWS AZURE
HOW STUFF WORKS
7
www.devconnections.com
AUTOMATING WINDOWS AZURE
HOW STUFF WORKS
8
HTTP Management APIs
HTTPS
x.509 Client Cert.
XML
www.devconnections.com
AUTOMATING WINDOWS AZURE
WHAT CAN WE AUTOMATE?
9
Web Sites Virtual Machines Mobile Services Cloud Services
SQL Database Storage
Media Services Service Bus
Virtual Network Traffic Manager
Locations Affinity Groups Certificates
SQL ReportingHDInsight Recovery Services
Active Directory CDN
AlertsLinked Resources
Has HTTP APIs No HTTP APIs
www.devconnections.com
AUTOMATING WINDOWS AZURE
HOW TO AUTOMATE
10
www.devconnections.com
AUTOMATING WINDOWS AZURE
COMMAND LINE TOOLS
Command Line Interface (CLI)
 Runs on Windows, Mac, and
Linux
 Written in Node.js
 Commands can return JSON
 Scripting with:
 Linux tools, such as grep,
awk, and sed
 Javascript with Azure-scripty
(node-based)
PowerShell Cmdlets
 Run only on Windows
 Larger toolset
 Commands return .NET
objects
 Scripting with
 PowerShell piping
 PowerShell scripts
11
www.devconnections.com
AUTOMATING WINDOWS AZURE
THE BASICS:
AZURE ACCOUNTS
12
Get-AzurePublishSettingsFile
Import-AzurePublishSettingsFile $pathToPublishSettingsFile
# Or manually set the subscription
Set-AzureSubscription -subscriptionname $name -certificate $cert
-subscriptionid $id
azure account download
azure account import <pathToPublishSettingsFile>
www.devconnections.com
AUTOMATING WINDOWS AZURE
THE BASICS:
WEB SITES & CLOUD SERVICES
13
New-AzureWebsite -Name $name -Location "East US“
New-AzureService -ServiceName $name -Location “East US“
azure site create --location "East US" <Name>
azure service create --location "East US" <Name>
www.devconnections.com
AUTOMATING WINDOWS AZURE
THE BASICS:
VIRTUAL MACHINES
14
$image = Get-AzureVMImage | ? {$_.ImageFamily -like
'*2012*Datacenter'} | sort $_.PublishedDate | select –first 1
New-AzureQuickVM -Windows -Name $name -Location "East US"
-ImageName $image.ImageName -ServiceName $cloudServiceName
-AdminUsername myAdmin -Password $password
image=$(azure vm image list | grep 'Windows-Server-2012-Datacenter-
201308.01' | awk '{print ($2)}')
azure vm create $name $image administrator $pass --location "East US" -r
www.devconnections.com
AUTOMATING WINDOWS AZURE
VIRTUAL MACHINES
WITH AZURE-SCRIPTY
15
var scripty = require('azure-scripty');
scripty.invoke('vm image list', function(err, results) {
var imageName = results[0].Name;
cmd = {
command: 'vm create',
rdp: true,
positional: [process.argv[2],imageName, 'administrator', process.argv[3]],
location: '"' + process.argv[4] + '"'};
scripty.invoke(cmd);
});
node createVM.js myNewVM mypassword ‘East US’
www.devconnections.com
AUTOMATING WINDOWS AZURE
SUPPORTED SERVICES
SQL Database Storage
Service Bus
HDInsight
Web Sites Virtual Machines Cloud Services Mobile Services
Virtual Network
Affinity Groups Certificates
SQL Database Storage
Service Bus
Web Sites Virtual Machines Cloud Services
Virtual Network
Affinity Groups Certificates Locations Name Test
Store Add-ons
www.devconnections.com
AUTOMATING WINDOWS AZURE
AUTOMATING WINDOWS AZURE
Seeing is Believing!
17
www.devconnections.com
AUTOMATING WINDOWS AZURE
WHAT ABOUT ALL THE REST?
 Use the HTTP-based APIs
 Require some coding (curl, python, C#, …)
 Don’t forget to authenticate
 MSDN documentation is available
http://msdn.microsoft.com/library/jj152841.aspx
 You are not the first one to try this
 Windows Azure SDK (Python, Node, PHP, Ruby, …)
 ElastaCloud Azure Fluent Management (.NET)
 Windows Azure Service Management Library (.NET)
18
Media Services Traffic Manager VNet Gateway Management Certs. …
www.devconnections.com
AUTOMATING WINDOWS AZURE
RESOURCES
19
Too many resources for a single slide
Presentation and resources can be found here:
sdrv.ms/13HplxU
idof@sela.co.il @idoflatow http://bit.ly/flatow-blog

More Related Content

What's hot

Elastic Beanstalk 이용한 Django 배포
Elastic Beanstalk 이용한 Django 배포 Elastic Beanstalk 이용한 Django 배포
Elastic Beanstalk 이용한 Django 배포 Kim SeokYoung
 
Service worker: discover the next web game changer
Service worker: discover the next web game changerService worker: discover the next web game changer
Service worker: discover the next web game changerSandro Paganotti
 
ReactJS & Material-ui Hello world
ReactJS & Material-ui Hello worldReactJS & Material-ui Hello world
ReactJS & Material-ui Hello worldDaniel Lim
 
Socket.IO - Alternative Ways for Real-time Application
Socket.IO - Alternative Ways for Real-time ApplicationSocket.IO - Alternative Ways for Real-time Application
Socket.IO - Alternative Ways for Real-time ApplicationVorakamol Choonhasakulchok
 
Using Groovy with Jenkins
Using Groovy with JenkinsUsing Groovy with Jenkins
Using Groovy with Jenkinssascha_klein
 
Terraform bootstrap code_execute
Terraform bootstrap code_executeTerraform bootstrap code_execute
Terraform bootstrap code_executerknaik76
 
A re introduction to webpack - reactfoo - mumbai
A re introduction to webpack - reactfoo - mumbaiA re introduction to webpack - reactfoo - mumbai
A re introduction to webpack - reactfoo - mumbaiPraveen Puglia
 
Nikita Tuk: Handling background processes in iOS: problems & solutions
Nikita Tuk: Handling background processes in iOS: problems & solutionsNikita Tuk: Handling background processes in iOS: problems & solutions
Nikita Tuk: Handling background processes in iOS: problems & solutionsmdevtalk
 
Database sql-mirroring
Database sql-mirroringDatabase sql-mirroring
Database sql-mirroringARUN SUNDAR B
 
Hello click click boom
Hello click click boomHello click click boom
Hello click click boomsymbian_mgl
 
Develop and Deploy your JavaEE micro service in less than 5 minutes with Apac...
Develop and Deploy your JavaEE micro service in less than 5 minutes with Apac...Develop and Deploy your JavaEE micro service in less than 5 minutes with Apac...
Develop and Deploy your JavaEE micro service in less than 5 minutes with Apac...Alex Soto
 
Deploying Rails App On Ec2
Deploying Rails App On Ec2Deploying Rails App On Ec2
Deploying Rails App On Ec2Akhil Bansal
 
Power shell examples_v4
Power shell examples_v4Power shell examples_v4
Power shell examples_v4JoeDinaso
 

What's hot (19)

Elastic Beanstalk 이용한 Django 배포
Elastic Beanstalk 이용한 Django 배포 Elastic Beanstalk 이용한 Django 배포
Elastic Beanstalk 이용한 Django 배포
 
Service worker: discover the next web game changer
Service worker: discover the next web game changerService worker: discover the next web game changer
Service worker: discover the next web game changer
 
ReactJS & Material-ui Hello world
ReactJS & Material-ui Hello worldReactJS & Material-ui Hello world
ReactJS & Material-ui Hello world
 
Socket.IO - Alternative Ways for Real-time Application
Socket.IO - Alternative Ways for Real-time ApplicationSocket.IO - Alternative Ways for Real-time Application
Socket.IO - Alternative Ways for Real-time Application
 
Using Groovy with Jenkins
Using Groovy with JenkinsUsing Groovy with Jenkins
Using Groovy with Jenkins
 
Terraform bootstrap code_execute
Terraform bootstrap code_executeTerraform bootstrap code_execute
Terraform bootstrap code_execute
 
A re introduction to webpack - reactfoo - mumbai
A re introduction to webpack - reactfoo - mumbaiA re introduction to webpack - reactfoo - mumbai
A re introduction to webpack - reactfoo - mumbai
 
MassMigrateUsersOU
MassMigrateUsersOUMassMigrateUsersOU
MassMigrateUsersOU
 
Socket.IO
Socket.IOSocket.IO
Socket.IO
 
Nikita Tuk: Handling background processes in iOS: problems & solutions
Nikita Tuk: Handling background processes in iOS: problems & solutionsNikita Tuk: Handling background processes in iOS: problems & solutions
Nikita Tuk: Handling background processes in iOS: problems & solutions
 
Database sql-mirroring
Database sql-mirroringDatabase sql-mirroring
Database sql-mirroring
 
Hello click click boom
Hello click click boomHello click click boom
Hello click click boom
 
Socket.io (part 1)
Socket.io (part 1)Socket.io (part 1)
Socket.io (part 1)
 
Develop and Deploy your JavaEE micro service in less than 5 minutes with Apac...
Develop and Deploy your JavaEE micro service in less than 5 minutes with Apac...Develop and Deploy your JavaEE micro service in less than 5 minutes with Apac...
Develop and Deploy your JavaEE micro service in less than 5 minutes with Apac...
 
Deploying Rails App On Ec2
Deploying Rails App On Ec2Deploying Rails App On Ec2
Deploying Rails App On Ec2
 
Intalacion de owncloud
Intalacion de owncloudIntalacion de owncloud
Intalacion de owncloud
 
Power shell examples_v4
Power shell examples_v4Power shell examples_v4
Power shell examples_v4
 
Socket.io
Socket.ioSocket.io
Socket.io
 
Nginx3
Nginx3Nginx3
Nginx3
 

Viewers also liked

Софтуерна академия на Телерик - информационен ден (август 2012)
Софтуерна академия на Телерик - информационен ден (август 2012)Софтуерна академия на Телерик - информационен ден (август 2012)
Софтуерна академия на Телерик - информационен ден (август 2012)Svetlin Nakov
 
Коучинг "Замени негативните емоции с любов"
Коучинг "Замени негативните емоции с любов"Коучинг "Замени негативните емоции с любов"
Коучинг "Замени негативните емоции с любов"Svetlin Nakov
 
Как да станем софтуерни инженери и да стартираме ИТ бизнес?
Как да станем софтуерни инженери и да стартираме ИТ бизнес?Как да станем софтуерни инженери и да стартираме ИТ бизнес?
Как да станем софтуерни инженери и да стартираме ИТ бизнес?Svetlin Nakov
 
Здравословно хранене и спортни навици
Здравословно хранене и спортни навициЗдравословно хранене и спортни навици
Здравословно хранене и спортни навициSvetlin Nakov
 
Свободно образование и споделяне на знания
Свободно образование и споделяне на знанияСвободно образование и споделяне на знания
Свободно образование и споделяне на знанияSvetlin Nakov
 

Viewers also liked (6)

Софтуерна академия на Телерик - информационен ден (август 2012)
Софтуерна академия на Телерик - информационен ден (август 2012)Софтуерна академия на Телерик - информационен ден (август 2012)
Софтуерна академия на Телерик - информационен ден (август 2012)
 
Коучинг "Замени негативните емоции с любов"
Коучинг "Замени негативните емоции с любов"Коучинг "Замени негативните емоции с любов"
Коучинг "Замени негативните емоции с любов"
 
Как да станем софтуерни инженери и да стартираме ИТ бизнес?
Как да станем софтуерни инженери и да стартираме ИТ бизнес?Как да станем софтуерни инженери и да стартираме ИТ бизнес?
Как да станем софтуерни инженери и да стартираме ИТ бизнес?
 
Здравословно хранене и спортни навици
Здравословно хранене и спортни навициЗдравословно хранене и спортни навици
Здравословно хранене и спортни навици
 
Свободно образование и споделяне на знания
Свободно образование и споделяне на знанияСвободно образование и споделяне на знания
Свободно образование и споделяне на знания
 
Apache http server
Apache http serverApache http server
Apache http server
 

Similar to Automating Windows Azure

Automating Azure VMs with PowerShell
Automating Azure VMs with PowerShellAutomating Azure VMs with PowerShell
Automating Azure VMs with PowerShellAlexander Feschenko
 
Provisioning in Microsoft Azure
Provisioning in Microsoft AzureProvisioning in Microsoft Azure
Provisioning in Microsoft Azureilagin
 
Automating Your Azure Environment
Automating Your Azure EnvironmentAutomating Your Azure Environment
Automating Your Azure EnvironmentMichael Collier
 
New features of Azure Cloud Provider in OpenShift Container Platform 3.10
New features of Azure Cloud Provider in OpenShift Container Platform 3.10New features of Azure Cloud Provider in OpenShift Container Platform 3.10
New features of Azure Cloud Provider in OpenShift Container Platform 3.10Takayoshi Tanaka
 
Enrique lima azure-it-pro-ps
Enrique lima azure-it-pro-psEnrique lima azure-it-pro-ps
Enrique lima azure-it-pro-psEnrique Lima
 
Azure serverless Full-Stack kickstart
Azure serverless Full-Stack kickstartAzure serverless Full-Stack kickstart
Azure serverless Full-Stack kickstartDavide Mauri
 
Managing Azure Components Using Azure PowerShell
Managing Azure Components Using Azure PowerShellManaging Azure Components Using Azure PowerShell
Managing Azure Components Using Azure PowerShellNitesh Luharuka
 
Modernizing .NET Apps
Modernizing .NET AppsModernizing .NET Apps
Modernizing .NET AppsDocker, Inc.
 
Software Defined Datacenter
Software Defined DatacenterSoftware Defined Datacenter
Software Defined DatacenterNETWAYS
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressGeorge Kanellopoulos
 
New features of Azure Cloud Provider at OCP 3.10
New features of Azure Cloud Provider at OCP 3.10New features of Azure Cloud Provider at OCP 3.10
New features of Azure Cloud Provider at OCP 3.10Takayoshi Tanaka
 
Global Windows Azure Bootcamp : Cedric Derue playing with php on azure. (spon...
Global Windows Azure Bootcamp : Cedric Derue playing with php on azure. (spon...Global Windows Azure Bootcamp : Cedric Derue playing with php on azure. (spon...
Global Windows Azure Bootcamp : Cedric Derue playing with php on azure. (spon...MUG-Lyon Microsoft User Group
 
Playing with php_on_azure
Playing with php_on_azurePlaying with php_on_azure
Playing with php_on_azureCEDRIC DERUE
 
DockerCon 17 EU: Modernizing .NET Apps with Docker
DockerCon 17 EU: Modernizing .NET Apps with DockerDockerCon 17 EU: Modernizing .NET Apps with Docker
DockerCon 17 EU: Modernizing .NET Apps with DockerElton Stoneman
 
Ansible & CloudStack - Configuration Management
Ansible & CloudStack - Configuration ManagementAnsible & CloudStack - Configuration Management
Ansible & CloudStack - Configuration ManagementShapeBlue
 
TechnoramaNL Azure Key Vault, Azure Dev Ops and Azure Data Factor
TechnoramaNL Azure Key Vault, Azure Dev Ops and Azure Data FactorTechnoramaNL Azure Key Vault, Azure Dev Ops and Azure Data Factor
TechnoramaNL Azure Key Vault, Azure Dev Ops and Azure Data FactorErwin de Kreuk
 

Similar to Automating Windows Azure (20)

Deploying SharePoint @ Cloud
Deploying SharePoint @ CloudDeploying SharePoint @ Cloud
Deploying SharePoint @ Cloud
 
Automating Azure VMs with PowerShell
Automating Azure VMs with PowerShellAutomating Azure VMs with PowerShell
Automating Azure VMs with PowerShell
 
Provisioning in Microsoft Azure
Provisioning in Microsoft AzureProvisioning in Microsoft Azure
Provisioning in Microsoft Azure
 
Oracle autovue
Oracle autovueOracle autovue
Oracle autovue
 
Automating Your Azure Environment
Automating Your Azure EnvironmentAutomating Your Azure Environment
Automating Your Azure Environment
 
New features of Azure Cloud Provider in OpenShift Container Platform 3.10
New features of Azure Cloud Provider in OpenShift Container Platform 3.10New features of Azure Cloud Provider in OpenShift Container Platform 3.10
New features of Azure Cloud Provider in OpenShift Container Platform 3.10
 
Enrique lima azure-it-pro-ps
Enrique lima azure-it-pro-psEnrique lima azure-it-pro-ps
Enrique lima azure-it-pro-ps
 
Azure serverless Full-Stack kickstart
Azure serverless Full-Stack kickstartAzure serverless Full-Stack kickstart
Azure serverless Full-Stack kickstart
 
Managing Azure Components Using Azure PowerShell
Managing Azure Components Using Azure PowerShellManaging Azure Components Using Azure PowerShell
Managing Azure Components Using Azure PowerShell
 
Modernizing .NET Apps
Modernizing .NET AppsModernizing .NET Apps
Modernizing .NET Apps
 
Software Defined Datacenter
Software Defined DatacenterSoftware Defined Datacenter
Software Defined Datacenter
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
 
New features of Azure Cloud Provider at OCP 3.10
New features of Azure Cloud Provider at OCP 3.10New features of Azure Cloud Provider at OCP 3.10
New features of Azure Cloud Provider at OCP 3.10
 
70 533 study material
70 533 study material70 533 study material
70 533 study material
 
Global Windows Azure Bootcamp : Cedric Derue playing with php on azure. (spon...
Global Windows Azure Bootcamp : Cedric Derue playing with php on azure. (spon...Global Windows Azure Bootcamp : Cedric Derue playing with php on azure. (spon...
Global Windows Azure Bootcamp : Cedric Derue playing with php on azure. (spon...
 
Playing with php_on_azure
Playing with php_on_azurePlaying with php_on_azure
Playing with php_on_azure
 
DockerCon 17 EU: Modernizing .NET Apps with Docker
DockerCon 17 EU: Modernizing .NET Apps with DockerDockerCon 17 EU: Modernizing .NET Apps with Docker
DockerCon 17 EU: Modernizing .NET Apps with Docker
 
Azure powershell management
Azure powershell managementAzure powershell management
Azure powershell management
 
Ansible & CloudStack - Configuration Management
Ansible & CloudStack - Configuration ManagementAnsible & CloudStack - Configuration Management
Ansible & CloudStack - Configuration Management
 
TechnoramaNL Azure Key Vault, Azure Dev Ops and Azure Data Factor
TechnoramaNL Azure Key Vault, Azure Dev Ops and Azure Data FactorTechnoramaNL Azure Key Vault, Azure Dev Ops and Azure Data Factor
TechnoramaNL Azure Key Vault, Azure Dev Ops and Azure Data Factor
 

More from Ido Flatow

Google Cloud IoT Core
Google Cloud IoT CoreGoogle Cloud IoT Core
Google Cloud IoT CoreIdo Flatow
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2Ido Flatow
 
Production Debugging War Stories
Production Debugging War StoriesProduction Debugging War Stories
Production Debugging War StoriesIdo Flatow
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2Ido Flatow
 
Production debugging web applications
Production debugging web applicationsProduction debugging web applications
Production debugging web applicationsIdo Flatow
 
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...Ido Flatow
 
Building IoT and Big Data Solutions on Azure
Building IoT and Big Data Solutions on AzureBuilding IoT and Big Data Solutions on Azure
Building IoT and Big Data Solutions on AzureIdo Flatow
 
Migrating Customers to Microsoft Azure: Lessons Learned From the Field
Migrating Customers to Microsoft Azure: Lessons Learned From the FieldMigrating Customers to Microsoft Azure: Lessons Learned From the Field
Migrating Customers to Microsoft Azure: Lessons Learned From the FieldIdo Flatow
 
The Essentials of Building Cloud-Based Web Apps with Azure
The Essentials of Building Cloud-Based Web Apps with AzureThe Essentials of Building Cloud-Based Web Apps with Azure
The Essentials of Building Cloud-Based Web Apps with AzureIdo Flatow
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2Ido Flatow
 
Debugging your Way through .NET with Visual Studio 2015
Debugging your Way through .NET with Visual Studio 2015Debugging your Way through .NET with Visual Studio 2015
Debugging your Way through .NET with Visual Studio 2015Ido Flatow
 
ASP.NET Core 1.0
ASP.NET Core 1.0ASP.NET Core 1.0
ASP.NET Core 1.0Ido Flatow
 
Debugging the Web with Fiddler
Debugging the Web with FiddlerDebugging the Web with Fiddler
Debugging the Web with FiddlerIdo Flatow
 
Introducing HTTP/2
Introducing HTTP/2Introducing HTTP/2
Introducing HTTP/2Ido Flatow
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Ido Flatow
 
Powershell For Developers
Powershell For DevelopersPowershell For Developers
Powershell For DevelopersIdo Flatow
 
IaaS vs. PaaS: Windows Azure Compute Solutions
IaaS vs. PaaS: Windows Azure Compute SolutionsIaaS vs. PaaS: Windows Azure Compute Solutions
IaaS vs. PaaS: Windows Azure Compute SolutionsIdo Flatow
 
ASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP FundamentalsASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP FundamentalsIdo Flatow
 
Advanced WCF Workshop
Advanced WCF WorkshopAdvanced WCF Workshop
Advanced WCF WorkshopIdo Flatow
 

More from Ido Flatow (20)

Google Cloud IoT Core
Google Cloud IoT CoreGoogle Cloud IoT Core
Google Cloud IoT Core
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
 
Production Debugging War Stories
Production Debugging War StoriesProduction Debugging War Stories
Production Debugging War Stories
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
 
Production debugging web applications
Production debugging web applicationsProduction debugging web applications
Production debugging web applications
 
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
 
Building IoT and Big Data Solutions on Azure
Building IoT and Big Data Solutions on AzureBuilding IoT and Big Data Solutions on Azure
Building IoT and Big Data Solutions on Azure
 
Migrating Customers to Microsoft Azure: Lessons Learned From the Field
Migrating Customers to Microsoft Azure: Lessons Learned From the FieldMigrating Customers to Microsoft Azure: Lessons Learned From the Field
Migrating Customers to Microsoft Azure: Lessons Learned From the Field
 
The Essentials of Building Cloud-Based Web Apps with Azure
The Essentials of Building Cloud-Based Web Apps with AzureThe Essentials of Building Cloud-Based Web Apps with Azure
The Essentials of Building Cloud-Based Web Apps with Azure
 
Introduction to HTTP/2
Introduction to HTTP/2Introduction to HTTP/2
Introduction to HTTP/2
 
Debugging your Way through .NET with Visual Studio 2015
Debugging your Way through .NET with Visual Studio 2015Debugging your Way through .NET with Visual Studio 2015
Debugging your Way through .NET with Visual Studio 2015
 
ASP.NET Core 1.0
ASP.NET Core 1.0ASP.NET Core 1.0
ASP.NET Core 1.0
 
Debugging the Web with Fiddler
Debugging the Web with FiddlerDebugging the Web with Fiddler
Debugging the Web with Fiddler
 
EF Core (RC2)
EF Core (RC2)EF Core (RC2)
EF Core (RC2)
 
Introducing HTTP/2
Introducing HTTP/2Introducing HTTP/2
Introducing HTTP/2
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
 
Powershell For Developers
Powershell For DevelopersPowershell For Developers
Powershell For Developers
 
IaaS vs. PaaS: Windows Azure Compute Solutions
IaaS vs. PaaS: Windows Azure Compute SolutionsIaaS vs. PaaS: Windows Azure Compute Solutions
IaaS vs. PaaS: Windows Azure Compute Solutions
 
ASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP FundamentalsASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP Fundamentals
 
Advanced WCF Workshop
Advanced WCF WorkshopAdvanced WCF Workshop
Advanced WCF Workshop
 

Recently uploaded

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Recently uploaded (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

Automating Windows Azure

  • 1. Ido Flatow Senior Architect Microsoft MVP SELA Group Automating Windows Azure Because the Management Portal is so 2012 @idoFLATOW http://bit.ly/flatow-blog This presentation: http://sdrv.ms/13HplxU
  • 2. www.devconnections.com AUTOMATING WINDOWS AZURE ABOUT ME  Senior architect, Sela Group  Co-author of:  Developing Windows Azure and Web Services – Microsoft official course  WCF 4 – Microsoft official course  Pro .NET Performance – Apress  Microsoft MVP  Focus on server, services, and cloud technologies  Manager of the Israeli Web Developers User Group
  • 3. www.devconnections.com AUTOMATING WINDOWS AZURE DEPLOYMENT SCENARIOS  New product version/build  Creating new environments (dev, test, staging)  Deploying to new data centers  Provisioning components for new tenants (multitenant applications)  Installing entire system using customer’s subscription  Disaster recovery 3
  • 4. www.devconnections.com AUTOMATING WINDOWS AZURE WE NEED AUTOMATION BECAUSE 4  The checklist becomes annoying after the third time  We miss a step during each and every deployment  Someone will eventually need to update the deployment instructions (but not me!)  Five VMs done, 45 to go  We want to go home before dawn
  • 5. www.devconnections.com AUTOMATING WINDOWS AZURE WE NEED AUTOMATION BECAUSE 5 We just want something to double-click so we can go home on time!
  • 6. www.devconnections.com AUTOMATING WINDOWS AZURE HOW STUFF WORKS 6 HTTP Management APIs
  • 8. www.devconnections.com AUTOMATING WINDOWS AZURE HOW STUFF WORKS 8 HTTP Management APIs HTTPS x.509 Client Cert. XML
  • 9. www.devconnections.com AUTOMATING WINDOWS AZURE WHAT CAN WE AUTOMATE? 9 Web Sites Virtual Machines Mobile Services Cloud Services SQL Database Storage Media Services Service Bus Virtual Network Traffic Manager Locations Affinity Groups Certificates SQL ReportingHDInsight Recovery Services Active Directory CDN AlertsLinked Resources Has HTTP APIs No HTTP APIs
  • 11. www.devconnections.com AUTOMATING WINDOWS AZURE COMMAND LINE TOOLS Command Line Interface (CLI)  Runs on Windows, Mac, and Linux  Written in Node.js  Commands can return JSON  Scripting with:  Linux tools, such as grep, awk, and sed  Javascript with Azure-scripty (node-based) PowerShell Cmdlets  Run only on Windows  Larger toolset  Commands return .NET objects  Scripting with  PowerShell piping  PowerShell scripts 11
  • 12. www.devconnections.com AUTOMATING WINDOWS AZURE THE BASICS: AZURE ACCOUNTS 12 Get-AzurePublishSettingsFile Import-AzurePublishSettingsFile $pathToPublishSettingsFile # Or manually set the subscription Set-AzureSubscription -subscriptionname $name -certificate $cert -subscriptionid $id azure account download azure account import <pathToPublishSettingsFile>
  • 13. www.devconnections.com AUTOMATING WINDOWS AZURE THE BASICS: WEB SITES & CLOUD SERVICES 13 New-AzureWebsite -Name $name -Location "East US“ New-AzureService -ServiceName $name -Location “East US“ azure site create --location "East US" <Name> azure service create --location "East US" <Name>
  • 14. www.devconnections.com AUTOMATING WINDOWS AZURE THE BASICS: VIRTUAL MACHINES 14 $image = Get-AzureVMImage | ? {$_.ImageFamily -like '*2012*Datacenter'} | sort $_.PublishedDate | select –first 1 New-AzureQuickVM -Windows -Name $name -Location "East US" -ImageName $image.ImageName -ServiceName $cloudServiceName -AdminUsername myAdmin -Password $password image=$(azure vm image list | grep 'Windows-Server-2012-Datacenter- 201308.01' | awk '{print ($2)}') azure vm create $name $image administrator $pass --location "East US" -r
  • 15. www.devconnections.com AUTOMATING WINDOWS AZURE VIRTUAL MACHINES WITH AZURE-SCRIPTY 15 var scripty = require('azure-scripty'); scripty.invoke('vm image list', function(err, results) { var imageName = results[0].Name; cmd = { command: 'vm create', rdp: true, positional: [process.argv[2],imageName, 'administrator', process.argv[3]], location: '"' + process.argv[4] + '"'}; scripty.invoke(cmd); }); node createVM.js myNewVM mypassword ‘East US’
  • 16. www.devconnections.com AUTOMATING WINDOWS AZURE SUPPORTED SERVICES SQL Database Storage Service Bus HDInsight Web Sites Virtual Machines Cloud Services Mobile Services Virtual Network Affinity Groups Certificates SQL Database Storage Service Bus Web Sites Virtual Machines Cloud Services Virtual Network Affinity Groups Certificates Locations Name Test Store Add-ons
  • 17. www.devconnections.com AUTOMATING WINDOWS AZURE AUTOMATING WINDOWS AZURE Seeing is Believing! 17
  • 18. www.devconnections.com AUTOMATING WINDOWS AZURE WHAT ABOUT ALL THE REST?  Use the HTTP-based APIs  Require some coding (curl, python, C#, …)  Don’t forget to authenticate  MSDN documentation is available http://msdn.microsoft.com/library/jj152841.aspx  You are not the first one to try this  Windows Azure SDK (Python, Node, PHP, Ruby, …)  ElastaCloud Azure Fluent Management (.NET)  Windows Azure Service Management Library (.NET) 18 Media Services Traffic Manager VNet Gateway Management Certs. …
  • 19. www.devconnections.com AUTOMATING WINDOWS AZURE RESOURCES 19 Too many resources for a single slide Presentation and resources can be found here: sdrv.ms/13HplxU idof@sela.co.il @idoflatow http://bit.ly/flatow-blog

Editor's Notes

  1. Cloud services – more options in powershellStorage – more options in powershellVirtual network – CLI can add networks, powershell can only replace all the configuration, but has gateway cmdlets