top of page
Writer's pictureAndrew Kelleher

Python and Azure: A Perfect Match()?

I recently reflected on the popularity of Python and how it increasingly crops up in my day job.


Over the last few years, I’ve started writing more Python scripts for infrastructure automation and several personal projects. I’ve also worked with developer teams and AI engineers, for which Python was their primary language.


Is this just my perception, or is Python becoming more prevalent?


The latest TIOBE index appears to support this theory. Python’s usage has been steadily increasing since 2018, with a significant spike in 2024 -


TIOBE programming language pop
image courtesy of tiobe.com

Significantly, this year, Python has now overtaken Java as the most used language on GitHub -

GitHub statistics on Python usage
image courtesy of github.com

Microsoft even presented at PyCon US 24 this year.


One of the main reasons for Python’s popularity is its versatility. It’s used across a wide number of industries and use cases, e.g. -

  • AI / Machine Learning

  • Data analytics and processing

  • General software development, e.g. API and backend services, frontend web services (Django, Flask)

  • Automation and scripting

  • Embedded Systems and IoT

  • DevOps and automation


Microsoft Azure is where I spend most of my time, so as a fun exercise, I thought I’d investigate just how well-supported Python is across Azure’s multitude of services.


I’ve allocated each service to a particular job role. This isn’t a strict segregation; in reality, engineers and developers will often use various services to achieve a specific outcome.

Hopefully, this serves as a useful indication of the variety of services available.


Python Software Developers

  1. Azure App Service

  2. Azure Functions

  3. Containers

  4. Azure Virtual Machines (VMs)


Data and AI Engineers

Given Python’s historically high usage within the data and machine learning communities, it’s no surprise that these job roles are well supported.


Okay, deep breath, here are the Data and AI-related Azure services that support Python -

  1. Azure Batch

  2. Azure Data Science Virtual Machines

  3. Azure Machine Learning

  4. Azure Synapse Analytics

    • Run Python scripts to perform data processing and analytics tasks within Azure Synapse via native Synapse notebooks (PySpark) or the pyodbc library

  5. Azure Databricks

  6. Azure IoT Edge

  7. Azure Data Studio

  8. Azure AI Search


Platform Engineer and DevOps

  1. Azure Cloud Shell

  2. Azure CLI

    • Fun fact! - the Azure CLI is written in Python

    • “Built using Python, the Azure Command-Line Interface (CLI) allows you to manage Azure resources and services using command-line commands”

  3. Azure SDK for Python

  4. Azure Automation Runbooks

  5. Integration with DevOps Pipelines

    • Python scripts can be part of CI/CD pipelines that deploy Azure resources using Bicep / Terraform. For instance, you can use Python to handle pre-deployment checks, validation, and coordination of the deployment process.

    • Azure DevOps Microsoft-hosted agents include Python


Summary

I hope you found this post interesting. Please let me know your comments below. Have you seen any other interesting use cases for running Python within Azure?


It's worth pointing out that from a developer's perspective, other popular languages, such as .NET, Java, etc., are also well supported within Azure. However, Python is certainly more prevalent, including data engineering, AI, and automation.


If you'd like to get started with Python on Azure, check out Microsoft's landing page for Python developers.


Also worth checking out is Microsoft's Python Pulse series of webcasts on YouTube.


Python is also cropping up in other areas of the Microsoft ecosystem. This neat video shows Python code running in Excel along with Microsoft 365 Copilot!

7 views0 comments

Comments


bottom of page