Technical Papers: Microsoft Azure for Research

Windows Azure for Research technical papersThe technical papers featured on this page are designed specifically to help researchers quickly start working with Microsoft Azure. These papers cover a range of topics including Microsoft Azure virtual machines (Linux and Windows), storage, websites, big data, HPC, Microsoft business intelligence tools, and other open source and Microsoft tools—all from a technical computing user’s perspective.

The information in these papers can be used by Windows, Linux, and Mac users. If you have attended the Microsoft Azure for Research training, have received an award through the RFP program, or are just curious about Microsoft Azure, we believe you will find this content useful.

The papers do assume some prior technical computer programming skills, such as Python, Matlab, and basic scripting.

Getting started with Microsoft Azure

  • Microsoft Azure for Research Overview (PDF, 619 KB)
    This paper explains the overall benefits of a cloud infrastructure and how researchers can take advantage of these benefits for scientific applications. It also describes various services that Microsoft Azure provides and includes related use cases for research activities. To help researchers start using cloud computing for your own projects, this paper provides suggestions and includes links to additional resources for learning how to implement Microsoft Azure.
  • Microsoft Azure for Linux and Mac Users (PDF, 1.0 MB)
    This paper introduces Microsoft Azure, Microsoft's open and flexible cloud platform, and is written for research and academic users who are familiar with Linux or the Mac OS. The paper explains how you can take advantage of some of the capabilities that Microsoft Azure offers, such as using virtual machines (VMs), persistent storage, and deploying applications from a source code repository.
  • An Introduction to Using Python with Microsoft Azure (PDF, 1.2 MB)
    If you build technical and scientific applications, you're probably familiar with Python. What you might not know is that there are now tools available that make it easy for you to put your Python applications in the cloud by using the Microsoft Azure platform. Some of the services that Microsoft Azure offers include blob storage, databases, and messaging mechanisms such as queues. All Microsoft Azure services are available by using Python. This article introduces you to two Python development tools, Python Tools for Visual Studio, and IPython Notebook running on Microsoft Azure.
  • Visualization with Excel Tools and Microsoft Azure (PDF, 0.98 MB)
    This paper explains how to work with Microsoft Azure Storage and analyze the data in your storage account by using Microsoft Excel 2013. Specifically, you learn how to create a storage account and then set up either blob storage or table storage in that account. You also learn how to use Microsoft Azure Storage explorer client tools to facilitate transferring data into storage. (The paper also provides links to content that explains how to interact programmatically with Microsoft Azure Storage). The paper continues with an introduction to Power Map and Power Query, two Excel 2013 add-ins that make it easier to find, transform, and analyze geospatial data visually. You learn how to use Power Query to import data from Microsoft Azure Storage or from files on the Internet as well as how to use Power Map to plot data on a three-dimensional view of the Earth and animate the map to show changes over time.
  • Creating Microsoft Azure Web Sites (PDF, 964 KB)
    The Microsoft Azure Web Sites hosting offer is streamlined for fast and easy web site deployments in a scalable, reliable environment. Use frameworks and templates to create web sites in seconds. Choose from source control options like TFS, GitHub, and BitBucket. Use any tool or operating system to develop your site with .NET, PHP, Node.js, or Python. Once your web site is running, minimal maintenance is required. You have a simple view from the Microsoft Azure Management Portal for website monitoring and managing.

  • Managing Scientific Data with Microsoft Azure Storage (PDF, 1,000 KB)
    Microsoft Azure Storage is a cloud-based distributed storage service that you can use to store many different types of research data, ranging from images and videos to text files, binary files, and sensor data. This paper focuses on the Blog service and the Table service for storage. It provides an overview of these services and how to create a new storage account, includes instructions for using different tools to manage and upload your scientific data.

  • Building Scientific Data Solutions in Microsoft Azure (PDF, 1.03 MB)
    Data (XLXS, 5.04 MB)
    This paper shows you how to move data into Microsoft Azure SQL Database and then use Power BI for Office 365 to perform scientific data analysis in the cloud. The example in this paper describes how to use Infrastracture as a Service (IaaS), Platform as a Service (PaaS), or a hybrid architecture that includes your on-premises resources to create a cloud-based analytical solution. It includes a demonstration of how to use SQL Server Integration Services to collect and transform your data and how to use Power BI tools to visualize your data, explore your data using natural language queries, and to predict future trends with forecasting.

