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

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 

Recently uploaded (20)

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 

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