I think I figured it out. I have been working with Serverless Microservices Architecture on Azure for quite some time. I’ve been trying to leverage Terraform to effectively manage the extensive configuration of PaaS services on Azure. Due to immaturity of the Terraform AzureRM provider I’ve encountered well-documented challenges. This is the last major hurdle … Continue reading Azure Functions + EventGrid Subscriptions With Terraform
Microservices
Azure Serverless Architecture Automation with Terraform Explained
Here is a higher level view of the architecture and all the things that Terraform is provisioning. Based on my previous post, we know that certain things still require manual intervention but Terraform can provision a lot of stuff: Resource Group Event Grid Topics (but no Topics Subscriptions due to Function Access Key limitation) CosmosDB … Continue reading Azure Serverless Architecture Automation with Terraform Explained
Mocking Service Fabric & Azure Services with Dependency Injection vs. Inversion of Control (IoC)
In retrospect, in my youth as a software designer I recognize that I often had a preference for the technically elegant. This would sometimes override what was practical from a maintainability standpoint. I was recently asked about the Dependency Injection approach on a project and why we weren’t using an Inversion-of-Control (IoC) Container such as … Continue reading Mocking Service Fabric & Azure Services with Dependency Injection vs. Inversion of Control (IoC)
Unit Test Service Fabric Actors when Actors call other Actors
In order to be able to effectively unit test Azure Service Fabric Actors we use a NuGet package called "ServiceFabric.Mocks”. It’s truly fantastic. As the name implies it allows you to Mock all Service Fabric services, not just Actors but the Actor model has unique structure that makes it exceptionally helpful in testing. The way … Continue reading Unit Test Service Fabric Actors when Actors call other Actors
Updating Service Fabric version for an Actor: Step by Step
ONE. Upgrade Actor Projects to .NET Core 2.1 TWO. Update Remoting Provider Decorator [assembly: FabricTransportActorRemotingProvider(RemotingListenerVersion = RemotingListenerVersion.V2, RemotingClientVersion = RemotingClientVersion.V2)] THREE. Remove all references from Tests Project First remove all references to dependent projects (Actor, Actor.Interfaces, Actor.Mocks, Actor.Model). Second open the Package Manager console and run the following commands: Uninstall-Package Microsoft.ServiceFabric Uninstall-Package Microsoft.ServiceFabric.Services Uninstall-Package Microsoft.ServiceFabric.Services.Remoting … Continue reading Updating Service Fabric version for an Actor: Step by Step
DLLHell 2018: Upgrading Service Fabric Project from v3.1.283 to v3.2.176
I’m getting an error from each of my xUnit test projects that there is a package downgrade from Microsoft.NETCore.App from 2.0.9 to 2.0.0. I tried isolating the issue to one project so I unloaded all the test projects in my solution. Then I tried upgrading the version of .NET Core from v2.0 to v2.1. However … Continue reading DLLHell 2018: Upgrading Service Fabric Project from v3.1.283 to v3.2.176
Service Fabric Samples Dissection: Visual Objects
Azure Service Fabric is not for the faint of heart. It is extremely cool but it’s a bit different than the traditional way of doing things in .NET projects. Thanks to a particularly persuasive client of mine, I’ve decided to dissect some of the samples available from Microsoft so that someone new to Service Fabric … Continue reading Service Fabric Samples Dissection: Visual Objects