Block Heads: Mastering block storage with the Azure Blob Service

The importance of practice

In software development, I find it to be true that you never know how to use a tool properly until you have already used it at least once before. That’s why, when you take a wrong turn and need to start over with something, you can usually get back to where you were in half the time it took you originally.

It’s important to realize

Automating Office 365 with Microsoft Graph API

An API gateway to business productivity

What would you build if you could process the data generated by your business operations in real time? You could, for example:

  • See trending/abandoned documents and usage patterns.
  • Scan calendars to suggest optimum meeting times.
  • Map collaboration points between departments.
  • Automate a change management/approval process.
  • Manage a backlog of work.

And that’s just for starters! I would be willing to bet that a very large slice of business performed in the world today is driven by the Microsoft Office apps, so imagine the potential gains around automating some of that? It’s got to be huge.

Authenticating with Azure AD and OpenID Connect

Identity in the cloud

Identity management in the cloud is a totally different ball game to when everything was installed and accessed on the corporate network. Users in the enterprise authenticated with an on-premises directory service (e.g. Active Directory Domain Services) and this determined the apps and data they had access to. Occasionally, cross-forest federations were established to allow users belonging to one corporate domain to access resources in another.

Nowadays, with the proliferation of apps and services available in the cloud and the speed and ease with which we consume them

The fastest way to bulk insert to SQL Server in .NET

Love Entity Framework and ORMs

I love Entity Framework and other object-relational mappers (ORMs) like it. These frameworks allow us to code against an object-oriented data model and map any changes seamlessly (usually) to the underlying relational model that the data is persisted in. They reduce the amount that we need to worry about databases.

Where I have seen the most value

Security IQ: Public Key Cryptography

Also in the series

The importance of data security

I’m going to tell you something that you already know: security is important. No matter how much we might rather be looking at shiny new JavaScript frameworks, data integrity is one of those few issues that can destroy the reputation of our products and companies overnight. What UI framework BigBank’s web app uses will never make the front page news, but a visible security breach definitely will. There’s a lot at stake in getting it right.

Considering its importance, it’s clear

Configuring SSH authentication for Git on a Windows Jenkins worker

With many of the tools commonly used in a Continuous Delivery pipeline, Windows is not the original OS the tool was developed for. Although support and adoption are growing all the time, there can still be some pain points and gotchas in configuring some of them to work as you would expect on a Windows OS.

In this post, we’re going to combine two of the big hitters in this space

Acting School: Azure’s use of a classic computational model

Recently, I have been fortunate enough to undertake some Azure training under one of the Solution Architects at Microsoft. We spent a lot of time focusing on Azure Service Fabric, Microsoft’s platform for developing microservice-based solutions. Much of what I heard reminded me of my experiences of Docker Swarm and Kubernetes, two very popular container orchestration platforms, and many of my questions in the training sessions were centered around why I might want to use Service Fabric over one of these other platforms that I knew a little better.

One point the trainer made that has stuck with me since is: containers often contain microservices, but microservices are not containers. It was clear to me then

Building the smallest PowerShell runner

The Problem

At the day job, one of my team’s current projects is a bespoke “serverless” script execution service for internal use, not unlike AWS Lambda or similar offerings. I’m not the main guy on this, but I’ve been involved in some interesting discussions about how we should control the execution environments. Ideally, they would be sandboxed and completely disposable, possibly only alive for the lifetime of the script they are executing. The obvious solution to this is to use containers.

The dominant scripting language amongst our user base is PowerShell, so we need to try

Thoughts on the State of DevOps Report 2017

This past Tuesday, the annual State of DevOps Report for 2017 was released. The report is one of the most respected in the industry and attempts to measure and comment on the direction that a broad range of organizations travel on their DevOps journey. There are usually some interesting comparisons and trends to analyze against the previous year’s results also.

The report is