Switch to a laptop (or maximize your browser window) for an optimal viewing experience.

UWB Hacks the Cloud Documentation

All the essential information needed to create an amazing cloud-based application at the UW Bothell 2020 hackathon.

Go to Documentation Home Go to Hackathon Website View on GitHub

Azure Product Overview

Before Getting Started…

This page covers what some of the most commonly used Azure services are, what they do, and where you can get detailed documentation. We’ll also briefly mention which services on other cloud platforms offer similar features.

Before getting started, visit the Azure free trial page to familiarize yourself with the free tier offerings currently available. If you have not already, visit the cloud account setup page on the documentation site for this hackathon to learn how to sign up for a free account.

Serverless Computing

Azure’s serverless computing offering is called Azure Functions. These functions do not require the user to configure any server infrastructure.

Key features:

AWS’ counterpart to this service is AWS Lambda, while GCP has Cloud Functions.

Virtual Machines

Azure’s core VM solution is Azure Virtual Machines. VMs can be scaled from as little as one or two vCPUs and a couple gigabytes of RAM to hundreds of vCPUs and several terabytes of RAM.

Additional features include:

Each increase in VM capability increases the cost of operation. VMs cost money to run, just as a physical computer generates electricity costs to operate. As such, as long as a VM is operational it will incur charges, even if no software is running on the VM. Additionally, any supplementary services that are provisioned alongside the VM, such as virtual networking switches will also generate charges. Remember to delete any services that are not in use to avoid unecessary charges.

Azure VMs are available with either Windows or Linux images, and can be deployed from either an Azure Marketplace image or a custom user-supplied image. Visit the informational page to see all available features. AWS’ competing offering is Amazon Elastic Compute Cloud (EC2), while GCP offers Compute Engine: Virtual Machines.

Containers

Containers are a way of packaging up an application and its dependencies and deploying it onto physical hardware. It’s similar to a virtual machine, but there is no Guest OS and no Hypervisor. Instead, containers run on a container runtime and are managed by container orchestration tools. Google has a good explanation of containers here.

Azure’s container offering is called Azure Container Instances (ACI). This service allows you to deploy containers without worrying about the underlying infrastructure needed to run them. They can be managed with Azure Kubernetes Service and connected to other Azure services. ACI also allows for adding a hypervisor for increased isolation between containers, thereby combining the security of a VM with the simplicity of a container. See ACI Docs for more information on how to use this offering.

AWS offers container services of its own through Amazon Elastic Container Service (ECS). ECS offers slightly more control than ACI. ECS allows you to either deploy your container on an EC2 VM, or on AWS Fargate. AWS Fargate is analogous to ACI in that you do not manage the underlying infrastructure, whereas with and EC deployment, you do manage the container orchestration software, among other things. GCP offers container services through Google Kubernetes Engine.

Databases

SQL Databases

Azure offers robust SQL database services. Their primary offering is Azure SQL Database, and they also offer special versions of the service for MySQL and PostgreSQL.

Azure SQL databases support all the expected SQL database features as well as built-in machine learning optimization, scaling, high availability, and security. Read the documentation for more information on how to get started. AWS’s competing service is Amazon Relational Database Service (RDS). GCP’s equivalent product is Cloud SQL.

NoSQL Databases

Azure’s NoSQL solution is CosmosDB. It offers turnkey distribution, low latency, automatic scaling, and API endpoints compatible with various SQL and NoSQL databases as well as other Azure services. See the documentation for more info on everything Cosmos DB can do.

AWS offers three slightly different NoSQL services: DynamoDB, SimpleDB, and DocumentDB. GCP’s offering is called Cloud Datastore.

Storage

Azure offers simple object storage via Azure Blob Storage. Blobs are designed for storing raw data meant to be accessed via cloud and web services, or by other Azure products. It can also be used for storing backups and logging data.

Blobs can be accessed via the Azure Storage REST API, Azure command line tools, or libraries available for a variety of languages. AWS’s counterpart is the Amazon Simple Storage Service (S3). GCP offers similar features with their Cloud Storage product.

Events & Messaging

Azure offers multiple products for passing messages and events.

AWS offers similar features to Queue Storage and Service Bus through their Amazon Simple Queue Storage (SQS) product. AWS also has a competing product to Event Grid known as Amazon Simple Notification Service (SNS). GCP offers similar products in the form of Cloud Pub/Sub and Firebase Cloud Messaging.

Monitoring

Azure Monitor allows users to collect, store, and perform analytics on telemetry data from various Azure services. Monitor has a specialized analytic engine and uses machine learning to help discern patterns and generate insights from collected telemetry data. Monitor also integrates with DevOps tools for a streamlined workflow.

AWS offers similar features in Amazon CloudWatch and AWS X-Ray. Cloud Logging and Cloud Monitoring are GCP’s competing offerings.

Machine Learning

There are many machine learning products available on Azure for different uses cases. These include training and deploying models, working with bots, Natural Language Processing, Speech, Computer Vision, Contextual Services, and more.

Check out Azure’s primer on their machine learning technologies for a better understanding of what products to use and when to use them.

AWS’ machine learning page is also available here, and GCP’s here.

Internet of Things

Azure’s IoT offering is comprised of several products.

AWS offers all of these features in their own products. Briefly these are: AWS IoT, AWS Greengrass, Kinesis Streams, Kinesis Firehose, AWS IoT Things Graph. GCP’s offerings are grouped together under the Google Cloud IoT umbrella.

Web Applications

Azure offers multiple resources for building web apps. These can be websites, APIs, or any other type of application that is meant for accessing through the internet.

Analogous AWS products include: Elastic Beanstalk, API Gateway, AWS CloudFront, and AWS Global Accelerator. GCP also has various solutions for web apps here.

Security & Identity Management

Azure’s security features are numerous and varied, as each of their products needs to have its own security features. Thus, it is impractical to cover them all here.

The main products to be aware of are Azure Active Directory and Role-based Access Control. These two services allow for control over who can access an Azure account and what permissions they have. For a detailed overview of all of Azure’s security features, see Azure security documentation.

For reference, here is AWS’ security page and GCP’s trust and security page.

More Resources

Here are some helpful links that offer more information into Azure products and services. Finally, don’t underestimate the power of a quick internet search! There are many resources available to make learning and working with Azure easier.

From the Hackathon Docs

From the Internet