Chapter 1, Getting Started, introduces cloud computing as a new strategy and paradigm. The focus of this book is Azure and starts with its introduction. It provides details about IaaS, PaaS, and an introduction to some of the important features that help when designing solutions. It will introduce Azure Resource Manager and Resource groups. It will also introduce major Azure resources such as compute, network, storage, functions, IoT, data services, and automation tools and languages.
Chapter 2, Azure Design Patterns, talks about Azure cloud patterns related to virtual networks, storage accounts, regions, and availability sets. It also briefly discusses cloud patterns that help in implementing scalability and performance. Messaging patterns help with the building of reliable solutions. Messaging patterns will also be focused in this chapter.
Chapter 3, Designing High Availability, focuses on describing the high availability features available on Azure. Enterprises need high availability for their deployments. This chapter will build a solid foundation on high availability concepts and help the user make informed decisions related to IaaS and PaaS deployment strategies.
Chapter 4, Implementing Scalability, focuses on designing solutions that can automatically increase and decrease the available resources based on its current consumption to maintain its performance levels. Azure provides virtual machine scale sets (VMSS) for deploying highly scalable solutions. This chapter focuses on VMSS-based architecture and deployment. It will also describe PaaS-based scalability and its strategies.
Chapter 5, Cloud Security, introduces important concepts from a security viewpoint. Security is super important in any cloud deployment. Azure provides network security groups, firewalls, NAT, security center, and key vaults features to deploy cyber security applications. This chapter will provide details about these features and architect a solution using them.
Chapter 6, Designing IoT Solutions, provides in-depth information about implementing an IoT solution using the Azure cloud. The Azure cloud provides a complete IoT platform for developing device-based solutions. This chapter will show how to architect IoT-based solutions using the Azure cloud. It will also describe architectural concerns that every architect should keep in mind while creating a solution. This chapter will discuss topics related to IoT hubs, event hubs, registering devices, a device to platform conversation, and logging and routing them to appropriate destinations.
Chapter 7, Designing and Implementing Data Solutions, dedicates itself to data storage and services. Azure provides multiple features related to data services. This chapter will focus on providing insights about which features and resources to use for different types of solutions, and their pros, cons, and advantages. A complete architecture for ingesting data, cleaning and filtering data, and storing it in appropriate data stores, such as Data Lake and Cosmos DB, and then pushing data to Power BI for visualizing will be part of this chapter.
Chapter 8, Designing and Implementing Serverless Solutions, focuses on serverless computing. Azure functions are a versatile platform for hosting small business functionalities as functions and help in weaving solutions together. This chapter will focus on understanding the serverless paradigm, Azure functions, its capabilities, creating solutions by combining multiple functions, understanding triggers and parameters, and different sources of inputs and outputs.
Chapter 9, Designing Policies, Locks, and Tags, focuses on using the management features provided by Azure to implement better manage deployments. Tags help by adding additional metadata information to Azure resources. They also help by providing information architecture regarding Azure resources. This chapter provides design guidelines for defining tags for deployments. It also provides details about policies and locks to restrict and control Azure resources regarding their location, usage, size, accessibility, permissions, and so on. It is an important concept, providing management control over Azure resources.
Chapter 10, DevOps on Azure, dedicates itself to DevOps. The Azure cloud provides rich tools, utilities, and scripting support to enable automation for DevOps. Azure supports Azure Resource Manager templates, desired state configuration, PowerShell, Rest API, and open source technologies such as Chef, Python, and Linux to devise end-to-end automation of continuous integration, delivery, and deployment. Infrastructure as Code and configuration management is also supported inherently using Azure features such as Azure automation. This chapter will focus on building CI/CD pipelines and configuration management for Azure resources using VSTS.
Chapter 11, Cost Management, covers a somewhat different angle compared to the other chapters in this book. It is not a technical chapter but discusses various ways of means to reduce the cost of deployments on Azure. This chapter will focus on calculating the cost of deployment on Azure using the Azure cost calculator. It will also show how changing location, size, and type of resources can affect the cost of the solution, and also provide best practices to reduce the overall cost of Azure deployments.
Chapter 12, Monitoring and Auditing, focuses on understanding how Azure services such as Operational Insights and Application Insights provide monitoring and auditing capabilities. This chapter will show how to configure them and utilize them to monitor Azure resources and take actions based on them. This chapter will also focus on architecting monitoring solutions for Azure cloud deployments.