Preventing Single Sign On (SSO) Redirects From Opening a New Window Inside a Progressive Web Application (PWA)

I was recently working on a PWA application that utilizes SSO and one odd behavior that I noticed right off the bat was the fact that the SSO redirects forces the application to open a new window inside the browser instead of carrying the redirect inside the application shell. This is problematic as it defies the whole purpose of a PWA which attempts to make a web application feel native.


How to Encrypt SQL communication on the wire

While on-premises, most applications did not take advantage of securing communications to the database on the wire just because of the inherent isolation advantages of having the application ONLY on the internal LAN. However, as more and more of these applications start moving to the cloud, the security of data over the wire is rightfully starting to gain increased importance.


Beyond “Lift-and-Shift”: Application Modernization with Microsoft Azure

The “lift-and-shift” approach with Azure IaaS can only deliver on small measure of the promise of agility and innovation in the Cloud when compared to modernized application (i.e., Cloud-optimized). Modernizing application with Azure PaaS, on the other hand, can deliver on the promise of agility and innovation to a great extent. It reduces the time required to manage the application and the time required to deploy a new release, and optimizes the speed to market.


Synchronizing Azure Cosmos DB Collections for Blazing Fast Queries

While Cosmos DB offloads many of the hard NoSQL scaling problems, shaping your data and choosing a logical partition key are left to you. The partition key choice is arguably the most important decision you’ll need to make – it cannot be changed and must be determined upon creation of a collection.


Angular How-to: Implement Feature Flags

In an agile development environment, there may be partially completed features or features with external dependencies that are not ready. Instead of relying on multiple code branches, instead you may opt for deploying code with a feature turned off. Later, that feature should be turned on via a configuration or database change. This post provides sample code that you can use to implement feature flags in your Angular app.


Completing the Redundancy Story of API Manager

In a previous post I discussed an approach to handling backend redundancy using Azure API Manager (APIM). In this post I want to discuss the various options for providing a high-availability (HA) and disaster recovery (DR) to your services exposed by API Manager.


Azure Cosmos DB Pricing Overview

My customers have spent some time working with Azure Cosmos DB and had questions around pricing. I thought I would share a bit of what I have learned when it comes to pricing for Cosmos DB for this BLOG article.


Easy as Pi IoT on Windows 10 and Azure IoT Central!

Have you ever tried building an IoT solution on an embedded device like a Raspberry Pi with an ARM processor? What languages did you have to use? What if that device had to send data to the cloud for dashboarding and alerting? How would you build the dashboard and manage alerts for authorized users?


Tracking Cross-team Projects in Azure DevOps Boards

If part of this transition requires that aspects from the legacy process be kept, it’s a great opportunity to demonstrate that through the use of agile process and agile tools, we can have an even better control of the value (beyond just software) that the development team is creating for the company.


Using ADAL.js with Angular4+

This is an update post to a previous article published in April 2017 explaining how to wrap ADAL.js with Angular2+. The previous article is no longer relevant given the changes to the Angular framework. This new post explains a reimplementation which uses the PathLocationStrategy and Angular features such as HttpInterceptor and InjectionToken.