Kirk Evans Blog

.NET From a Markup Perspective

Visual Studio Release Management, DSC, and Azure VMs

This post will show how to use Visual Studio Release Management with Windows PowerShell Desired State Configuration (DSC) to configure multiple deployment environments and deploy an application.  If you just want to see the big payoff, scroll all the way down to the section “The Big Payoff”. Background I am presenting a series of workshops… Read more

Configure a Point-to-Site VPN Connection to an Azure VNet

This post shows how to create a point-to-site (P2S) VPN connection to an Azure virtual network (VNet).  Background In my previous post, I showed how to create a virtual network configuration XML file and to create several environments (dev, stage, and prod) that are each deployed into a separate subnet.  It’s kind of a goofy… Read more

Creating Dev and Test Environments with Windows PowerShell

This post will discuss creating application environments with Windows PowerShell.  We will use these environments in subsequent posts. Background I have participated in a series of readiness workshops with our top GSI partners.  Part of the workshop includes case studies where we have the participants review requirements and propose solutions within a few constraints.  One… Read more

Autoscaling Azure–Virtual Machines

This post will demonstrate autoscaling in Azure virtual machines. Background While I spend most of my time working with PaaS (platform as a service) components of Azure such as Cloud Services and Websites, I frequently need to help customers with solutions that require IaaS (infrastructure as a service) virtual machines.  A topic that comes up… Read more

Deploy Azure Roles Joined to a VNet Using Eclipse

This post will show how to deploy an Azure worker role running Apache Tomcat using Eclipse, where the worker role is joined to a VNet. Background I have been working with a customer to deploy existing Java applications to Azure.  One of their main requirements is to be able to communicate with on-premises resources using… Read more

Install a New Active Directory forest on an Azure Virtual Network

This post will show how to install a new Active Directory forest on an Azure Virtual Network.  We will use this domain controller and virtual network in subsequent posts. DISCLAIMER: This post does not contain definitive guidance on the correct way to create a domain controller in Azure.  For more definitive guidance, please see TechNet… Read more

Attaching Remote Event Receivers to Lists in the Host Web

This post shows how to attach a remote event receiver to a list in the host web for a SharePoint provider-hosted app. Background While working on the SharePoint 2013 Ignite content, apps were still very much new and very little documentation existed.  We were fighting a problem of using an app that required a feature… Read more

What Every Developer Needs to Know About SharePoint Apps, CSOM, and Anonymous Publishing Sites

This post will show what works and what doesn’t with CSOM and REST in a SharePoint 2013 publishing site that permits anonymous access.  More importantly, we show what you should and should not do… and why. Overview I frequently see questions about using SharePoint apps with “public-facing web sites” where the web content is available… Read more

Moving Path Based to Host Named Site Collections

This post illustrates a problem with detaching content databases that contain site collections restored from path-based site collections to host named site collections. Background The recommendation for SharePoint 2013 is to use a single web application and leverage host named site collections.  In a previous post, I wrote about What Every SharePoint Admin Needs to… Read more

ALM for SharePoint Apps: Implementing Continuous Integration

This post shows how to implement continuous integration for a provider-hosted app in SharePoint 2013.  Overview This is Part 2 of a series. Part 1 – ALM for SharePoint Apps: Configuring a TFS Build Server with Team Foundation Service Part 2 – ALM for SharePoint Apps: Implementing Continuous Integration (this post) Part 3 – ALM… Read more