Deploying Functions with ARM templates and inline code

Last week I started a mini-series that focused on [Azure Functions and DevOps. The tooling is still being worked and in the interim we need a solution in order to do proper CI/CD with Azure Functions. In this post we're looking into how to deploy Azure Functions using ARM Templates only. That's correct. This is a one stop solution but requires that you include your function code inline to the ARM JSON template. This is somewhat undocumented and I had to figure out how do it with help from the Azure PG (product group). The good parts Obviously this …[read more]


Azure Functions custom logging with AppInsights

You can tell I'm working on Azure Functions from the frequency of posts. This one focuses on logging. Functions by default generate plenty of logs which you can view in the portal or download using the Kudu REST API. This is great and it comes out of the box without you having to configure a single thing. However, what if you have some custom, complex logic that you want to capture and log. And I guess that in most instances there will be more than one Function per AppService and potentially a lot more applications and services deployed on Azure. …[read more]


Deploying Azure Functions with ARM templates and the Kudu REST API

This approach is by far my preferred and favourite. Ok, it's not perfect but I believe that it provides the most open source, versatile and flexible way to deploy your functions using any tool and any platform. This one does not require you to install any special tools other than the Azure CLI on your build server. In this step, rather than trying to do everything from one file, i.e. the ARM template, I decided to go with the 2 step approach: Deploy the ARM template with the Application Service and Function(s) structure Deploy the Function(s) code. …[read more]


DevOps with Azure Functions - a holistic approach

Azure Functions is Microsoft's answer the serverless architecture. They are very popular due to the incredible integration they provide with Azure Services, SaaS providers and on-premise application. It definitely drives the whole microservice architecture design which is built on top of Azure's established Platform-as-a-Service. And enables developers to think about APIs and integration in a totally different way - serverless (even though there are still servers under the hood). It's even more exciting seeing so many organisations embarking in larger scale projects that take advantage of Functions and LogicApps. If you want to know more about the whole serverless design, …[read more]


Install and run the Azure CLI on the Windows Subsystem for Linux (WSFL)

I've blogged before about the tremendous work that the Windows team has done to bring a truly integrated Linux subsystem on Windows 10. That's right, you can use the native Linux (user and kernel modes) inside Windows without the need of a VM, Container or any other emulator. This has opened up so many possibilities and brings a very powerful tool to Windows. Using native Bash is a dream come true for many people and even me, whose use of it is limited to 0.05% of its true capabilities!!! Do I care? No. Do I use Bash? Whenever and …[read more]


Invoke Azure LogicApp over HTTPS with HTTP triggers

Ah LogicApps, the IFTT of Azure, the very young and lightweight "cousin" of Microsoft BizTalk. LogicApps is a great integration and workflow service that works great not only with Azure services but also with many SaaS products and 3rd party services. Think of LogicApps as a tool that you attach connectors to communicate with various components (sFTP, blob storage, email, Twitter etc) and grab data that you can manipulate or pass directly to another service. What I described here is IFTT but for enterprises with scalability, performance and flexibility in mind. One of the cool things that you get with …[read more]