Background For a long time sharing custom OS images between Azure subscriptions has been a painful, time consuming process. Thankfully Microsoft have addressed that with the introduction of Shared Image Gallery (SIG). However, the SIG is only as useful as the tools that can consume it and with SIG still in preview, some tools are not yet able to leverage it. Thankfully though, the Microsoft team that manages the Jenkins Azure VM Agents plugin have been quick to update the plugin to support the SIG.
Azure Application Insights is an Application Performance Management (APM) service that you can use to identify runtime exceptions, performance issues and alert on application health. You can integrate it with DevOps to provide a mechanism to rapidly identify issues that can be experienced with rapid and frequent deployment of code. It has a ton of functionality, and I can’t do it justice in this blog post, so go read more about it here!
Want to know the size of your Azure VM but don’t have access to Azure? Well if you have access to the VM itself (RDP/SSH or remote script) then the Azure Instance Metadata Service (AIMS) is the solution, it can be used to query a running VM from the VM itself. This is very useful if you don’t have access to Azure itself via the Portal, Cli or PowerShell. Off the top of my head I can think of a few of scenarios where this could be very useful:
Fun with Azure Functions and DriveAlreadyExists. I’ve recently been working with Azure Functions to automate tasks, serverless compute is great for this, just write the code and let Microsoft worry about the infrastructure that it’s running on! No need to worry about patching, scalability or high availably, that’s all taken care of for you. In this particular instance I was using PowerShell as the language of choice and using it to connect to AzureAD.
Continuous Integration and Continuous Delivery (CI/CD) is used to provide automation of building, testing and deploying software into production environments. CI/CD has grown in popularity as it allows for greater efficiency in software development which in short allows developers to deliver quality code faster to the end user. The pipeline breaks down the delivery of software into different stages which as the name pipeline suggests, flow into each other. Automation is at the centre of the pipeline, each stage is automated, from build, onto testing, flowing down to deployment.