Using Azure to understand Azure

Ron Sielinski
Data Science at Microsoft
6 min readJan 9, 2020

At Microsoft, I run a data science team within Cloud + AI, the division that’s responsible for Azure, Visual Studio, Power BI, and more. My team has a straightforward charter: to learn from our customers.

The concept is simple, but the lessons are powerful.

Because the cloud is a new and evolving technology, customers sometimes struggle to realize its full potential. They want to be successful but don’t always know how. By looking at the histories of millions of customers, my team answers key questions about cloud adoption: Are there patterns of success and failure? If so, are there inflection points where the paths to success and failure diverge? And what are the challenges/enablers that send customers down one path or another? The answers to these and other questions become guidance that we can share with our customers or improvements that we can make to our products.

Inside-out

In a lot of ways, my team is like any other Azure customer. Although we work at Microsoft, we use the same Azure services as everyone else. We manage our deployments using the same portal and the same SDKs, and we learn about new services by reading the same technical documentation and taking the same MS Learn courses.

And — like every other Azure customer — we benefit from the advancements that Microsoft makes to its products.

We got our start in 2011, when I was asked to spin up a BI team for Azure. At the time, our data platform was a single SQL Server, hosted in an on-premises data center. We did most of our exploratory analysis using SQL Management Studio and Excel, and most of our reporting using PowerPoint. To be fair, in 2011, Azure was still only a handful services: compute and storage, a cloud-native version of SQL, and a set of dev services known as AppFabric.

When we started, though, we didn’t realize that the growth and development of Azure itself would have a profound effect on the course of our work: How we think about it, how we do it, and how we share it.

In the years since, the cloud has matured significantly. Azure now includes thousands of products and services, including first- and third-party offerings that span everything from blockchain services to mixed reality.

And, these days, our data platform is based wholly upon Azure: We use Azure Data Factory to orchestrate our ETL processes, Azure Data Explorer to analyze data, Virtual Machines to build models, Azure DevOps to manage projects, and 34 other services. Along the way, we’ve matured into a multi-disciplinary data science team, in part because we’ve been intentional about keeping up with Azure’s advancing capabilities.

Azure Machine Learning (AML) is a great example. Over the years, my team has developed a portfolio of production models, spanning everything from behavioral clustering to anomaly detection. Each of these models was a custom solution, so it was never a lot of extra work to operationalize them: Deployment was often the last — and most straightforward — of a long series of tasks.

However, now that we have scores of models, each requiring ongoing maintenance, we needed a better way to manage our production pipelines. Not only is AML a great CI/CD solution, it offers a number of features that accelerate model development, scale deployment, and more. Simply by adopting AML, we’re learning a lot about DevOps in data science scenarios (MLOps), and we’ll soon be able to deliver new capabilities that would not previously have been possible.

The great enabler

Advances in computer technology have long fueled growth in the data science discipline.

In a 1962 paper, “The Future of Data Analysis”, John Tukey advocated for the adoption of computers, recognizing that “. . . there are situation[s] where the computer makes feasible what would have been wholly unfeasible” (p 64, The Annals of Mathematical Statistics, Vol. 33, №1).

Tukey was comparing computers to slide rules and four-color BIC pens, but his primary assertion still holds true: Computers can automate many of the tasks related to analysis — anything that’s too mundane or computationally intensive — freeing us up to perform increasingly more sophisticated analyses. My own team’s evolution is proof of that promise. More broadly, the cloud has led to the big data revolution, enabled the Internet of Things (IoT), and powered many of the advances in deep learning.

We’re not done yet

Azure’s development teams are constantly working to advance the state of the art in cloud computing. They visit customers — leading adopters of machine learning and artificial intelligence — to understand how they work. They ask about the solutions customers are trying to build. And they pore over support logs to understand customers’ challenges. They then use everything that they’ve learned to make decisions about what to build next.

Since my team truly is a customer, they ask us, too, about what’s working and what’s not. We share our experiences with and expectations of the platform, and we offer suggestions for new features. But that’s just the start.

Because we’re able to mine Azure’s telemetry data, we have a unique behind-the-scenes perspective on customers’ use of the cloud. For privacy reasons, we can’t see any of our customers’ data, but we can see data generated by our own platform and various operational pipelines. We stitch these together to give us a better understanding of the patterns of adoption, allowing us to answer questions about the growing popularity of serverless computing, prevent fraudulent usage, forecast the adoption of cloud-native development patterns, etc.

As I suggested earlier, though, our analyses are primarily motivated by a desire to help our customers. We share a lot of what we learn with Azure’s dev teams, who use those insights to improve our products. We do similar work for stakeholders across marketing, sales, support, finance, operations, and business planning. Our analyses have been used to redefine Azure’s offers (e.g., Free Trial and Pay-As-You-Go), improve our support processes, increase the quality of our billing pipelines, and to inform hundreds of decisions critical to our business.

Of course, the most direct impact that we can have is with customers themselves. To that end, we recently introduced a new category of recommendations on Azure Advisor, operational excellence. The goal is to offer suggestions to customers, based upon their individual use of Azure, on best practices for process and workflow efficiency, resource manageability, and service deployment.

What’s ahead

My old boss, Merav Davidson, encouraged me to pull this together, because she recognized that my team has a wealth of knowledge that can help our customers. Besides the results of our analyses, we have the lessons that we’ve learned as users of Azure, but also the lessons that we’ve learned as practitioners of data science in a large, tech-savvy company like Microsoft.

Going forward, I’ll use this forum to share insights that span these multiple points of view. Mine won’t be the only voice that you hear from, however. You’ll hear from others on my team, like:

We’re a global team of 80+ people, and we have expertise across multiple disciplines — analytics and inference, machine learning, data engineering, and program management — and we’re excited to share what we’ve learned!

Ron Sielinski is on LinkedIn.

--

--