What This Book Covers
Chapter 1, Azure and Cloud Fundamentals, provides an introduction to some fundamental concepts, deployment and service models, benefits, and considerations of cloud computing, before introducing some important concepts of Microsoft Azure, providing a sound foundation for the rest of the book.
Chapter 2, Implementing Azure App Service Web Apps, covers one of the most used services in Azure development, Azure App Service. This chapter introduces Azure App Service and App Service plans and goes into detail about authentication and authorization within App Service, networking features, scaling, app settings, and logging capabilities, as well as achieving zero-downtime deployments with deployment slots using Azure App Service.
Chapter 3, Implementing Containerized Solutions, builds a solid foundational understanding of application containers, container images, and Docker. With this fundamental understanding, the relevant container-related Azure services—including Azure Container Registry, Azure Container Instances, and Azure Container Apps—are covered in detail.
Chapter 4, Implementing Azure Functions, begins with an introduction to the Azure Functions service, including hosting options and the different scaling considerations for each hosting option, along with the concepts of triggers and bindings. This chapter also covers various ways to develop, test, and deploy serverless functions using Azure Functions.
Chapter 5, Developing Solutions That Use Cosmos DB Storage, explores hosting NoSQL solutions in Microsoft Azure, including Azure Table storage and its features, and how to leverage the service using application code. The main focus of this chapter is Cosmos DB, which is introduced and explored in depth, covering topics such as the available APIs, scaling, high availability, consistency, recovery features, and querying Cosmos DB using the Azure portal and application code.
Chapter 6, Developing Solutions That Use Azure Blob Storage, introduces Azure Blob Storage and its role in supporting applications and services in Azure. Containers, blobs, metadata manipulation, life cycle management, and static website hosting within an Azure storage account are all covered in this chapter. Using application code to interact with Azure Blob Storage is also explored.
Chapter 7, Implementing User Authentication and Authorization, provides a detailed introduction to the Microsoft identity platform, service principals, permissions, and concept types, before moving into implementing authentication using the Microsoft Authentication Library (MSAL). Microsoft Graph is explored and leveraged within application code. This chapter ends with a detailed look at shared access signatures and stored access policies for authenticating requests to storage accounts in Azure.
Chapter 8, Implementing Secure Azure Solutions, starts by introducing how to leverage Azure Key Vault to secure application secrets, including authentication and authorization with Azure Key Vault, which leads to the topic of managed identities, along with the options available and best practices with regard to managed identities. The final topic of this chapter is using Azure App Configuration to centrally and securely store application configuration settings and feature flags. All of the topics explored in this chapter are accompanied by code examples and practical exercises.
Chapter 9, Integrating Caching and Content Delivery within Solutions, introduces dynamic content caching with Azure Cache for Redis and moves to the topic of caching static content with Azure Front Door and Content Delivery Network (CDN), including different caching patterns, high availability, pricing models, and integrations with Azure platform services such as Azure App Service and Azure Blob Storage.
Chapter 10, Monitoring and Troubleshooting Solutions by Using Application Insights, explores a variety of telemetry and monitoring topics, including performance improvement and troubleshooting crashes with snapshots collected by Application Insights, monitoring web logs with Azure Monitor, and creating live dashboards and workbooks using Kusto queries.
Chapter 11, Implementing API Management, is all about developing web API services and tools for connections and tests, including Swagger for testing and generating documentation, and the API Management service, products, and subscriptions, with a deep dive into advanced configuration using policies.
Chapter 12, Developing Event-Based Solutions, explores a variety of the event-based services available in Azure, including Event Hubs for ingesting big data, Event Grid for reactive programming, and IoT Hub for telemetry monitoring.
Chapter 13, Developing Message-Based Solutions, covers the implementation of messaging patterns. Messaging services in Azure are introduced, starting with Azure Queue Storage and moving on to Azure Service Bus. Message processing from queues and topics using sessions is also discussed. Guidelines are provided for implementing reliable content delivery with message-based services.