Simon Wåhlin's Avatar

Simon Wåhlin

@simonwahlin.bsky.social

Cloud Architect @ Unwonted | Azure MVP, Certified Trainer Azure | Bicep | BicepLang | PowerShell I want to bridge the gap between Dev and Ops and enable secure and efficient cloud solutions on Azure for every organization.

258 Followers  |  191 Following  |  21 Posts  |  Joined: 23.11.2024  |  1.5886

Latest posts by simonwahlin.bsky.social on Bluesky

You won't find two of those together

06.07.2025 17:26 — 👍 1    🔁 0    💬 1    📌 0
Post image

What are the latest innovations coming in Azure?

@markrussinovich.bsky.social talks on RunAs Radio at runasradio.com/Shows/Show/991 about some of the new hardware in the cloud, and how they helps with extreme optimization for specific workloads!

02.07.2025 13:01 — 👍 9    🔁 5    💬 0    📌 0
Post image

AzResourceGraph is a fast and minimalistic #PowerShell module for querying #Azure Resource Graph using #KQL.

Support for paging and throttling built-in!

Give it a spin and let me know how you like it!

> Install-PSResource AzResourceGraph

06.07.2025 12:48 — 👍 2    🔁 0    💬 1    📌 0
Microsoft Forms

🎉 Happy 5th Birthday to Bicep! 🎂💪
Today marks 5 years since the 1st Bicep commit!

📅Celebrate with us at the May 29th Community Call at 9am PST here: aka.ms/bicepcc
⭐️ Share your favorite Bicep memories via this form for a chance to be featured: t.ly/BicepBday

Here's to the next 5 reps! 💪🚀

12.05.2025 19:57 — 👍 9    🔁 4    💬 0    📌 1

The PowerShell module AzBobbyTables by @palmemanuel.bsky.social is your friend for anything Azure Storage Tables

12.12.2024 13:05 — 👍 3    🔁 0    💬 1    📌 0

The bulk of that cost is compute cost (mainly Azure Functions and/or Container Apps)

12.12.2024 13:00 — 👍 1    🔁 0    💬 0    📌 0

For my usecases with small (usually less than 1GB) datasets and low transactional volumes (single digit users), the cloud bill is at the most a coffee a month.

12.12.2024 12:57 — 👍 1    🔁 0    💬 2    📌 0

Depending on requirements for volume, availability, and performance, of course, but most of my hobby projects run on combinations of Azure Storage (blobs, tables, and queues), Azure SQL (free), and CosmosDB (free). Azure Storage is vastly underrated, in my opinion.

