SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Destaque

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

Destaque (6)

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

Semelhante a 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
 

Semelhante a 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
 

Mais de 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
 

Mais de 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
 

Último

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 

Último (20)

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.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

Notas do Editor

  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