Foreword

Mark Russinovich

Chief technical officer, Microsoft Azure, Microsoft

Based on the fact that you’re reading this, you are probably already convinced that the cloud offers agility and elasticity unmatchable by traditional IT infrastructure. Using a cloud’s infrastructure service APIs, whether via a portal, a REST client, or scripts, you can create virtual machines (VMs) in minutes instead of days or hours, configure those VMs with secure network connectivity to each other and external networks, and then shut them down, paying only for the time that they were active and you were using them. The scenarios unlocked by this new self-service model are disrupting the computing landscape and causing a rush toward the cloud.

Coincident with the cloud-computing disruption is the DevOps revolution. Just as cloud vendors like Microsoft Azure must fully automate their infrastructure in order to scale to millions of servers, efficient DevOps at even modest scale also requires automation. Using a portal to by-hand re-create your production environment for dev/test deployments of your latest updates is onerous, time-consuming, and error-prone. Similarly, scaling out your front-ends in response to a load spike isn’t something that you want to be ready to respond to at any time of day or night, whenever your application’s load exceeds its provisioned capacity. Automation is therefore key to realizing the full potential of the cloud.

While there are numerous tools, scripting engines, and even full-featured products designed to enable automation, PowerShell has set the gold standard for Windows automation. All of Microsoft’s enterprise products are built on a foundation of PowerShell management, and Microsoft Azure is no exception. With its consistent syntax, rich grammar, built-in verbs, and object pipeline, PowerShell scripts have the expressiveness of compiled languages and compositional capabilities that bring object-oriented programming to scripting like text pipelining never can. With PowerShell at your command, you can script Microsoft Azure IaaS VM environments to create reproducible yet complex deployments, scale up and down tiers, perform automated failure recovery, and more.

There’s no one more qualified to teach you how to make the most of PowerShell with Microsoft Azure IaaS VMs than Michael. I worked with him closely when he was at Microsoft, both when he was on the Developer and Platform Evangelism team contributing PowerShell scripts for managing Microsoft Azure, and then when he joined the Microsoft Azure team to continue his work. In fact, he helped design and set up my demos for the TechEd North America 2012 keynote address, which served as the launch event for Microsoft Azure’s Infrastructure Services preview release. Not surprisingly, the keynote demo deployment and reset system was built with the original Infrastructure Services PowerShell cmdlets.

This book is the definitive overview and deep reference on using Microsoft Azure’s PowerShell cmdlets to automate Microsoft Azure Infrastructure Services. Whether you’re launching basic VMs, configuring ExpressRoute network connections, or standing up full SharePoint farms, Michael’s expert guidance will show you how easy it is to automate your way to the full potential of DevOps and agility on Microsoft Azure.

Get Automating Microsoft Azure Infrastructure Services now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.