Category Archives : Developer



Enhancements to Azure Budgets API supporting Resource Groups and Usage Budgets

Last month we announced a preview release of subscription level budgets for enterprise customers, that was only the first step. Today we’re announcing the release of additional features that support the scoping of more granular budgets with filters as well as support for usage and cost budgets. We’ve heard from our customers that multiple teams share a subscription and that resource groups serve as cost boundaries. Today’s updates will support resource group and resource level budgets in addition to the subscription level budgets. The budgets API is now generally available and we welcome your feedback.

The preview release of budgets only supported cost based budgets. In this release we are also adding support for usage budgets. Additionally, support for filters enables you to define the scope at which a budget applies.

Here are a few common scenarios that the budgets API addresses:

A budget for the subscription with no constraints. A resource group budget with no constraints. A budget for multiple resource groups within a subscription. A  budget for multiple resources within a resource group or a subscription. Budgets based on usage on a subscription or resource group.


This enables most common scenarios where resource groups or specific resources



A great developer experience for Ansible
A great developer experience for Ansible

As customers grow their deployed application in Azure, we are seeing increased interest in DevOps space for configuration management. In the rapidly evolving cloud space, bringing the on-premises expertise to fluently work in cloud brings increased efficiency. With our strong and growing partnership with Redhat, I am extremely excited to announce some key improvements with developer experience of Ansible on Azure.

Ansible in Azure Cloud Shell

Ansible is now available, pre-installed and ready to use for every Azure user in the Azure Cloud Shell. We want to make it really easy for anyone to get started with Ansible. The Azure Cloud Shell is a browser-based command-line experience that enables Ansible commands to be executed directly in the portal. This shell can run on any machine and any browser. It even runs on your phone!

With this enhancement you can use Ansible right in the Azure Portal. There is no need to install python dependencies, there is no additional configuration and no additional authentication! It just works!

Ansible extension in Visual Studio Code

We also have released an Ansible extension for Visual Studio Code that allows for faster development and testing of Ansible playbooks. You can use this extension to



Azure Storage SDKs for Python, Ruby and PHP now generally available

Today we are excited to announce the general availability of the Azure Storage SDKs for Python, Ruby and PHP! Thanks to everyone who participated in the previews and provided feedback.

This GA release brings forward a few significant changes:

We have split the Storage SDKs into four packages, one each for Blob, Table, Queue, and File. As announced, this was done in order to reduce the footprint of the libraries and allow developers to consume only the packages they are interested in.  Support is now available for newer Azure Storage REST API versions and service features. See below for details on each SDK. Azure Storage SDK for Python

Storage SDK packages for Blob, File, and Queue in Python are available on PyPi with version 1.0. This release supports the April 4, 2017 REST API version, bringing support for archival storage and blob tiering. Table package is released under the name Azure-Cosmosdb-table.

Here is a Hello World sample with the Storage SDK for Python:

from import BlockBlobService import os # Create a blob service client block_blob_service = BlockBlobService(os.environ.get(‘AZURE_STORAGE_ACCOUNT_NAME’), os.environ.get(‘AZURE_STORAGE_ACCOUNT_KEY’)) # upload a blob from text block_blob_service.create_blob_from_text( ‘mycontainer’, ‘myblockblob’, ‘Hello World!’ ) # download a blob into a buffer blob



Using the MySQL sys schema to optimize and maintain a database

The MySQL sys schema, which is fully enabled in Azure Database for MySQL 5.7, provides a powerful collection of user friendly views in a read-only database. Building on the MySQL Performance and Information Schemas, you can use the MySQL sys schema to troubleshoot performance issues and manage resources efficiently.

The MySQL Performance Schema, first available in MySQL 5.5, provides instrumentation for many vital server resources such as memory allocation, stored programs, metadata locking, etc. However, the Performance Schema contains more than 80 tables, and getting the necessary information often requires joining tables within the Performance Schema, as well as tables from the Information Schema. Let’s look more closely at how to use the MySQL sys schema.

There are 52 views in the sys schema, and each view is prefixed by one of the following:

Host_summary or IO: I/O related latencies. Innodb: Innodb buffer status and locks. Memory:Memory usage by the host and users. Schema: Schema related information, such as auto increment, indexes, etc. Statement: Information on SQL statements; this can be statements that resulted in a full table scan or long query time. User: Resources consumed and grouped by users. Examples are file I/Os, connections, and memory. Wait: Wait



Show off your skills with #AzureTrivia
Show off your skills with #AzureTrivia

When you were a kid, everything you encountered was novel and filled you with a sense of wonder. You were an explorer. An inventor. A scientist. A gamer. An astronaut.

Now, you’re solving problems with technology and the curious mind you’ve always had.

#AzureTrivia wants to celebrate the curiosity that keeps you so inspired. Join us, have some fun and show off your whip-smart Azure knowledge—bragging rights are on the line.

