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]
Showing all posts tagged: 'devops'
A 8-post collection
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]
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]
What is a service principal? Azure has a notion of a Service Principal which, in simple terms, is a service account. On Windows and Linux, this is equivalent to a service account. These accounts are frequently used to run a specific scheduled task, web application pool or even SQL Server service. In a cloud context, Service Principals are the new paradigm. They are great because they allow you to provision an account that only has enough permissions and scope to run a task within a predefined set of Azure resource. It is vital that you don’t use your own …[read more]
Today, the Azure portal allows you to create 2 types of VMs. These types refer mainly to the platform atop which your VMs run. Before I continue with this post, it may be handy establishing what the terminology means: Classic/ASM Classic or v1 VMs run on top of the older Azure Service Management (ASM) technology. ASM infrastructures can be managed through both the old and the new portals and Azure PowerShell/CLI. However, some of the v1 features are not yet, and may never be, available on the new Azure Portal. New/ARM Resource Manager or v2 VMs run …[read more]
That's a perfectly good question and one that many teams are facing lately. There is a valid reason to want to upgrade. The Azure Resource Manager (ARM) has a lot of advantages over it's predecessor. The biggest one is automation. ARM templates allow you to easily capture, configure and deploy resources and resource groups on Azure using PoSH (PowerShell) and simple Json files. This is great for DevOps! If you're starting with Azure now, then ARM makes absolute sense and is the default option. However, there are many companies that are stuck in v1 i.e the Azure Service Management …[read more]