A Guide to Common Azure Services
Introduction
In this article, we'll do a short overview of some of the most widely used Azure Services. In a bullet format, you'll quickly learn about their ideal use cases, which services complement them best, and where to avoid using them. Additionally, we'll note on important aspects such as backups, scalability, availability, and monitoring to help you make informed decisions when using these services. This article will be updated in the long run with new services, as demand and time allows.Azure Services ToC alphabetically sorted
- Backup and Recovery Services
- Cache Services
- Compute Services
- Data Integration and Management Services
- Databases Services
- Key Management Services
- Messaging & Event Processing Services
- Monitoring Services
- Networking & Hybrid Integration Service
- Storage Services
Azure Services
Backup and Recovery Services
- Disaster recovery: Azure Site Recovery provides a fully managed disaster recovery solution that helps organizations ensure the availability and resiliency of their critical applications and data.
- Migration: Azure Site Recovery can be used to migrate applications and data to Azure, either as part of a disaster recovery plan or as a standalone migration solution.
- Azure Backup: A fully managed backup service that can be used to protect data and configuration for applications and workloads that are protected by Azure Site Recovery.
- Azure Monitor: A fully managed monitoring service that can be used to monitor the health and performance of applications and workloads that are protected by Azure Site Recovery, and receive alerts and notifications in case of issues.
Cache Services
- High-performance caching of frequently used data to speed up application response times.
- Session management for web applications.
- Real-time message notifications and broadcasting for online games or chat applications.
- Storing and processing real-time analytics and sensor data from IoT devices.
- Azure Functions, can be used to process data stored in Azure Redis Cache and take actions based on the data.
- Azure Stream Analytics, can be used to stream data from IoT devices into Azure Redis Cache for real-time analytics and reporting.
- Azure Web Apps, can be used to host web applications that use Azure Redis Cache for session management and data caching.
- Applications that require strong consistency guarantees, as Redis Cache provides eventually consistent data.
- Applications that require data persistence, as Redis Cache is an in-memory data store.
- Azure Backup, a fully managed backup service that can be used to protect data stored in Azure Redis Cache.
- Azure Site Recovery, a disaster recovery solution that can be used to replicate data stored in Azure Redis Cache to another region.
Compute Services
- Building, deploying, and scaling modern cloud-native applications, as it provides a flexible and scalable platform for running containerized applications.
- Providing a platform for DevOps and CI/CD pipelines, as it integrates with a variety of tools and services for source control, build and deployment automation, and testing.
- Building microservices architectures, as it allows you to break down monolithic applications into smaller, more manageable services that can be deployed and scaled independently.
- Azure Kubernetes Service (AKS): A managed Kubernetes service that makes it easy to deploy, manage, and scale containerized applications using Kubernetes.
- Azure Service Fabric: A distributed systems platform that can be used to build and deploy highly scalable, reliable, and resilient cloud applications.
- Azure DevOps: A set of services for software development and collaboration that can be used to manage the end-to-end application lifecycle, from development to deployment and operations.
- Applications that require low-level access to the underlying infrastructure, as Azure Container Apps provides a fully managed platform with limited control over the underlying infrastructure.
- Applications that require real-time processing and low latency, as the multi-tenant nature of Azure Container Apps may result in variability in response times.
- Azure Backup: A fully managed backup service that can be used to protect data and configuration for Azure Container Apps.
- Azure Site Recovery: A disaster recovery solution that can be used to replicate data and configuration for Azure Container Apps to another region.
- Running short-lived or infrequently used applications and tasks, as Azure Container Instances provides a fast and efficient way to run containers without having to manage any infrastructure.
- Testing and debugging container applications, as Azure Container Instances makes it easy to quickly run containers for testing and debugging purposes.
- Deploying small scale, stateless applications and services, as Azure Container Instances provides a simple and scalable platform for running containerized applications.
- Azure Functions: A serverless computing platform that can be used to build and run event-driven applications and services.
- Azure Kubernetes Service (AKS): A managed Kubernetes service that makes it easy to deploy, manage, and scale containerized applications using Kubernetes.
- Azure DevOps: A set of services for software development and collaboration that can be used to manage the end-to-end application lifecycle, from development to deployment and operations.
- Long-running applications and services, as Azure Container Instances is designed for short-lived or infrequently used applications and tasks.
- Applications that require persistent storage, as Azure Container Instances does not provide any built-in storage solution.
- Azure Backup: A fully managed backup service that can be used to protect data and configuration for Azure Container Instances.
- Azure Site Recovery: A disaster recovery solution that can be used to replicate data and configuration for Azure Container Instances to another region.
- Event-driven applications that require processing of events, such as creating thumbnails from uploaded images, sending notifications, or analyzing logs.
- Building microservices and serverless architectures, where you can run small pieces of code that perform a single function.
- Applications that require rapid scaling and automatic provisioning of resources, as Azure Functions can automatically scale based on incoming request rate.
- Azure Event Grid for event-driven architectures, enabling Azure Functions to trigger in response to events from other Azure services.
- Azure Cosmos DB for storing and processing data, enabling Azure Functions to retrieve and store data in Cosmos DB.
- Azure Service Bus for messaging and queue processing, enabling Azure Functions to process messages and queues.
- Applications that require long-running or persistent processes, as Azure Functions are designed for stateless and ephemeral processing.
- Applications that require high-performance, low-latency access to data, as Azure Functions can have higher latency compared to other Azure services.
- Containerized applications: AKS is ideal for deploying and managing containerized applications, especially those that are built using microservices architecture.
- DevOps workflows: AKS supports DevOps workflows by providing an integrated and fully managed platform for deploying, updating, and scaling containerized applications.
- Azure Container Registry: A fully managed container registry that can be used to store and manage container images for deployment on AKS.
- Azure Monitor: A fully managed monitoring service that can be used to monitor the health and performance of containerized applications deployed on AKS, and receive alerts and notifications in case of issues.
- Applications that are not containerized, as AKS is designed specifically for deploying and managing containerized applications.
- Applications that require a high degree of customization and control, as AKS is a fully managed service and does not provide direct access to the underlying infrastructure.
- Automating business processes and workflows, as Azure Logic Apps provides a visual and intuitive interface for building and deploying workflows that integrate with various services and systems.
- Integrating cloud-based and on-premises systems, as Azure Logic Apps supports a wide range of data sources and protocols for connecting to various services and systems.
- Building microservices and serverless architectures, as Azure Logic Apps provides a scalable and flexible platform for building and deploying workflows that can be triggered by events and run in response to messages.
- Azure Functions: A serverless computing platform that can be used to build and run event-driven applications and services.
- Azure API Management: A fully managed API management platform that can be used to publish, manage, and monitor APIs and microservices.
- Azure Event Grid: A fully managed event routing service that can be used to route events to various services and systems, including Azure Logic Apps.
- High-performance computing or data-intensive workloads, as Azure Logic Apps is designed for workflows and integrations, not for heavy-duty computing tasks.
- Applications that require fine-grained control over the underlying infrastructure, as Azure Logic Apps provides a managed platform for building and deploying workflows, and does not provide direct access to the underlying infrastructure.
- Azure Backup: A fully managed backup service that can be used to protect data and configuration for Azure Logic Apps.
- Azure Site Recovery: A disaster recovery solution that can be used to replicate data and configuration for Azure Logic Apps to another region.
- Building and deploying modern web applications, including web apps, RESTful APIs, and mobile backends.
- Hosting websites and web applications, as it provides a scalable and cost-effective platform for delivering content over the internet.
- Providing a platform for development and testing, as it provides an easy-to-use environment for building, deploying, and testing web applications.
- Azure SQL Database: A fully managed relational database service that can be used as a backend for web applications hosted on Azure Web App.
- Azure Functions: A serverless compute service that can be used to build and run event-driven applications and microservices.
- Azure Cache for Redis: A fully managed in-memory data store that can be used as a cache for web applications hosted on Azure Web App.
- Applications that require low-level access to the underlying infrastructure, as Azure Web App provides a fully managed platform with limited control over the underlying infrastructure.
- Applications that require real-time processing and low latency, as Azure Web App provides a multi-tenant platform that may result in variability in response times.
- Azure Backup, a fully managed backup service that can be used to protect data and configuration for Azure Web App.
- Azure Site Recovery, a disaster recovery solution that can be used to replicate data and configuration for Azure Web App to another region.
Data Integration and Management Services
- Azure Data Lake Storage Gen1 and Gen2, for data storage and data lake scenarios.
- Azure Machine Learning, for advanced analytics and machine learning.
- Azure Data Factory provides built-in high availability and disaster recovery options, including automatic failover to a secondary replica and point-in-time restore.
- Scale out your data pipelines by adding more resources like data integration runtime to distribute data processing across multiple servers
- Scale out your data pipelines by adding more regions to distribute data across multiple servers
- Azure Log Analytics is the best monitoring solution to use with Azure Data Factory.
- Azure Monitor can be used to monitor Azure Data Factory performance and troubleshoot issues.
- Built-in monitoring capabilities such as pipeline run and activity run history, monitoring & alerting, and Data Factory Analytics that enables you to track performance, troubleshoot issues, and identify performance bottlenecks.
Databases Services
- Azure Networking, for secure network connectivity.
- Azure ExpressRoute, for a private connection to Azure.
- Built-in high availability with automatic failover to a secondary replica, it can be either on-premises or in another cloud, depending on the configuration.
- Built-in disaster recovery options, including point-in-time restore, and long-term retention backup
- Built-in read-scale out options, allowing you to distribute read traffic across multiple replicas.
- Scale up or down the performance level of your SQL Server instances running on-premises or in other clouds.
- Scale out your SQL Server instances using Azure Arc to distribute data processing across multiple servers.
- Azure Log Analytics is the best monitoring solution to use with Azure SQL Managed Instance.
- Azure Monitor for SQL to monitor performance and troubleshoot issues.
- Built-in monitoring capabilities such as Automatic tuning, Query store, and Azure SQL Analytics.
- Azure Active Directory Authentication, for secure access to the database.
- Built-in high availability with automatic failover to a secondary replica in the same region, or a different region in the case of a disaster recovery scenario using active-geo replication.
- Built-in disaster recovery options, including point-in-time restore, and long-term retention backup.
- Built-in read-scale out options, allowing you to distribute read traffic across multiple replicas.
- Scale up or down the performance level with a few clicks or automatically with the use of Azure Automation.
- Scale out using read replicas to distribute read load across multiple servers.
- Scale out using Azure Elastic Database Pools to share resources among multiple databases.
- Azure Log Analytics is the best monitoring solution to use with Azure SQL Database.
- Azure Monitor for SQL to monitor performance and troubleshoot issues.
- Built-in monitoring capabilities such as Automatic tuning, Query store, and Azure SQL Analytics.
- Azure IoT Hub, for IoT scenarios.
- Azure Stream Analytics, for real-time analytics.
- Azure Time Series Insights, for time-series data analysis.
- Built-in high availability with automatic failover to a secondary replica in the same region.
- Built-in disaster recovery options, including point-in-time restore, and long-term retention backup
- Built-in read-scale out options, allowing you to distribute read traffic across multiple replicas.
- Scale up or down the performance level of your SQL Edge instances.
- Azure Log Analytics is the best monitoring solution to use with Azure SQL Edge.
- Azure Monitor for SQL to monitor performance and troubleshoot issues.
- Built-in monitoring capabilities such as Automatic tuning, Query store, and Azure SQL Analytics.
- Azure ExpressRoute, for a private connection to Azure.
- Built-in high availability with automatic failover to a secondary replica in the same region, or a different region in the case of a disaster recovery scenario using active-geo replication.
- Built-in disaster recovery options, including point-in-time restore, and long-term retention backup.
- Built-in read-scale out options, allowing you to distribute read traffic across multiple replicas.
- Scale up or down the performance level with a few clicks or automatically with the use of Azure Automation.
- Scale out using read replicas to distribute read load across multiple servers.
- Scale out using Azure Elastic Database Pools to share resources among multiple databases.
- Azure Log Analytics is the best monitoring solution to use with Azure SQL Managed Instance.
- Azure Monitor for SQL to monitor performance and troubleshoot issues.
- Built-in monitoring capabilities such as Automatic tuning, Query store, and Azure SQL Analytics.
- Azure Data Factory, for data integration and data analytics.
- Azure Data Lake Storage Gen1 and Gen2, for data storage and data lake scenarios.
- Azure Machine Learning, for advanced analytics and machine learning.
- Azure Networking, for secure network connectivity.
- Built-in high availability and disaster recovery options, including automatic failover to a secondary replica and point-in-time restore.
- Built-in read-scale out options, allowing you to distribute read traffic across multiple replicas.
- Scale out your SQL Server Big Data Clusters by adding more nodes to distribute data processing across multiple servers
- Azure Log Analytics is the best monitoring solution to use with Azure SQL Edge.
- Azure Monitor for SQL to monitor performance and troubleshoot issues.
- Built-in monitoring capabilities such as Automatic tuning, Query store, and Azure SQL Analytics.
- Azure ExpressRoute, for a private connection to Azure.
- Built-in high availability with automatic failover to a secondary replica in the same region, or a different region in the case of a disaster recovery scenario using active-geo replication.
- Built-in disaster recovery options, including point-in-time restore, and long-term retention backup.
- Built-in read-scale out options, allowing you to distribute read traffic across multiple replicas.
- Scale up or down the performance level of your SQL Server on Virtual Machines by adjusting the size of the virtual machine.
- Scale out your SQL Server on Virtual Machines by adding more virtual machines to distribute data processing across multiple servers.
- Azure Log Analytics is a good solution to use with Azure SQL Database.
- Azure Monitor for VMs to monitor the performance of your virtual machines and the underlying infrastructure.
- SQL Server Management Studio (SSMS) and SQL Server Profiler to monitor and troubleshoot performance issues for SQL Server on Virtual Machines.
- Azure Data Factory, for data integration and data analytics.
- Azure Data Lake Storage Gen1 and Gen2, for data storage and data lake scenarios.
- Azure Networking, for secure network connectivity.
- Azure Machine Learning, for advanced analytics and machine learning.
- Built-in high availability with automatic failover to a secondary replica in the same region.
- Built-in disaster recovery options, including point-in-time restore, and long-term retention backup
- Built-in read-scale out options, allowing you to distribute read traffic across multiple replicas.
- Scale up or down the performance level of your data warehouse with a few clicks or automatically with the use of Azure Automation.
- Scale out your data warehouse using Azure Data Factory to distribute data processing across multiple servers.
- Scale out your data warehouse using Azure Data Lake Storage to store large amounts of data.
Key Management Services
Messaging Services
- Event-driven architectures: Event Grid enables you to build event-driven architectures and react to changes in your applications and services in near real-time.
- Serverless computing: Event Grid can be used to trigger serverless computing resources like Azure Functions or Azure Logic Apps.
- IoT devices: Event Grid can be used to receive and process telemetry from IoT devices.
- Event-based applications: Event Grid can be used for event-based applications that need to react to changes in the system.
- Azure Functions: Azure Functions can be triggered by events emitted to Event Grid.
- Azure Logic Apps: Azure Logic Apps can be used to build workflows that are triggered by events emitted to Event Grid.
- Azure Service Bus: Azure Service Bus can be used as an intermediary between Event Grid and other services that do not have direct integration.
- Event Hub is ideal for event and telemetry ingestion, such as IoT (Internet of Things) telemetry, log data, and social media data.
- It's a great option for large-scale, real-time data processing, such as real-time analytics, event-driven applications, and batch data processing.
- Event Hub works well in combination with other Azure services such as Azure Stream Analytics for real-time data analysis, Azure Functions for serverless event-driven processing, and Azure Notification Hubs for push notifications.
- It can also be used as a source of data for Azure Databricks, Power BI, and Apache Spark for data warehousing and analytics purposes.
- Event Hub is not meant to be used as a transactional database or a long-term data storage solution.
- It's not recommended to use Event Hub for scenarios where low latency or high throughput is not important.
- Event Hub provides built-in data retention and capture policies that enable you to backup your data.
- The backup data can be saved to Azure Blob Storage, Azure Data Lake Storage, or other Azure Event Hubs instances for further analysis.
- Event Hub is highly available, with automatic redundancy built into the service.
- It provides multiple levels of data redundancy, ensuring that your data is safe and available even in the event of hardware failures.
- Event Hub is designed to scale horizontally and vertically, allowing you to easily handle increases in data volume.
- It provides features such as partitioning and load balancing, allowing you to handle high-throughput scenarios.
- Azure Monitor provides built-in monitoring and logging capabilities for Event Hub, allowing you to track events and troubleshoot issues.
- It also provides real-time insights into the health, performance, and usage of the service.
Monitoring Services
Storage Services
- Exposing internal APIs to external consumers securely.
- Creating a portal for external developers to interact with APIs.
- Implementing rate limiting, security, and logging for APIs.
- Azure Functions or Azure Web Apps for building and hosting the APIs.
- Azure Active Directory Authentication for securing access to APIs.
- Azure Monitor for monitoring and logging of APIs.
- High-performance processing.
- Applications with strict low latency requirements.
- Load balancing incoming web traffic to multiple back-end servers
- SSL offloading, reducing the load on your back-end servers and improving performance
- URL-based routing and path-based routing to direct traffic to specific back-end servers
- Azure Load Balancer: for distributing incoming traffic across multiple VMs.
- Azure Virtual Machines: for hosting the back-end servers that handle incoming traffic.
- Azure Front Door: for global and scalable traffic management.
- Storing and processing large amounts of data
- Applications that require complex data processing and computation
- Azure Application Gateway provides high availability by distributing incoming traffic across multiple instances.
- The service is highly available in multiple Azure regions and provides automatic failover in the event of an instance failure.
- Azure Application Gateway can scale up and down based on incoming traffic, with auto-scaling capabilities to handle spikes in demand.
- Layer 4 load balancing
- Routing traffic to multiple regions for high availability and performance
- Routing traffic to multiple cloud service or web apps
- Redirecting traffic to a new version of a service during a deployment
- Layer 7 global load balancing
- Best suited for scenarios that require high-scale, globally distributed and highly available applications. It can be used for scenarios such as load balancing, content delivery, and performance optimization.
- WAF: Front Door includes a Web Application Firewall (WAF) that provides protection against common web-based attacks such as SQL injection and cross-site scripting.
- SSL/TLS Termination: Front Door supports SSL/TLS termination, allowing you to securely encrypt traffic between users and your backends.
- Performance Optimization: Front Door optimizes end-to-end performance by using caching, compression, and health checks to ensure that your applications are highly available and fast for users.
Storage Services
- Storing unstructured data, such as images, videos, audio, and documents, for distribution and retrieval over the internet.
- Storing data for backup and disaster recovery, as it provides a durable and cost-effective storage solution.
- Storing data for big data analytics, as it can be easily accessed and processed using Azure Data Factory and Azure HDInsight.
- Azure Functions, can be used to process data stored in Azure Blob Storage and take actions based on the data.
- Azure Data Factory, a fully managed data integration service that can be used to transfer data from Azure Blob Storage to other Azure services for further processing and analysis.
- Azure HDInsight, a fully-managed cloud service that makes it easy to process big data using popular open-source frameworks such as Apache Hadoop, Hive, and Spark.
- Applications that require low latency and high-frequency data access, as Azure Blob Storage is optimized for reliability and durability rather than speed.
- Applications that require strong consistency guarantees, as Azure Blob Storage provides eventual consistency.
- Azure Backup, a fully managed backup service that can be used to protect data stored in Azure Blob Storage.
- Azure Site Recovery, a disaster recovery solution that can be used to replicate data stored in Azure Blob Storage to another region.
- Azure Event Hubs, for event streaming and real-time analytics
- Azure Functions, for serverless compute and event-driven programming
- Azure Search, for full-text search and indexing
- Built-in high availability and global distribution, allowing you to replicate your data across multiple regions for low-latency access and high availability.
- Built-in disaster recovery options, including point-in-time restore and configurable consistency levels for different use cases.
- Scale up or down the performance level of your database with a few clicks or automatically with the use of Azure Automation.
- Scale out your database by adding more regions or Azure Virtual Network to distribute data across multiple servers.
- Scale out your database by partitioning your data to distribute data across multiple servers.
- Azure Log Analytics is the best monitoring solution to use with Azure SQL Edge.
- Azure Monitor can be used to monitor Azure Data Factory performance and troubleshoot issues.
- Built-in monitoring capabilities such as Metrics, Alerts, and Diagnostic logs that enables you to track performance, troubleshoot issues, and identify performance bottlenecks.
- Storing and processing large amounts of structured and unstructured data for big data analytics.
- Storing data for machine learning and artificial intelligence applications.
- Storing and processing log and telemetry data.
- Storing and processing data for business intelligence and reporting.
- Azure Databricks, a fast, easy, and collaborative Apache Spark-based analytics platform that can be used to process data stored in Azure Data Lake Storage.
- Azure HDInsight, a fully-managed cloud service that makes it easy to process big data using popular open-source frameworks such as Apache Hadoop, Hive, and Spark.
- Azure Stream Analytics, can be used to stream data into Azure Data Lake Storage for real-time analytics and reporting.
- Applications that require low latency and high-frequency data access, as Azure Data Lake Storage is optimized for large scale batch processing.
- Applications that require strong consistency guarantees, as Azure Data Lake Storage provides eventual consistency.
- Azure Backup: A fully managed backup service that can be used to protect data stored in Azure Data Lake Storage.
- Azure Site Recovery: A disaster recovery solution that can be used to replicate data stored in Azure Data Lake Storage to another region.
- Reliable communication between applications and microservices, especially when the communication involves multiple steps and can be performed asynchronously.
- Processing batch jobs by breaking them into smaller tasks that can be processed by multiple worker roles in parallel.
- Storing messages for later processing, such as emails or push notifications.
- Azure Functions, can be used to process messages stored in Azure Queue Storage and take actions based on the messages.
- Azure Service Bus, can be used to provide reliable and secure messaging between applications and services.
- Applications that require low latency and high-frequency data access, as Azure Queue Storage is optimized for reliability and durability rather than speed.
- Applications that require strong consistency guarantees, as Azure Queue Storage provides eventual consistency.
- Azure Backup, a fully managed backup service that can be used to protect data stored in Azure Queue Storage.
- Azure Site Recovery, a disaster recovery solution that can be used to replicate data stored in Azure Queue Storage to another region.
- Storing large amounts of structured data for applications such as analytics, reporting, or auditing.
- Storing metadata or reference data for applications.
- Storing data that does not need complex transactions or relationships, but still requires fast and efficient access.
- Azure Functions can be used to process data stored in Azure Table Storage and take actions based on the data.
- Azure Stream Analytics can be used to stream data from IoT devices into Azure Table Storage for real-time analytics and reporting.
- Azure Data Factory can be used to extract, transform, and load data into Azure Table Storage for reporting and analytics.
- Applications that require complex transactions or relationships between data entities.
- Applications that require a relational data model.
- Applications that require strong consistency guarantees.
- Azure Backup, a fully managed backup service that can be used to protect data stored in Azure Table Storage.
- Azure Site Recovery, a disaster recovery solution that can be used to replicate data stored in Azure Table Storage to another region.