Thursday, June 18, 2026

Microsoft Build: Bicep as a declarative control plane for any system with an API?

 Two weeks ago, I had the privilege of presenting two sessions at Microsoft Build 2026 in San Francisco! I’ve always enjoyed speaking at previous editions of Build, so it was great to be back again. This year, the event moved from Seattle to the beautiful Fort Mason Center in San Francisco. The waterfront location provided an incredible backdrop for a fantastic week of learning, networking, and sharing ideas.

Press enter or click to view image in full size
Fort Mason Center, San Francisco

My first session explored a simple but powerful question:

To demonstrate the concept, I built a custom Bicep Local Deploy extension that controls a physical Zigbee light through Home Assistant. While the light bulb itself was intentionally simple, the goal was much broader: showing how the same Infrastructure as Code principles we use for Azure can be extended to third-party APIs, edge environments, and virtually any platform that exposes a REST API.

The session, “Deploying Infrastructure and Turning on the Light: Bicep Beyond Azure,” was packed with live demos and practical examples. It generated some great discussions afterward and sparked a lot of ideas about what Bicep extensions can enable.

Press enter or click to view image in full size
Deploying Infrastructure and Turning on the Light: Bicep Beyond Azure

The abstract of the session was as follows:

I really enjoyed presenting the session and demonstrating it. The session sparked a lot of ideas in the audience, and I received great feedback afterward.

Subscribe to the Medium newsletter

I also gave away a few copies of my book, as well as some Bicep stickers and pins, which were a great hit!

Press enter or click to view image in full size
Getting started with Bicep — Infrastructure a Code
Press enter or click to view image in full size
Bicep pins and stickers

The demo was structured in three logical steps that demonstrate how Bicep can be extended beyond Azure. In the first step, we built a custom Bicep local-deploy extension by defining a resource model, implementing convergence logic, and creating a client that communicates with Home Assistant to control a Zigbee light.

In the second step, we compiled, published, and packaged the extension so it could be consumed by Bicep as a local extension.

Finally, in the third step, we used the extension from a standard Bicep deployment, where Bicep passed the desired state to the extension, the extension performed the required API calls, and the deployment returned outputs just like any native Azure deployment.

Together, these three steps demonstrate how Bicep can act as a declarative control plane for virtually any platform or system that exposes an API.

To help others get started with Bicep Local Deploy and custom extensions, I’ve published all source code and materials from the session here:https://github.com/fberson/Slidedecks/tree/main/2026/Microsoft%20Build%202026

Here is a quick video of the end result:

Bicep controlling a light via Bicep Local Deploy extensions

Thank you, Chloe Mandell, Melanie McKenna , and the entire team, for making the MVP experience at Microsoft Build such a success!

No comments:

Post a Comment