In this post I'll show you how to deploy the .NET 5 "Out of process" azure functions using Pulumi. We'll be using a GitHub action to build the code, which will also create the infrastructure too, then deploy the function to that infrastructure. In this example, we'll be using a Azure Blob Storage to store the state of our Pulumi stack.
In this post, we'll be looking at adding Azure Active Directory (AzureAD) support to a Grafana instance. This is what I would advise if you're hosting on Azure as you're already likely to have all of your potential Grafana users setup in Active Directory, and either this is AzureAD native, or you have passwords sync'd with a standard Active Directory instance.
This is part of a series of posts about running Grafana on Azure. Checkout the others Part 1 - Hosting/ConfigurationPart 2 - Azure MySQL StoragePart 3 - Enabling SSL with LetsEncrypt (this post)Part 4 - Azure AD LoginPart 5 - Azure Monitor Datasource (coming soon) What is LetsEncrypt? LetsEncrypt.org is an initiative to promote sites... Continue Reading →
This makes it great for our database for Grafana as the point of a monitoring system is be always up, and you don't want to be monitoring your monitoring system with your monitoring system.
There as a balancing act to be done here. Speed and simplicity could be achieved using a database on the machine, that's then backed up, at the expense of management overhead. Reduced Management could be achieved using ACI or App Service, at the expense of cost (unless you already have a container infrastructure). The solution here, I believe, gives a fair balance
I've been working with Pulumi to create a reference architecture for a client that provides individual team autonomy while providing some shared resources. In addition, the client is also wanting to utilise a custom backend in Azure Blob storage. This presented some issues as the documentation around projects, stacks and stack references for custom backends.... Continue Reading →
One of the goals of most websites is to return the page for a user within the fastest time possible. Adding caching of frequently accessed data is a really easy way to do this, however, in legacy applications, there can be a lot of context heavy code making it hard to understand what can be... Continue Reading →
In this post we'll talk about using a specific Top Level domain to separate your internal application infrastructure addresses from what you're users see. Further, how to provide team level autonomy to using DNS delegation to provide a predictable naming strategy. The Problem One of the big issues with DNS management is the security elements... Continue Reading →
One of the issues with having multiple teams, and pushing for autonomy to choose everything from infrastructure to languages, is making sure that you have the right versions of everything installed. As developers, we want to be on the bleeding edge, playing with new things, new versions, etc. However, that can have an impact beyond... Continue Reading →
I've playing with Pulumi recently, and came across an issue trying to generate an IAM PolicyDocument that included an ARN resource. After hours of searching and trying to get my head around the Ouput<T> types, I found Output.Format(). The Problem Pulumi allows you to define everything you want to create in C#. What it also... Continue Reading →