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.
Azure’s serverless computing offering is called Azure Functions. These functions do not require the user to configure any server infrastructure.
- Azure function usage is billed on a pay-per-use model.
- Azure functions run only when triggered. Triggers can include schedules, messages, HTTP requests, and more.
- Azure functions also support package/dependency managers like NuGet and NPM as well as OAuth integrations with Azure Active Directory, Google, Facebook, and others. Additionally, rich integrations with other Azure services are supported.
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:
- Azure VMs also offer virtualized networking among other services to allow for better control over the system.
- GPU accelerated VMs are also available.
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 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.
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.
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.
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.
- Azure Queue Storage offers scalable message queuing services accessible through a REST API.
- Azure Service Bus allows for messaging services across applications and Azure products. It is possible to completely decouple applications and have them interact exclusively through messages passed through the service bus. Service bus even supports hybrid cloud deployments, where you have a mix of cloud and on-premises systems. Service Bus is also used to manage publish/subscribe (pub/sub) systems.
- Azure Event Grid is a service that routes events between any endpoints using a publish/subscribe model. It is most often used alongside serverless application deployments.
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.
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.
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.
Internet of Things
Azure’s IoT offering is comprised of several products.
- Azure IoT Hub is the main service used to manage IoT deployments and communication between IoT devices through Azure.
- Azure IoT Edge allows for cloud IoT logic to be deployed directly to an edge device, thus allowing a local device to service local requests or pass messages between local devices.
- Event Hubs handle massive ingestion of small data pieces from IoT devices and processes them, routing them to the correct endpoints.
- Digital Twins allows users to virtually map out physical IoT deployments and model interactions between devices and people. This allows for working with devices and data spatially instead of by IDs or other less descriptive identifiers.
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.
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.
- Web apps can be easily configured and deployed using App Services.
- API Management is a turnkey solution for configuring and deploying APIs to both external users and apps as well as to other internal Azure services.
- Azure Content Delivery Network is a scalable CDN solution for serving various types of multimedia and applications.
- Azure Front Door offers automated load balancing and routing features.
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.
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.