Lightweight Coordination on Azure App Service

In this post I want to share an approach used to ensure serial execution of business logic across multiple instances of Azure App Service - even when the logic isn’t suited to this type of environment. However, what makes this solution unique is that it doesn’t rely on any external services to provide this functionality, even between multiple instances of of the application.

Michael Yeaney January 11, 2019

Query Azure VM Tags from Log Analytics

A common issue I encounter when working with customers is how to best expose Azure Resource Manager tag values in Log Analytics queries. While this feature isn’t available natively in Log Analytics at the moment, we can leverage Azure serverless offerings (including Logic Apps and Functions) to pull this data into your Log Analytics workspaces. This data can then be used to create tag-driven alerts or augment queries with tag information that may have been previously unavailable.

Michael Yeaney June 5, 2018

Message Lifetimes and Faulty Clocks

Sending messages between two computers is a common task, especially in the context of modern cloud applications and Internet-of-Things (IoT) deployments. One common requirement that arises is to not process messages that are older than some established threshold. However, this seemingly simple requirement relies on a level of time synchronization that can be more difficult to achieve than it seems.

Michael Yeaney August 14, 2017

Cache Consistency: Avoiding Common Issues

Leveraging a cache is an effective way to increase the performance of many applications, and can dramatically reduce the load on backend components as we are no longer repeatedly fetching the same data over and over. Since a lack of caching is often considered a performance anti-pattern, many systems tend to add in caches only after they have exhibited latency and/or performance that is unacceptable - in other words, added caching is often an afterthought.

Michael Yeaney August 7, 2017

Interacting with Azure Queues from PowerShell

In this post, I want to show how you can communicate between 2 (or more) machines with Azure Storage Queues using PowerShell. This type of communication naturally gives way to the competing consumer pattern, which is found throughout many high-scale systems. This pattern is quite useful for spreading work items across a pool of available compute resources in order to optimize throughput and availability.

Michael Yeaney March 30, 2017

PowerShell Fun: Recursive Folder Size

While playing around with some PowerShell scripts today, I was looking for some fun (??) ways to get a view of how big a folder and all of its' contents are. This is arguably pretty trivial, but we're just having fun, right? :-)

Michael Yeaney March 29, 2017

Ramblings and thoughts on cloud, distributed systems, formal methods...maybe even some code, too!