Cloning a Azure Function App

Recently I had a requirement to make a copy of a Function App from the production version to support a POC implementation of an solution upgrade. One option was to deploy the Release branch which had the version same as in PROD (we already made updates to that function app post release, so DEV was already a lot of commits ahead). The challenge with this approach was, since we did not had a hotfix release, there were no Pipelines setup for Release branch. So we had to setup a pipeline, give the pipeline service account access to the POC resource group, then actually triggering the deployment. ...

February 10, 2022 · 2 min · 226 words · Me

Implementing Custom Feature flags - Your own logic to shutoff a feature - Azure App Configuration

This is a continuation from the previous article on feature flags implemented using Azure App configuration service to maintain the flags. Just to reiterate, feature management can be implemented using config files but this article is trying to implement feature flags connecting to Azure App configuration service. Introduction The previous article described about implementing a boolean feature flag to turn on/off a feature. In this article I am trying to implement a custom feature flag. Microsoft provides few predefined custom feature flags or feature filters (as they are called) Targeting, TimeWindow, and Percentage (more about it here), which covers most usecases, however, there might be situations where you find the predefined ones falling short. In this article I am building a filter ground up with a made up custom logic. ...

June 22, 2021 · 4 min · 666 words · Me

Implementing Feature flags using azure

Feature flag is a very popular practice in modern application development, which is used to specifically hide features implemented that are not yet ready to be used by wider audience, and when ready can be enabled by a flip of a switch. The flags can also be used as a kill switch for application feature when it not working as expected. With feature flags implemented, it would be effective to have the features enabled or disabled from a location outside of the application infrastructure or configuration, this way we can have features spanning across applications be controlled via a centralized flag. Azure has feature management as part of the Azure App configuration service which can manage feature flags and maintain it separate from your hosting model and will act as a centralized repository for feature flags. Microsoft also provides libraries for different programing languages to consume Azure App Configuration service. More about it can be found here ...

May 16, 2021 · 5 min · 922 words · Me

Infrastructure as C#

Introduction After attempting the .Net tutorial on deploying a simple WebAPI based microservice to Azure Kubernetes Service (AKS), wanted a better way to represent my infrastructure than the YAML.xml file. This was partly because of me being novice in YAML format and partly to have a way to abstract the infrastructure in order to make it repeatable and it should be not just confined to AKS. The first solution to this problem was to use a framework like Terraform to define my infrastructure as code. But this will lead me learn new language and language constructs like loops, conditions etc. The search was over pretty soon after I found a framework called Pulumi, that lets me write my infrastructure in many of the populate programming language including C#. So i decided to convert the .Net tutorial YAML into a pulumi project and see how well it runs. ...

July 26, 2020 · 3 min · 557 words · Me

Steps for Deploying a Blazor as Static Site with Docker and Nginx

Step 1 Publish the Blazor WebAssembly project Publish the project from Visual Studio,this ensures that the projects is linked which removes all the unwanted dependencies from the output, reducing the size of the assemblies created. Step 2 Create a dockerfile The docker file is very straightforward, pull the nginx image and copy the published Blazor WebAssembly file from the WWWRoot folder to the html folder in nginx ...

June 11, 2020 · 1 min · 150 words · Me

Hosting Blazor WebAssembly on ASP.Net Core WebAPI

Background My WebAssembly project has now been configured to be a PWA (refer the previous article in series). It time to introduce hosting. Since the WebAssembly project handles the client side, I want it to be unchanged but be hosted it in a project that can be used as backend for the UI, hence chose WebAPI. The Changes Create a new solution and add the already created Blazor WebAssembly project Add a new ASPNet core web project and choose WebAPI template and call it the .Server project Add reference of the WebAssembly Project to the .Server project. Install package Microsoft.AspNetCore.Components.WebAssembly.Server to the .Server project. This package contains the runtime server for Blazor application. In the startup class add configuration to the request pipeline to handle Blazor and its routing. // This methods serves the WebAssembly framework files when a request is made to root path. //This method also take path parameter that can be used if the WebAssembly project is only served //from part of the project, giving options to combine web assembly project with a web application app.UseBlazorFrameworkFiles(); //This configuration helps in serving the static files like //Javascript and CSS that is part of the Blazor WebAssembly app.UseStaticFiles(); //Add the below configuration to the end of the UseEndpoint configuration, //this will serve the index.html file from the WebAssembly when the WebAPI route //does not find a match in the routing table endpoints.MapFallbackToFile("index.html"); Your ASPNet Core hosted WebAssembly project is ready to be published and deployed. Pretty easy! ...

June 9, 2020 · 2 min · 278 words · Me

How can I turn my Blazor WebAssembly to PWA?

Lets get started with an existing Blazor WebAssembly project I already have a Blazor WebAssembly project created implementing Angular Tour of heros application. You can find the project in my GitHub repository here Repo: https://github.com/gopkumr/BlazorTourOfHeroes.git Branch: Release Next step is making this into PWA As with any web application, adding PWA capabilities to Blazor follows the web standard process of adding a manifest json file and the service workers js file. ...

June 4, 2020 · 3 min · 554 words · Me