Every Monday @Azure will tweet out an Azure-related question. Want to test your Azure acumen and win* something cool? Just click on your selected answer, and if you tweet the correct answer no later than Thursday using the handy tweet we wrote for you (be sure to keep #AzureTrivia and the image), you’ll be entered to win a weekly prize (cool swag and other goodies). Pro tip: Be sure to come back every week for a brand-new question and another chance to win. 

If you love playing #AzureTrivia and want a competitive edge, check out these free Azure learning resources and get your win on!


How do I enter?

It’s easy! Follow three simple steps by Thursday at 11:59PM Pacific Time:

Visit and follow @Azure.



Build richer apps with your time series data
Build richer apps with your time series data

Today, we are pleased to announce the release of new TSI developer tools, including an Azure Resource Manager (ARM) template, API code samples, and easy-to-follow documentation for developers. TSI’s developer tools will shorten the time it takes to get started developing. Using these developer tools, customers can more easily embed TSI’s platform into custom applications to power charts/graphs, compare data from different points in time, and dynamically explore trends and correlations in their data.

As organizations transition their go-to-market and business models from selling devices to selling services, they are developing companion applications that provide operational insights and analytics to their customers.  Much of the data required to power these applications is time series, but large volumes of time series data can be very challenging to store and query. Time Series Insights (TSI) takes the burden of time series data management away from these organizations, and TSI’s platform capabilities enable developers to build applications that provide valuable insights to their customers.

Why time series data is difficult to embed in applications today

Time series data at IoT-scale can lead to high latency and long rendering times when querying traditional databases. Many customers have told us that it’s easy to hang



4 tips for keeping your resolution to learn Azure
4 tips for keeping your resolution to learn Azure

It’s that time of year when many people take pride in the resolutions they met, lament the ones they failed to keep, and make new ones to start afresh. Recently, I spoke with a friend and former colleague who is a software developer at a technology company in Virginia. As we shared our plans for 2018, he told me about an unmet resolution he had for 2017, which was to learn Azure. He recalled that this resolution originated back in 2013. As is the case with most abandoned resolutions, he had plenty of reasons at the ready to defend himself. He even joked that he’d keep the tradition alive by resolving to learn Azure in 2018.

I suggested that part of his problem was with the resolution itself (the other being procrastination). For me, the notion of learning Azure triggers the snowclone that it “is a journey, not a destination.” Instead of trying to learn Azure like it was something fixed and finite, I said he should make his resolution to just learn something new about Azure each day. If he implemented that one change, he could be successful with this year’s neglected resolution starting today.

Here are the tips



Participate in the Developer Economics Survey
Participate in the Developer Economics Survey

The Developer Economics Q4 2017 survey is here in its 14th edition to shed light on the future of the software industry. Every year more than 40,000 developers around the world participate in this survey, so this is a chance to be part of something big, voice your thoughts, and make your own contribution to the developer community.

Is this survey for me?

The survey is for all developers engaging in the following software development areas: cloud, mobile, desktop, IoT, AR/VR, machine learning, data science, web, backend, and gaming.

What questions am I likely to be asked?

The survey asks questions about the status and the future of the software industry.

What’s going up and what’s going down in the software industry? Are you working on the projects you would like to work on? Where do you think development time should be invested? Which are your favorite tools and platforms? What’s in it for me?

There are some perks to go with your participation. Have a look at what you can get our hands on:

Amazing prizes up for grabs:  A Pixel 2 phone, an iPhone X, a Windows Acer MR headset, a Nintendo Switch, Raspberry Pi 3’s, and more



XBox – Analytics on petabytes of gaming data with Azure HDInsight

This blog post was co-authored by Karan Gulati, Senior Software Engineer, XBOX and Daniel Hagen, Senior Software Engineer, XBOX.

Microsoft Studios produces some of the world’s most popular game titles including the Halo, Minecraft, and Forza Motorsport series. The Xbox product services team manage thousands of datasets and hundreds of active pipelines consuming hundreds of gigabytes of data each hour for first party studios. Game developers need to know the health of their game through measuring acquisition, retention, player progression, and general usage over time. This presents a textbook big data problem where data needs to be cleaned, formatted, aggregated and reported on, better known as ETL (Extract Transform Load).

HDInsight – Fully managed, full spectrum open source analytics service for enterprises

Azure HDInsight is a fully-managed cloud service for customers to do analytics at a massive scale using the most popular open-source frameworks such as Hadoop, MapReduce, Hive, LLAP, Presto, Spark, Kafka, and R. HDInsight enables a broad range of customer scenarios such as batch & ETL, data warehousing, machine learning, IoT and streaming over massive volumes of data at a high scale using Open Source Frameworks.

Key HDInsight benefits

Cloud native: The only service in the



Free eBook – The Developer’s Guide to Microsoft Azure now available, we are pleased to introduce a free eBook titled, The Developer’s Guide to Microsoft Azure second edition. The book was written by Michael Crump and Barry Luijbregts to help you on your journey to the cloud, whether you’re just READ MORE