12.12.2024 12:41 — 👍 1    🔁 0    💬 1    📌 0
Preview
Release v0.32.4 · Azure/bicep Highlights New deployer() function to retrieve ObjectId of the principal that is deploying the Bicep file (#15340) resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {...

v0.32 is out! 💪🎉

We added a new deployer() function to retrieve principal Ids, fixed some bugs, and had some awesome contributions from our community!

Release notes here: github.com/Azure/bicep/...!

Our December Bicep Community Call:
youtu.be/Qy_UJy34lXM

10.12.2024 19:48 — 👍 13    🔁 4    💬 0    📌 1

A diet coke or a redbull, often in combination with a good black coffee is how I start the day most of my days.

10.12.2024 17:41 — 👍 0    🔁 0    💬 0    📌 0
Post image

Bicep Christmas gift: the deployer() function! 💪🎄

www.linkedin.com/posts/freekb...

#bicep #community @biceplang.bsky.social

10.12.2024 11:02 — 👍 6    🔁 4    💬 0    📌 0

Also super handy to find which subnet (and vnet) a given IP resides in.

06.12.2024 08:51 — 👍 1    🔁 0    💬 0    📌 0
Originally the default wallpaper of Microsoft's Windows XP, this photo shows green rolling hills with a vibrant blue sky and white clouds in the background. Charles O'Rear took the photo in California, USA.

Originally the default wallpaper of Microsoft's Windows XP, this photo shows green rolling hills with a vibrant blue sky and white clouds in the background. Charles O'Rear took the photo in California, USA.

We've always been a fan of blueskies.

04.04.1975 12:00 — 👍 11916    🔁 2128    💬 649    📌 664

Our final Bicep Community Call of 2024 will be TOMORROW, Thursday December 5th at 9am PST!

Join to hear our roadmap for the next 6 months and some exciting demos and presentations!

Reach out for an invite if you did not receive one, or join tomorrow at aka.ms/BicepCcD24!

04.12.2024 18:42 — 👍 8    🔁 5    💬 0    📌 1

Just had a great session by @simonwahlin.bsky.social about #Bicep and #Azure deployments. Deployment stacks and Azure templates are definitely a thing to look into!

04.12.2024 14:11 — 👍 9    🔁 2    💬 0    📌 0
Post image Post image

Leveling up my #bicep game with expert tips from @simonwahlin.bsky.social @espccommunity.bsky.social 🦾 #IaC

04.12.2024 13:26 — 👍 4    🔁 2    💬 0    📌 0
Preview
Arkanum | Light Roasts & Dark Arts Arkanum is a specialty coffee roastery based in Stockholm, weaving clear origins into mystical flavors.

Just ordered some coffee from @palmemanuel.bsky.social's new side business arkanum.coffee/en/. Really looking forward to the first cup! ☕️

03.12.2024 13:28 — 👍 2    🔁 1    💬 0    📌 1

It includes child resources but it only works for a resourceGroup, it is terribly slow and exports a template, meaning I have to parse it and filter the resources I'm interested in which results in more code and worse performance than I have now.

30.11.2024 14:35 — 👍 0    🔁 0    💬 0    📌 0

Yea, I basically want a command to export the full configuration of any given resource and be able to run that on a (potentially large) list of resources.

30.11.2024 14:25 — 👍 0    🔁 0    💬 1    📌 0

I cuurently query a few tables in Resource Graph combined with Azure.Bicep.Types library to list potential child resource types, perform a list on each child type to get resourceIds followed by a Get on each resourceId. It works but it not very performant and throttling is a pain.

30.11.2024 14:24 — 👍 0    🔁 0    💬 0    📌 0

There is also a table for appserviceresources so I can get them there, but I am looking for a generic way to get ANY child resources and not have to implement custom logic for each type.

30.11.2024 14:14 — 👍 0    🔁 0    💬 1    📌 0

I mean for example given a site resoure (e.i. FunctionAp) I want to get all child resources like configs, but also extension resources like DiagnosticSettings, PolicyExemptions and RoleAssignment.

I can find tables for PolicyResources and AuthorizationResources so those can be solved using ARG.

30.11.2024 14:13 — 👍 0    🔁 0    💬 1    📌 0

Hey #Azure friends! I have a challenge for you.

What would be the most performant way to list all potential child and/or extension resources for any given resource?

REST API, SDKs or anything else is fair game, but it must be generic and work for any resource type.

30.11.2024 13:32 — 👍 1    🔁 1    💬 1    📌 0

Woop! See you there!

29.11.2024 21:18 — 👍 1    🔁 0    💬 0    📌 0
Preview
a cartoon of a dog sitting in front of a laptop with a speech bubble saying it 's fine ALT: a cartoon of a dog sitting in front of a laptop with a speech bubble saying it 's fine

I'm sure mone will be ready by monday :D

29.11.2024 16:17 — 👍 2    🔁 0    💬 0    📌 0

Nice! I'll have to try that one!

25.11.2024 09:25 — 👍 0    🔁 0    💬 0    📌 0

That was indeed interesting! I'll have to experiment with that when I get home to a computer.

24.11.2024 13:06 — 👍 1    🔁 0    💬 0    📌 0

Please test it first, I'm not sure I didn't get any typos in there ;)

23.11.2024 21:33 — 👍 1    🔁 0    💬 0    📌 0

Something like this:

$codeG = { class fact {static [bigint] calc([bigint]$n) {return $n -gt 1 ? ($n * ([fact]::calc($n - 1))) : 1}}; [fact]::calc($n) }

23.11.2024 21:30 — 👍 1    🔁 0    💬 1    📌 1

The recursive one can be rewritten using a static method to make it faster. I think it is because it is bypassing the fairly slow parameter binding logic. It will still not have a chance against foreach, which I guess is the fastest.

23.11.2024 21:28 — 👍 1    🔁 0    💬 1    📌 0

@simonwahlin is following 20 prominent accounts