Configuring Public IP addresses in Azure

Configuring Public IP addresses in Azure

Azure Virtual Networks use private IP addresses which aren’t routable on public networks. To enable support networks that exist both in Azure and on-prem environments, we need to configure IP addressing for both networks. Public IP addresses allow resources on the internet to communicate with Azure, and also enable outbound communication for Azure resources to public-facing services on the internet. In Azure, we can create public IP addresses and assign them to specific resources. ...

January 14, 2025 · 8 min · Will Velida
Implementing a basic Azure Virtual Network with Bicep

Implementing a basic Azure Virtual Network with Bicep

Azure Virtual Networks (or VNETs) are the fundamental building block for private networks in Azure. We can built Azure VNETs that are similar to on-prem networks, with the benefit of Azure infrastructure. We can create VNETs with their own CIDR block, and link them to other Azure VNETs and on-prem networks (providing that there’s no overlap with CIDR blocks). We can also control DNS server settings, segmentation of VNETs into subnets, and more. ...

January 13, 2025 · 8 min · Will Velida
Using GitHub Environment Files for Actions Workflow Outputs

Using GitHub Environment Files for Actions Workflow Outputs

For one of my side projects, I use GitHub Actions to build and deploy my various microservices to Azure. In my workflows, I’ll often retrieve a value (such as getting the name of a container registry), and use the set-output command within my pipeline so that I can use the value of that output further down my pipeline. This is an example of what using the set-output command would look like in your GitHub Action workflow: ...

January 6, 2025 · 4 min · Will Velida
Building a token refresh service for the Fitbit API with Container App Jobs

Building a token refresh service for the Fitbit API with Container App Jobs

A couple of years back, I built a Fitbit API token refresh service using Azure Functions. The purpose of that function was to refresh an access token that I can use to make calls to the Fitbit API and extract my own data using Azure Functions. This was before Azure Container Apps even existed, so Azure Functions was really the only option. WebJobs was an alternative (after all, Functions are essentially built on top of Azure WebJobs), but that wasn’t attractive since this was just an hobby project, and I didn’t want to break the bank. The problem with Azure Functions is that you’re restricted with the programming model. It’s fine if you just need the plumbing done for you for simple integrations, but if you want the flexibility, it’s not great. ...

December 12, 2024 · 12 min · Will Velida
How to purge stale images from Azure Container Registry with ACR Tasks and GitHub Actions

How to purge stale images from Azure Container Registry with ACR Tasks and GitHub Actions

Cleaning up stale images (images that you’re not using) from your Azure Container Registry is important for a couple of reasons. First off, storing images in ACR isn’t free. Even with the Basic SKU, once you go past your 10GB limit, you end up paying $0.00516 AUD (at the time of writing) per GB of additional storage. If you have container images that are just sitting there not being used, it’ll waste money and second, it’ll be difficult to manage your images. ...

December 6, 2024 · 9 min · Will Velida