Find file
Fetching contributors…
Cannot retrieve contributors at this time
284 lines (210 sloc) 44.6 KB

The purpose of this GitHub repository is to help startups quickly engage and get up and running on Azure services. You'll find links to key documentation, tutorials and code packets. If you have feedback on the content please submit an issue.

Table of Contents

- Getting started on Azure  Learning paths, tutorials, videos, and all you need to know to get ramped up on Azure

- Migrating to Azure  Tools & services, tutorials, and official information on how to move your existing solution to Azure.

- Tools and links  Azure price calculator, Azure Trust Center, and other useful additions to help your success on Azure.

- Infrastructure Services
   Compute, Networking, Storage

- Platform Services
   Web & Mobile, Data,
   Intelligence & Analytics, IoT

- Cloud Architecure  patterns, practices, and architecture blueprints.

- Azure Resource Manager  overview and availability chart

- Feature highlights  Get beyond the basics. Helpful features in Azure for Start-ups

Getting Started on Azure

  • Get started on Azure – Link to Getting Started page.

  • Interactive Azure Map - Interactive overview of services available on Azure. Click on a service to learn about it.

  • Azure Learning Paths - Get started with these learning paths for different Azure Services.

  • Azure on Microsoft Virtual Academy - Virtual courses on cloud development.

  • Azure on Channel9 - Video tutorials about Azure services.

  • Startup Offers - Get free cloud credits and offers through Microsoft’s BizSpark program.

  • Microsoft Azure for Amazon AWS Cloud professionals: Getting Started - Showcase and demo of Microsoft Azure features and comparison to Amazon Web Services to see how they match up.


    Getting started on Azure video series

      -    Getting Started on Azure: *Overview of the Azure portal*- An introduction to the Azure portal, covering navigation and key elements of the portal including the Azure dashboard, marketplace, and resources.
      -    Getting Started on Azure: *Resource Groups* - Learn what to consider and how to create and manage a resource group on the Azure portal.
    -    Getting Started on Azure: *Storage Accounts* - Learn how to create and manage a storage account on the Azure portal and select the storage option that is right for you.
      -    Getting Started on Azure: *Virtual Networks* - Learn how to set up a virtual network including IP address blocks, DNS settings, security policies, and routing tables on the Azure portal.
      -    Getting Started on Azure: *Virtual Machines* - Learn how to set up and configure an Ubuntu virtual machine on the Azure portal.
      -    Additional Getting Started on Azure videos - View additional Getting Started on Azure videos such as Windows Server Virtual Machines, Web Apps, SQL Database on Azure and more.

    Feature highlights

    Azure Data Factory

    Grow fast and go far—build hybrid data integration at scale with Microsoft Azure Data Factory Data is no longer something to be stored and ignored—it’s one of your biggest business assets. If you want to kickstart growth and beat the competition, you need a system to refine enormous stores of raw data into actionable business insights. But you’re also focused on the bottom line, so that solution has to be cost effective, flexible, and scalable. Azure Data Factory is a cloud-based data integration service that allows you to create data-driven workflows in the cloud for orchestrating and automating data movement and data transformation. Microsoft has announced expanded capabilities in a new public preview of in Data Factory. You can now create, schedule, and orchestrate your extract-transform-load (ETL), extract-load-transform (ELT), and data integration projects at scale, whether your data lives in the cloud or on a self-hosted network. With the addition of SQL Server Integration Services (SSIS), you can easily lift your SSIS packages into the cloud by using new managed SSIS hosting capabilities in Data Factory. By spinning up an SSIS package with a new feature called Integration Runtime (IR) in Data Factory, you’ll be able to execute, manage, monitor, and deploy SSIS packages in the cloud.

    Azure IoT Suite

    Get ahead—and stay ahead—with the next generation of Remote Monitoring in Azure IoT Suite Technology is advancing fast, and devices are getting smarter day by day. To meet this market reality and accelerate the development of your IoT apps, you can work with preconfigured solutions from the Azure IoT Suite. IoT Suite preconfigured solutions combine multiple Azure IoT services. You can deploy them in minutes to get started quickly, and you can customize them to meet your needs. Microsoft has announced a new version of the IoT Suite Remote Monitoring preconfigured solution. It provides two deployment options to match your needs: a Basic version to get started at a low cost, and a Standard version for production-ready IoT solutions. The new version of Remote Monitoring includes a new scalable Microservices architecture that’s available in both .NET and Java toachieve scale and flexibility without compromising development speed. You can also configure rules and alarms over live IoT device telemetry, and troubleshoot and remediate issues within your IoT device groups. The user interface is completely redesigned to visualize the capabilities of a production-ready solution and provide a rich dashboard for deep insights and solution status.

    Azure Machine Learning

    Turn users into loyal fans with new innovations in the Microsoft AI-driven digital transformation User experience is critical to an app’s success. One way to boost your UX game is with the new capabilities in Azure Machine Learning. Microsoft recently shared some exciting innovations in AI development platforms. These announcements span Azure Machine Learning, new Visual Studio tools for AI, Cognitive Services, and new enterprise AI solutions. The next generation of Machine Learning includes powerful new capabilities that enable developers to exploit big data, GPUs, data wrangling, and container-based model deployment. Microsoft also released Visual Studio Code Tools for AI to provide a rich set of capabilities for easily building models with deep learning frameworks, including Microsoft Cognitive Toolkit (CNTK), Google TensorFlow, and more. And Microsoft Cognitive Services has two new cloud-hosted APIs that enable developers to easily add AI capabilities—such as emotion and sentiment detection, vision, and speech recognition—into applications.

    Azure Service Fabric

    Hyperscale to new heights with the general availability of Service Fabric on Linux You’d rather focus on building great apps than re-architect your infrastructure to keep up with growth. With Azure Service Fabric, you can do what you do best and let Azure solve the hard distributed systems problems: reliability, scalability, management, and latency. Microsoft has announced the general availability of Service Fabric on Linux for container orchestration in all regions, including national clouds. With this release, which includes runtime 6.0 and SDK 2.8, you can now run containerized applications on Service Fabric for both Windows Server and Linux. You can also take advantage of orchestration features on Linux. Use Service Fabric to launch and manage container images, govern resources, complete service discovery with DNS, and gain insights from using OMS integration. With volume driver integration, you can truly focus on building applications and not assembling or building a platform across both Windows Server and Linux.

    Azure Stream Analytics

    Azure Stream Analytics provides on-demand, real-time analytics to power intelligent action To make your big ideas a reality, you need IT agility and flexibility. Your IT resources have to be able to scale up and out at a moment’s notice. With Azure Stream Analytics, you can instantly scale out the processing power from one streaming unit to hundreds of them for any job, and you pay only for the processing used for the job. Stream Analytics is an on-demand, real-time analytics service that you can use to power intelligent action. Microsoft has announced the preview of several new capabilities in Azure Stream Analytics, including built-in inline machine learning–based anomaly detection, egress to Azure functions, support for compressed data formats, JavaScript user-defined aggregates, and support for CI/CD in Microsoft Visual Studio tooling. A machine learning–based operator in Stream Analytics helps you monitor data from applications or devices in real time and easily detect events or observations that don’t conform to an expected pattern. Microsoft also announced an output adapter to Azure Functions from Azure Stream Analytics. This allows you to connect Stream Analytics to Azure Functions and run a script or piece of code to trigger downstream workflows and accelerate responses to key events. New Visual Studio tooling allows you to perform automated builds and test and deploy scripts with Stream Analytics Visual Studio projects.

    Azure Functions

    An enterprise-grade platform on a startup budget—serverless computing with the new capabilities in Azure Functions App development is hard enough. You don’t want to dedicate your valuable time and resources to infrastructure management. Instead, you can build interesting and impactful solutions with the serverless architecture of Azure Functions. Microsoft recently announced some new capabilities in Azure Functions. These new features will help you accelerate the development of serverless applications and reduce maintenance and costs. Native integration between Azure Cosmos DB and Azure Functions allows you to create database triggers and input/output bindings directly from your Azure Cosmos DB account. Microsoft Graph bindings enable your functions to easily communicate with Microsoft OneDrive, Excel, Outlook, and Graph with just a few lines of code. You can extend the Azure Functions experience to developers on MacOS and Linux as well. And support for Azure App Insights in functions is now generally available. Finally, Azure Stream Analytics is introducing support to trigger serverless code in Azure Functions in response to analytics queries in real time.

    Azure App Service

    More choices and support for developers with the availability of App Service on Linux and Web App for Containers Applications are changing the business landscape—from delivering amazing customer experiences to transforming internal operations. To keep pace, Microsoft Azure offers App Service, which helps your developers quickly build, deploy, and scale applications without having to maintain the underlying web servers or operating system. M With this, App Service now offers built-in image support for ASP.NET Core, Node.js, PHP, and Ruby on Linux. It also gives developers the option to bring their own Docker-formatted container images supporting Java, Python, Go, and more. In other words, it provides a complete development platform to enable your developers to gain high productivity and easy deployment.

    IoT Hub

    Automate the provisioning of devices to Azure IoT Hub Provisioning is an important part of the lifecycle management of an IoT device. Microsoft has announced the preview of Azure IoT Hub Device Provisioning Service to remove the tedium of manually configuring IoT devices. This automated service can be used to provision millions of devices. The IoT Hub Device Provisioning Service is a helper service for your IoT hub that enables zero-touch, just-in-time provisioning to the right IoT hub without human intervention, enabling you to provision IoT devices in a secure and scalable manner. The Device Provisioning Service is the only cloud service that provides complete automated provisioning, including registration of the device to the cloud as well as configuration of the device.

    Azure Log Analytics

    Get deep insights into containers with the newly announced Container Monitoring Solution on Azure Log Analytics Docker containers is a growing technology for running modern applications. It helps developers and DevOps with easy provisioning and continuous delivery in modern infrastructures. To simplify Docker container monitoring and management, Microsoft has announced the general availability of the Container Monitoring Solution on Azure Log Analytics, available on Azure Marketplace. It provides deep insights into containers supporting Kubernetes, Docker Swarm, Mesos DC/OS, and Service Fabric container orchestrators on multiple OS platforms. It helps you know which containers are running, what image they're running, and where they're running. You can view detailed audit information that shows commands used with containers. And you can troubleshoot containers by viewing and searching centralized logs without having to remotely view Docker or Windows hosts.

    Azure Event Grid

    Microsoft announces Azure Event Grid, a unique and intelligent event service for modern applications Modern applications—including Internet of Things (IoT), mobile apps, business process applications, and more—are built around events. This drives the need for event-based programming. To support this need, Microsoft recently announced the first-of-its-kind Azure Event Grid, a fully managed, intelligent event-routing service that allows for uniform event consumption using a publish-subscribe model. You can build event-based, serverless applications with a higher level of abstraction, so you don’t need to worry about infrastructure, provisioning, or scaling. You can use Event Grid to react to relevant events across Azure and non-Azure services in near-real time. And you can create richer app scenarios by connecting serverless logic to events from multiple sources.

    Azure Web Apps

    Deploy your Java app to Azure by using a new Maven Plugin With the release of a new Maven Plugin for Azure Web Apps, developers can now deploy or redeploy Java-based web applications over Linux Azure App Service or Windows App Service in a couple easy steps. The Azure App Service provides a managed web app environment to enable your Java application to run smoothly on Azure. The only thing the developer needs to worry about is the code of the Java app. App Service handles the provisioning, load balancing, auto-scaling, and app health monitoring. You can also customize the settings and create a custom layout for your application.

    Azure Batch Rendering

    New Azure Batch Rendering to run large-scale rendering workloads seamlessly on Azure Rendering visual effects is one of the most complex aspects of a cinematic production. Major challenges in rendering include finding the right infrastructure, setting up and managing a render farm made up of high-performance computing clusters, and managing associated workflows. To overcome these challenges, Microsoft has announced the public preview of Azure Batch Rendering service, which offers cloud-scale rendering capabilities on a pay-per-use basis. The Batch Rendering service handles job scheduling and queueing, managing failures and retries, and auto-scaling for your rendering jobs. You can submit rendering jobs via client applications like Autodesk Maya, 3ds Max, and Arnold and get easy scaling, monitoring, and asset management. A flexible programming model and an SDK that’s available in various languages allow your developers to integrate their own pipelines and workflows into the solution. Batch Rendering accelerates large-scale rendering jobs to deliver results to your customers faster.

    Hyper scale compute

    Microsoft brings container orchestration for Windows Server Containers to Azure Service Fabric Running a traditional application inside containers is an easy first step to gain some of the benefits of a microservices architecture, such as improved density and easier application lifecycle management. Azure Service Fabric is the Microsoft microservices platform, and Microsoft has announced the release of Service Fabric 5.6 runtime and 2.6 SDK, which support the orchestration of Windows Server Containers. This release includes many new features targeted at container orchestration, including a DNS service, resource governance, Microsoft Operations Management Suite integration, and more. It also contains support for Docker Compose for deploying containerized apps to Service Fabric with Microsoft Visual Studio 2017 tooling integration.

    Azure Video Services

    Video Indexer—a cloud service that lets you easily extract insights from your videos When video and audio content lacks human-understandable, time-stamped metadata, it can be difficult to find. Generating such metadata for video and audio is expensive and next to impossible when you have a high volume of this type of content. Microsoft has announced the public preview of a cloud service called Video Indexer as part of Microsoft Cognitive Services. Video Indexer enables organizations with digital video and audio content to automatically extract metadata and use it to build intelligent, innovative applications. It builds upon media AI technologies to make it easier for you to extract insights from video and audio. You can use Video Indexer to power new forms of content discovery, like searching for spoken words, faces, characters, and emotions, and to enrich your apps with embedded video insights to drive user engagement.


    Massive-scale cloud rendering with Autodesk on Azure When implementing a rendering project, it’s hard to find the right infrastructure, set up a render farm made up of high-performance compute clusters, and then manage the render farm. Even small projects can take anywhere from days to weeks to complete. The cloud is perfectly suited for variable-length and long-running rendering projects. Microsoft has announced the preview of Azure Batch Rendering and its integration with Autodesk. When used together with Autodesk, Azure opens doors for artists, engineers, designers, and developers. Built on top of Azure Batch, a mature production service, this new rendering platform will allow you to seamlessly submit rendering jobs by using Autodesk’s suite of products—including Autodesk Maya, 3ds Max, and Arnold—together with the agility, flexibility, and scalability of Azure compute.

    Cosmos DB

    Build fast, scalable, globally distributed applications by using Azure Cosmos DB Microsoft has announced the general availability of Azure Cosmos DB, a globally distributed multimodel database. Azure Cosmos DB is the first globally-distributed data service that lets you elastically scale throughput and storage across any number of geographical regions while guaranteeing low latency, high availability, and consistency—and it’s backed by the most comprehensive SLAs in the industry. Azure Cosmos DB is the right solution for your globally distributed mission-critical applications—including web, mobile, gaming, and IoT applications—when predictable throughput, high availability, low latency, and a schema-free data model are key requirements.

    Azure compute

    Your Microsoft-managed admin machine in Azure, for Azure Cloud Shell provides an interactive, browser-accessible, pre-configured shell experience for managing Azure resources without the overhead of installing, versioning, and maintaining a machine yourself. The authenticated shell experience is hosted in the cloud and accessible from virtually anywhere. It enables you to use common tools and programming languages in a shell that’s updated and maintained by Microsoft. You can also persist your files across sessions by using attached Azure File storage.

    Visual Studio

    Gain powerful info about your web app by using new tools in Microsoft Azure Application Insights Which features of your web app are most popular and most frequently used? Do your users achieve their goals with your app? Microsoft has released new tools in Application Insights to help you understand user behavior and empower your development team to better understand how customers use your web apps. Every time you update your app, you can assess how well it works for users. You can get rich performance monitoring, powerful alerting, and easy-to-consume dashboards to help ensure your applications are available and performing as you expect.


    Storage Service Encryption (SSE) for Azure File Storage. When enabled, SSE automatically encrypts data at rest using a 256-bit encryption key—helping organizations meet organizational security and industry compliance requirements.

    Azure Stream Analytics

    Track data with real-time geospatial analytics in Azure Stream Analytics Azure Stream Analytics now offers real-time geospatial analytics, with production-grade quality and just a few lines of code. The new capabilities include native functions to compute geospatial operations (such as overlap between polygons, intersection between paths, and more), as well as the ability to join multiple streams for more complex calculations.


    Adapt content for global users with Azure Traffic Manager Geographic Routing Azure Traffic Manager Geographic Routing lets you get the right content to the right users by customizing it for the location of your customer, by country or region. This means you can make your service compliant with local data access or privacy mandates. Your startup will be able to easily maintain a global presence and direct user traffic to specific endpoints based on geographic location.

    Azure Resource Manager (ARM)

    Simplify VM deployment using custom templates in Azure Resource Manager (ARM)Custom Azure Resource Manager (ARM) templates are a great way to make deploying virtual machines and resources a repeatable, easy-to-automate process. The template reference documentation explains the available resource types you can use to create custom templates for various Azure resources—including what values to use in your template.

    Working with Azure

    • Azure Portal - The best way to get started is with the Azure portal, a web based interface for managing Azure.

    • Azure SDKs & Tools - SDKs for many common languages such as .NET, Java, Node.js, Python, Ruby and other tools.

    • Azure PowerShell - Work with PowerShell cmdlets to perform Azure operations.

    • Azure CLI – Create/manage Azure resources using a set of open-source shell-based commands.

    • Azure API Reference - Reference for Azure REST and .NET APIs.

    • Azure Solutions - A listing of top Azure solutions and their brief descriptions

    • Azure Products and services – A searchable list of all Azure products and services

    Migrating to Azure

    Tutorials and Sample code

    AWS VM to Azure VM migration AWS CDN to Azure CDN Migration AWS S3 to Azure Blob Storage migration AWS CDN to Azure CDN Migration ASP.NET Web App migration from AWS to Azure

    Tools & Services

    • AWCopy - Azure service that provides parallelized copies of S3 files in Amazon Web Services to Azure blobs.
    • CloudBerry Cloud Migrator - service to transfer files from one cloud storage to another (Amazon S3 & Glacier, Windows Azure Blob Storage, Rackspace Cloud Files and FTP servers).
    • Azure Import/Export Service - Transfer Data to Blob Storage.

    Infrastructure Services (IaaS)

    Infrastructure as a service (IaaS) refers to the compute, networking and storage building blocks which allow you to build any kind of cloud solution. IaaS allows you to have maximum control on how you manage virtual machines, network configuration but requires you to invest in attaining robustness, availability and scalability in the cloud.


    Tutorials and Sample code

    Containers on Azure - Perform heavy computational tasks (for example video or audio encoding, hash calculation, data encryption, etc.) and make the process scalable and cost effective using Docker containers. Deploy to Azure using the Docker VM Extension - use Resource Manager templates to deploy the Docker VM Extension in a custom, production-ready environment that you define AWS S3 to Azure Blob Storage migration Ruby on Rails web app on Azure VM



    • Introduction to Azure Storage – Learn the basics of Azure Storage including Blob, Table, Queue, and File storage.
    • Azure Backup – Learn about and how to implement Azure Backup to back up (or protect) and restore your data in the Microsoft cloud.
    • Azure Site Recovery – Orchestrate your disaster recovery plan.
    • Create a storage account – Learn how to create a general purpose or blob storage account with links to getting started on Blob, Table, Queue, and file storage accounts.

    Platform Services (PaaS)

    Platform as a Service (PaaS) resources are Azure services which are built for most cases and allow you to enjoy high availability, scalability and robustness out of the box. Instead of managing VMs directly, let Azure manage the underlying infrastructure and focus on building your applications and solutions.

    Web & Mobile


    Tutorials and Sample code

    Notification Hub demo - Deliver push notification messages to mobile applications on iOS, Android and Windows Phone platforms using Azure Notification HubPHP, Node.js, and Python - Deploy PHP, Node.js and Python web apps on Azure and learn how to configure Azure App service



    Tutorials and Sample code


    Import data to DocumentDB with the Database Migration tool – Learn how to use the open source DocumentDB data migration tool to import data to Azure DocumentDBInstall MongoDB on a Windows VM - Learn how to install MongoDB on a Linux VM in Azure.Install MongoDB on Linux - Learn how to install MongoDB on a Linux VM in Azure.Create a web app that connects to MongoDB – Learn how to create a web page in Azure that connects to MongoDB running on a VM.
    SQL DB and Elastic pool feature tutorials – simple step-by-start tutorial for different SQL feature areas

    Intelligence & Analytics (incl. Machine learning and Cognitive services)

    • Azure HDInsight - An introduction to Hadoop on Azure HDInsight, its ecosystem, and big data. Learn about the Hadoop components, common terminology, and scenarios for big data analysis.

    • Stream Analytics - Overview of Azure stream analytics, low-cost solutions to gain real-time insights from devices, sensors, infrastructure, and applications

    • Additional Intelligence and Analytics services – HDInsight, Machine Learning, Data Factory, Log Analytics, Data Catalog, Power BI Embedded, Data Lake store and much more.

    • Machine Learning Overview - Overview and tutorial on Machine Learning.  Or explore further Machine Learning

    • Azure Machine Learning Studio - A collaborative, drag-and-drop tool you can use to build, test, and deploy predictive analytics solutions.

    • Get started with Microsoft Cognitive Services – Learn how to easily add powerful artificial intelligence capabilities to your applications with Microsoft Cognitive Services. See Cognitive Services for more information.

    • Cognitive Services: Making AI Easy – The rise of machine learning has produced an explosion of APIs to make your applications more intelligent. Learn about more than 20 Cognitive Services APIs. You'll see powerful demos, experience the simplicity of calling this code, and get ideas for adding this functionality to your own applications.

      Tutorials and Sample code


    Data Science and Machine Learning – Microsoft Imagine course content - learn fundamental concepts of machine learning and use Spark to predict the trend and patterns of massive data sets

    Internet of Things



    IoT Microsoft Imagine course content – learn how to collect streaming data from IoT devices and analyze the streaming data MyDriving App IoT sample – MyDriving app uses a wide range of Azure services to process and analyze car telemetry data for both real-time insights and long-term patterns and trends

    Cloud Architecture

    Additional Useful Tools & Links

    Azure Resource Manager (ARM)

    The Azure Resource Manager is at the core of the Azure platform and is used to deploy and manage Azure services. Every resource in Azure managed under ARM can be described and managed in a consistent way. It's very helpful to understand the Azure Resource Manager and how to work with Resource Groups.

    • ARM Overview - Get an overview of the Azure Resource Manager.
    • ARM vs. Classic - Understand the difference between ARM and the Classic (ASM) deployment model.
    • Azure portal availability chart – use the availability chart to determine what services are supported by ARM and the Azure portal

    ARM Templates

    ARM templates are JSON descriptions of ARM deployments which can be used for "Infrastructure as Code".

    • Deploying ARM Templates – Learn how to deploy ARM templates using PowerShell, Azure CLI or REST API.
    • Quick Start Templates - A Github maintained, vast collection of templates for common use cases to help you get started authoring your own templates or deploying simple solutions.
    • Template Authoring - How to author custom templates.