Provisioning complex Modern Sites with Azure Functions and Flow – Part 2 – Create and Apply Template

In the previous blog here, we got an overview of the high level Architecture of a Complex Modern team site provisioning process. In this blog, we will look at the step 1 of the process – Create and Apply template process, in detail.
Before that, below are few links to earlier blogs, as a refresher, to prerequisties for the blog.

  1. Set up a Graph App to call Graph Service using App ID and Secret – link
  2. Sequencing HTTP Trigger Azure Functions for simultaneous calls – link
  3. Adding and Updating owners using Microsoft Graph Async calls – link

Overview
The Create and Apply Template process aims at the following
1. … [Keep reading] “Provisioning complex Modern Sites with Azure Functions and Flow – Part 2 – Create and Apply Template”

Processing Azure Event Grid events across Azure subscriptions

Consider a scenario where you need to listen to Azure resource events happening in one Azure subscription from another Azure subscription. A use case for such a scenario can be when you are developing a solution where you listen to events happening in your customers’ Azure subscriptions, and then you need to handle those events from an Azure Function or Logic App running in your subscription.
A solution for such a scenario could be:
1. Create an Azure Function in your subscription that will handle Azure resource events received from Azure Event Grid.… [Keep reading] “Processing Azure Event Grid events across Azure subscriptions”

Hub-Spoke communication using vNet Peering and User Defined Routes

Introduction

Recently, I was working on a solution for a customer where they wanted to implement a Hub-Spoke virtual network topology that enabled the HUB to communicate with its Spoke networks via vNet Peering. They also required the SPOKE networks to be able to communicate with each other but peering between them was NOT allowed.
Drawing1
As we know, vNet peering is Non-Transitive – which means, even though SPOKE 1 is peered with the HUB network and the HUB is peered with SPOKE 2, this does not enable automatic communication between SPOKE 1 and SPOKE 2 unless they are exclusively peered which in our requirement we were not allowed to do.… [Keep reading] “Hub-Spoke communication using vNet Peering and User Defined Routes”

Provisioning complex Modern Sites with Azure Functions and Microsoft Flow – Part 1 – Architecture

In one of my previous blog here,  I have discussed about creating Office 365 groups using Azure Function and Flow. The same process could be used also to provision Modern Team sites in SharePoint Online because Modern Team Sites are Office 365 groups too. However, if you are creating a Complex Modern Team Site with lots of Libraries, Content types, Termstore associated columns etc. it will challenging to do it with a single Azure Function.… [Keep reading] “Provisioning complex Modern Sites with Azure Functions and Microsoft Flow – Part 1 – Architecture”

IaaS Application Migration – Go Live Decision Responsibility Model, High Level Run Sheet and Change Management Life Cycle

Go Live Decision Responsibility Model

A go-live decision model helps to assign accountability to key project stakeholders in order to make decision to proceed with go-live on an agreed date or not. Below is an example responsibility model that will guide to create a required decision responsibility model.
Decision.jpg

High Level Run Sheet

run sheet is a list of procedures or events organised in progressive sequence to execute the required agreed outcome. Below sheet is an example that can be used as part of application migration to cloud.[Keep reading] “IaaS Application Migration – Go Live Decision Responsibility Model, High Level Run Sheet and Change Management Life Cycle”

Quickly generating a dataset of fictitious Users using Randomised Real Data and PowerShell

Introduction

I’ve lost count of the number of times I’ve had the need to generate a representative dataset of users. Of course I have access to many production datasets but for many reasons they can’t be used. Finding previous datasets I’ve randomly generated always seems to take longer than it should, so with my most recent iteration of having to generate a fictitious list of users with Australian addresses, I’ve documented how I went about it, along with the source data I used and the script to create it.… [Keep reading] “Quickly generating a dataset of fictitious Users using Randomised Real Data and PowerShell”

Deploying Blob Containers with ARM Templates

ARM templates are a great way to programmatically deploy your Azure resources. They act as declarative descriptions of the desired state of an Azure resource group, and while they can be frustrating to work with, overall the ability to use templates to deploy your Azure resources provides a lot of value.

One common frustration with ARM templates is that certain resource types simply can’t be deployed with them. Until recently, one such resource type was a blob container.… [Keep reading] “Deploying Blob Containers with ARM Templates”

A Voice Assistant for Microsoft Identity Manager

This is the third and final post in my series around using your voice to query/search Microsoft Identity Manager or as I’m now calling it, the Voice Assistant for Microsoft Identity Manager.
The two previous posts in this series detail some of my steps and processes in developing and fleshing out this concept. The first post detailed the majority of the base functionality whilst the second post detailed the auditing and reporting aspects into Table Storage and Power BI.… [Keep reading] “A Voice Assistant for Microsoft Identity Manager”

Installing Skype for Business Server 2019

A few weeks ago, Microsoft announced the availability of Skype for Business 2019 server preview for download and I thought it was about time I checked it out!
 
Obtaining the installation media
You can obtain the installation media (a 1.68GB ISO file) from here: https://techcommunity.microsoft.com/t5/Skype-for-Business-Blog/Announcing-the-Skype-for-Business-Server-2019-Preview/ba-p/218435
Easy!
 
The Lab
I’m running everything up at Windows Azure, but by all means feel free to spin up a new VM in your on premises lab if you have one.… [Keep reading] “Installing Skype for Business Server 2019”

IaaS Application Migration – Governance, Escalation & Warranty Period Model

What is Governance and Escalation Model – IaaS Application Migration Project

A governance model is the mechanism used by the project management to translate the elements of the governance framework and policies into practices, procedures, and job responsibilities within the boundary of the project. An escalation plan is a set of procedures set in place to deal with potential problems in a variety of contexts. Example: Project team need to reach out a key stakeholder in the program to make a decision of a go-live/roll-back.[Keep reading] “IaaS Application Migration – Governance, Escalation & Warranty Period Model”