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 Azure.com 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 seriesGetting 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.
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
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.
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.
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.
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.
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
- AWS to Azure mapping - Map between Azure and AWS services
- AWS to Azure migration - Migrate virtual machines in Amazon Web Services (AWS) to Azure with Azure Site Recovery
- MongoDB to Azure Migration resources
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.
- Learning Path for Azure VMs - Learn how to deploy and manage VMs.
- Linux VM – Get started creating a Linux VM on the Azure Portal and utilize proven practices to run the Linux VM.
- Windows VM – Get started creating a Windows VM on the Azure Portal
- VM Extensions - Gain an overview of extensions to virtual machines such as the Chef, Docker or custom script extensions. Direct link to Docker VM Extension
- VM Scale Sets Overview - Learn about deploying and managing VM scale sets.
- Service Fabric Overview – a distributed systems platform that makes it easy to package, deploy, and manage scalable, reliable microservices.
- Choose between App Services, Service Fabric and VMs - including scenarios and recommendations.
- Docker Documentation - Starting point for documentation on Dockers including Docker for MAC, Windows, Linux, etc.
- Docker VM Extension - Create a Docker environment in Azure using the Docker VM extension.
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
- Virtual Networks (Vnets) Overview – Learn about Azure Virtual Networks and how to create them.
- Network Security Groups – Learn about Network Security Groups (NSGs) and how to configure them.
- Load-Balancers – Learn about Azure Load Balancer and to configure one.
- 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
- Azure App Service overview – Learn about Web Apps, Mobile Apps, API apps.
- Azure Web Apps – Create and deploy mission-critical web apps that scale with your business.
- Azure Mobile Apps – Build engaging iOS, Android, and Windows apps.
- Getting Started with Xamarin - Create cloud-powered mobile apps faster across iOS, Android, and Windows. Overview of Xamarin and how to use it.
- Notification Hub overview - An easy-to-use, multiplatform, scaled-out push infrastructure.
- Azure Search - Ready-to-use service that you can populate with your data and then use to add search to your web or mobile apps.
- Azure Mobile Services REST API Reference MSDN – Documentation on Mobile Services REST API and the available operations.
- Azure Deployment Using Git – Learn the basics and understand available resources to support publishing web applications on Azure using Git workflows.
- Azure Media Services (AMS) Overview – Learn about Azure Media Services and how to build scalable media management and delivery apps.
Tutorials and Sample code
Notification Hub demo - Deliver push notification messages to mobile applications on iOS, Android and Windows Phone platforms using Azure Notification Hub PHP, Node.js, and Python - Deploy PHP, Node.js and Python web apps on Azure and learn how to configure Azure App service
- Azure SQL Overview – Gain an overview on SQL and how to create a SQL DB on Azure.
- Azure SQL (PaaS) vs. SQL Server on Azure VMs (IaaS) - Learn what scenarios are better for an IaaS vs. PaaS SQL solution.
- DocumentDB – Learn about this fully managed NoSQL database service and how to build and manage DocumentDB applications.
- MongoDB on Azure – Learn about MongoDB on Azure and deployment recommendations.
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 DocumentDB Install 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.
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
Azure IoT suite documentation - Starting point to learning and using the Azure IoT suite.
Tutorials and Sample code
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 Patterns & Practices - Best practices for building cloud solutions. Including checklists and design patterns.
- Architecture Blueprints - Architectures for an array of different cloud scenarios.
Additional Useful Tools & Links
- Azure Price Calculator - Easily calculate pricing of Azure Services.
- Azure Trust Center - Learn about Azure security, compliance, privacy and transparency.
- Azure Subscription Service Limits - Learn about Azure subscription and service limits, quotas, and constraints.
- Azure Resource Explorer - A very useful web application to explore the Azure REST API.
- Azure Storage Explorer - A client application for Linux, Mac or Windows to easily work with storage accounts on Azure.
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 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.