Virtual machines in Microsoft Azure (Infrastructure as a Service)

  • Getting Started with Microsoft Azure Virtual Machines (PDF, 721 KB)
    There are many advantages to running virtual machines in Microsoft Azure for scientific research. This paper describes a variety of scenarios for which cloud-based virtual machines are well-suited. In addition, it describes the many options you have for creating new virtual machines, whether you use a preconfigured image available on Microsoft Azure, a domain-specific on-premises virtual machine that you already have, or a virtual machine image that you create by using a service such as SUSE Studio. It also explains how to connect to a Microsoft Azure virtual machine and how to use the Management Portal, PowerShell cmdlets, or software development kits (SDKs) to manage your virtual machines.
  • Using and Contributing Virtual Machines to VM Depot (PDF 919 KB)
    Rather than build out a virtual machine manually for your next research project, you can take advantage of preconfigured virtual machine images available at VM Depot. Members of the online community have submitted these images for public use. Many of these images are useful for scientific research and data analysis because they come preinstalled in common tools such as IPtython and R. In addition, if you have a virtual machine to share with your research community, you can upload and publish an image. This article explains how to use VM Depot images, manage images and virtual machines in your Microsoft Azure Storage account, and contribute images to VM Depot.

Microsoft Azure Cloud Services (Platform as a Service)

  • Scaling a Microsoft Azure Cloud Service (PDF, 628 KB)
    This paper demonstrates how to use Microsoft Azure Cloud Service and Microsoft Azure Service Bus Queue to implement a horizontally scalable scientific computing service by using Basic Local Alignment Search Tool (BLAST) search queries as an example. BLAST is an application that searches biological databases to find regions of similarity between nucleotide or protein sequences. A BLAST search enables a researcher to compare a query sequence with a library or database of sequences, and identify library sequences that resemble the query sequence above a certain threshold.
  • Installing the Microsoft Azure BLAST Example (PDF, 804 KB)
    This paper explains how to install and run the BLAST for .NET demo, which demonstrates how to use a Microsoft Azure Cloud Service to perform Basic Local Alignment Search Tool (BLAST) queries. Initially, the application runs locally and uses a single compute node. By following the instructions in this paper, you will deploy the application to Microsoft Azure. Then, you can take advantage of Microsoft Azure scalability to increase the number of compute instances. In addition, we explain the use of Microsoft Azure blob and table storage in this cloud service.
  • Building Scalable Services in Microsoft Azure with Python (PDF, 729 KB)
    This paper demonstrates how to use Microsoft Azure and the Python programming language to implement the compute nodes of a scalable scientific computing service by using Basic Local Alignment Search Tool (BLAST) queries. The BLAST sample application in this paper is a scalable search service that uses a Microsoft Azure Service Bus Queue and Microsoft Azure table storage to communicate with the back-end BLAST compute nodes. The back-end compute nodes can be either Microsoft Azure worker role instances that run on the Microsoft .NET Framework or Microsoft Azure virtual machines (VMs) that execute BLAST from a Python program. You learn how to create compute nodes that use Python and how to use Python to interact with these nodes.
  • High Performance Computing on Microsoft Azure for Scientific and Technical Applications (PDF, 914 KB)
    Many areas of research are compute intensive. Examples include climate modeling, crash simulations, and bioinformatics. As more complex phenomena and greater demands for accuracy increase, so have the demands for cost-effective computational power. Consequently, researchers rely more and more on high performance computing (HPC) that uses clusters of low-cost compute nodes. Further, researchers are turning to the cloud to take advantage of its dynamic allocation of resources, so that they only pay for the resources they actually use. This article familiarizes researchers with the use of HPC Pack 2012 features running on Microsoft Azure.
  • MATLAB Distributed Computing Server with HPC Cluster in Microsoft Azure (PDF, 2.39 MB)
    This article shows you how to deploy the MATLAB Distributed Computing Server (MDCS) with the Windows HPC cluster (HPC cluster) in Microsoft Azure. With the HPC cluster deployed in Microsoft Azure, you can then use compute resources in Azure to run your Big Compute workloads with MDCS. A cloud-based HPC cluster provides a flexible, scalable platform for running MDCS without requiring investment in an on-premises compute cluster infrastructure.