Good Practices for Managing Microsoft Azure Subscriptions

We’ve published some updated guidance for Service Admin account management based on the new RBAC access control techniques now available in Azure. While the classic non-RBAC portal is required, the content in the post here is still very relevant though!

Overview

Over the years it has been drilled into me to use “Least Privilege” access whenever and however possible. Least Privilege is all about limiting users, systems, and services to only those privileges which are absolutely essential to get the job done.… [Keep reading] “Good Practices for Managing Microsoft Azure Subscriptions”

Windows Azure Active Directory Module and Online Services Sign-in Assistant

Back in 2012, we talked about Office 365 – PowerShell Setup.  This was back in the days prior to the Microsoft Online Services Sign-in Assistant RTW, and before Windows 8 had gained a lot of traction.  Recent updates however have not made this such a straightforward process.

My first attempt at installing the Windows Azure Active Directory Module on Windows 8 failed with the error “must have microsoft online services sign-in assistant version 7.0 or greated installed”.  … [Keep reading] “Windows Azure Active Directory Module and Online Services Sign-in Assistant”

SharePoint Web Service Caching using WCF Custom Channel

The New SharePoint App Architecture

To be honest, I’ve had this code for a while now sitting in the blog cupboard. It was originally intended to be used as part of a global content management system delivering content from a single SharePoint authoring point to many distributed content delivery systems. Since then, events have conspired to bring it back out of the cupboard but for a slightly different purpose. As I said in my previous blog, two things have happened in the world of SharePoint:

  • SharePoint went “Online” which means it is hosted centrally in a data centre (most likely) far-far away.
[Keep reading] “SharePoint Web Service Caching using WCF Custom Channel”

Evolution of coding

Many years ago, back in Uni, I saw 2 guys in a computer lab writing a whole programming assignment without running it even once. The program was of relatively decent size written in C and consequently there were hundreds of compilation errors. That’s so silly, I thought…

After graduation I used to be a C++ programmer. The syntax sometimes was quite tricky and you would often compile after every new line of code. Sometimes, you would dare to write a whole function, just to find 10 compilation errors.… [Keep reading] “Evolution of coding”

Connecting Cloud Services with Virtual Machines in Windows Azure

As of Windows Azure SDK 1.7, Microsoft has enabled us to connect a cloud service with a virtual machine in Windows Azure. Now that the general availability of Windows Azure Infrastructure Services has been announced, Microsoft also supports it.

The common scenario for this is connecting from a public ASP.NET web application that is running in a cloud service to a private SQL Server database that is running in a virtual machine via a virtual network.… [Keep reading] “Connecting Cloud Services with Virtual Machines in Windows Azure”

File Element OverwriteIfAlreadyExists=”TRUE”

I have been implementing workarounds since SharePoint 2007 to overwrite an unghosted (or customized) file that already exists at a specified URL for a File element within a Module element of a Feature element manifest (or site definition which I stopped using extensively in SharePoint 2010 preferring web templates).

Updating existing files when upgrading our SharePoint custom Features can be accomplished by provisioning ghosted files using the Type attribute set to Ghostable or GhostableInLibrary. For unghosted (or customized) files a common trap is setting IgnoreIfAlreadyExists=”TRUE” expecting existing files to be overwritten.… [Keep reading] “File Element OverwriteIfAlreadyExists=”TRUE””

SharePoint Code Quality

During a recent technical interview I asked the candidate which tools they used to review code quality for their SharePoint custom solutions.
This blog post describes the process and tools we use to check SharePoint code quality for a SharePoint Online 100K user deployment I have been working on.

Our project team uses Team Foundation Service (TFS) Cloud for source code management and continuous integration.  We perform code quality checks as part of TFS Team Build and Release Management processes.… [Keep reading] “SharePoint Code Quality”

Azure AD and the Progression of Microsoft Identity and Access Management

Defining Microsoft IDAM

The words ‘Identity and Access Management’ (IDAM) mean different things to different people – and a lot of confusion still reigns about what this area represents to an IT department. However, it’s generally agreed that a good corporate IDAM policy can drive down cost, increase security and provide significant user experience benefits to approved applications as they are introduced to an IT environment.

These improvements can broadly be categorised into the following areas:

Single Sign On (usually abbreviated to ‘SSO’) – a user provides a single factor (99% of the time a password) and gets access to not just one application but a suite of applications after authenticating once without being prompted again for credentials.… [Keep reading] “Azure AD and the Progression of Microsoft Identity and Access Management”

Latency, Caching and Cloud

Q: What is the one unavoidable issue when moving services to the cloud?

Security? Reliability? Ownership? Performance? Nope

A: Latency!

Physics 101

Latency is the amount of time required to communicate between one point and another and is limited by the speed of light. Using high school physics and geography:

Circumference of planet: 40,000km
Longest distance point to point: 20,000km
Speed of Light: 300,000 km/s
Send time: 66mS
Ping time (send and reply): 133mS
That is the theoretical minimum for sending a message to the other side of the planet and getting an answer.… [Keep reading] “Latency, Caching and Cloud”

SharePoint Online Web Service Authentication using WCF Client-side behaviour

With the release SharePoint in 2013 and the ever increasing numbers taking up the SharePoint Online offering, it’s a good time to start looking at some of the challenges when moving to these platforms.

SharePoint has traditionally been a presentation technology with its own unique SharePoint development model utilising SharePoint designer and custom Web Part development. With the latest release, SharePoint 2013 that development model has been challenged by a new autonomous development model where the complexities and constraints of SharePoint as a development and deployment platform has been replaced by a service oriented integration platform for multiple independently hosted applications.… [Keep reading] “SharePoint Online Web Service Authentication using WCF Client-side behaviour”