0%

Book Description

Create advanced data and integrated solutions using Azure Event Grid, functions, and containers

Key Features

  • Get familiar with the different design patterns available in Microsoft Azure
  • Develop Azure cloud architecture and a pipeline management system
  • Get to know the security best practices for your Azure deployment

Book Description

Over the years, Azure cloud services have grown quickly, and the number of organizations adopting Azure for their cloud services is also gradually increasing. Leading industry giants are finding that Azure fulfills their extensive cloud requirements.

Azure for Architects ? Second Edition starts with an extensive introduction to major designing and architectural aspects available with Azure. These design patterns focus on different aspects of the cloud, such as high availability, security, and scalability. Gradually, we move on to other aspects, such as ARM template modular design and deployments.

This is the age of microservices and serverless is the preferred implementation mechanism for them. This book covers the entire serverless stack available in Azure including Azure Event Grid, Azure Functions, and Azure Logic Apps. New and advance features like durable functions are discussed at length. A complete integration solution using these serverless technologies is also part of the book. A complete chapter discusses all possible options related to containers in Azure including Azure Kubernetes services, Azure Container Instances and Registry, and Web App for Containers.

Data management and integration is an integral part of this book that discusses options for implementing OLTP solutions using Azure SQL, Big Data solutions using Azure Data factory and Data Lake Storage, eventing solutions using stream analytics, and Event Hubs. This book will provide insights into Azure governance features such as tagging, RBAC, cost management, and policies.

By the end of this book, you will be able to develop a full-?edged Azure cloud solution that is Enterprise class and future-ready.

What you will learn

  • Create an end-to-end integration solution using Azure Serverless Stack
  • Learn Big Data solutions and OLTP?based applications on Azure
  • Understand DevOps implementations using Azure DevOps
  • Architect solutions comprised of multiple resources in Azure
  • Develop modular ARM templates
  • Develop Governance on Azure using locks, RBAC, policies, tags and cost
  • Learn ways to build data solutions on Azure
  • Understand the various options related to containers including Azure Kubernetes Services

Who this book is for

If you are Cloud Architects, DevOps Engineers, or developers who want to learn key architectural aspects of the Azure Cloud platform, then this book is for you.

Prior basic knowledge of the Azure Cloud platform is good to have.

Table of Contents

  1. Title Page
  2. Copyright and Credits
    1. Azure for Architects Second Edition
  3. About Packt
    1. Why subscribe?
    2. Packt.com
  4. Contributors
    1. About the author
    2. About the reviewers
    3. Packt is searching for authors like you
  5. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
      1. Download the example code files
      2. Conventions used
    4. Get in touch
      1. Reviews
  6. Getting Started
    1. Cloud computing
      1. Advantages of cloud computing
      2. Deployment Patterns in Azure
      3. Infrastructure as a Service
      4. Platform as a Service
      5. Software as a Service
    2. Understanding Azure
    3. Azure as an intelligent cloud
    4. Azure Resource Manager
      1. The ARM architecture
      2. Limitations of Azure Service Manager (ASM)
      3. ARM advantages
      4. ARM concepts
        1. Resource providers
        2. Resource types
        3. Resource groups
        4. Resource and resource instances
        5. ARM features
    5. Virtualization
    6. Containers
    7. Docker
    8. Interacting with the intelligent cloud
      1. Azure Portal
      2. PowerShell
      3. Azure Command-Line Interface (CLI)
      4. Azure REST API
      5. ARM templates
        1. Deployments
    9. Summary
  7. Azure Solution Availability and Scalability
    1. High availability
      1. SLA
      2. Factors affecting high availability
        1. Planned maintenance
        2. Unplanned maintenance
        3. Application deployment architecture
      3. High availability versus scalability
      4. High availability versus disaster recovery
    2. Azure high availability
      1. Concepts
        1. Availability sets
        2. Fault domain
        3. Update domain
        4. Availability zones
      2. Load balancing
      3. VM high availability
      4. Compute high availability
      5. Storage high availability
      6. PaaS high availability
      7. High-availability platforms
      8. Data high availability
        1. Azure CosmosDB
        2. Azure SQL replication
        3. Azure table storage
        4. Application high availability
      9. Load balancing
        1. Azure load balancers
        2. Public load balancing
        3. Internal load balancing
      10. Port forwarding
      11. Azure application gateway
      12. Azure Traffic Manager
    3. Architectural considerations for high availability
      1. High availability within Azure regions
      2. High availability across Azure regions
      3. Best practices
        1. Application high availability
        2. Deployment
        3. Data management
        4. Monitoring
    4. Scalability
      1. Scalability versus performance
      2. Azure scalability
        1. Concepts
          1. Scaling
          2. Scaling up
          3. Scaling down
          4. Scaling out
          5. Scaling in
          6. Auto scaling
      3. PaaS scalability
        1. PaaS – Scaling up and down
        2. PaaS – Scaling out and in
      4. IaaS scalability
      5. VM scale sets
        1. VMSS architecture
        2. VMSS scaling
          1. Horizontal versus vertical scaling
          2. Capacity
          3. Auto scaling
    5. Upgrades and maintenance
      1. Application updates
      2. Guest updates
      3. Image updates
      4. Best practices of scaling provided by VMSS
        1. The preference for scaling out
        2. Bare-metal versus dormant instances
        3. Configuring the maximum and minimum number of instances appropriately
        4. Concurrency
        5. Stateless
        6. Caching and CDN
        7. N+1 design
    6. Summary
  8. Security and Monitoring
    1. Security
      1. Security life cycle
      2. Azure security
      3. IaaS security
        1. Network Security Groups
        2. NSG design
        3. Firewalls
          1. Firewall design
        4. Reducing the attack surface area
        5. Implementing jump servers
      4. PaaS security
        1. Operations Management Suite (OMS)
        2. Storage
      5. Azure SQL
      6. Azure Key Vaults
      7. Security monitoring and auditing
        1. Azure Monitor
        2. Azure Security Center
    2. Monitoring
    3. Azure monitoring
      1. Azure activity logs
      2. Azure diagnostic logs
      3. Azure application logs
      4. Guest and host operating system logs
      5. Azure Monitor
      6. Azure Application Insights
      7. Azure Log Analytics
    4. Application Insights
      1. Provisioning
    5. Log Analytics
      1. Provisioning
      2. OMS agents
      3. Search
      4. Solutions
      5. Alerts
    6. Executing runbooks on Alerts
    7. Integrating PowerBI
    8. Summary
  9. Cross-Subscription Deployments Using ARM Templates
    1. ARM templates
    2. Deploying resource groups with ARM templates
    3. Deploying resources across subscriptions and resource groups
      1. Another example of cross-subscription and resource-group deployments
    4. Deploying cross-subscription and resource-group deployments using linked templates
    5. Summary
  10. ARM Templates - Modular Design and Implementation
    1. Problems with the single template
      1. Reduces flexibility in changing templates
      2. Troubleshooting large templates
      3. Dependency abuse
      4. Reduced agility
      5. No reusability
    2. Understanding the Single Responsibility Principle
      1. Faster troubleshooting and debugging
      2. Modular templates
      3. Deployments resources
    3. Linked templates
    4. Nested templates
    5. Free-flow configurations
    6. Known configurations
    7. Summary
  11. Designing and Implementing Serverless Solutions
    1. Serverless
      1. The evolution of serverless
      2. Principles of serverless technology
    2. Azure Functions advantages
    3. FaaS
      1. Azure Functions runtime
      2. Azure Functions bindings and triggers
      3. Monitoring
      4. Authentication and authorization
      5. Azure Functions configuration
        1. Platform configuration
        2. App Service Function settings
      6. Azure Functions cost plans
      7. Azure Functions use cases
      8. Types of Azure Functions
    4. Creating your first Azure Functions
    5. Creating an event-driven Function
    6. Function proxies
    7. Understanding workflows
    8. Durable Functions
      1. Steps for creating a Durable Functions
    9. Creating a connected architecture with Functions
    10. Summary
  12. Azure Integration Solutions
    1. Azure Event Grid
      1. Event Grid architecture
      2. Resource events
      3. Custom events
    2. Azure Logic Apps
      1. Activity
      2. Connectors
      3. Working on a logic app
    3. Creating an end-to-end solution using Serverless technologies
      1. Problem statement
      2. Vision
      3. Solution
      4. Architecture
        1. Azure Automation
        2. Custom Azure Event Grid topic
        3. Azure Logic Apps
        4. Azure Functions
      5. Prerequisites
      6. Implementation
        1. Step 1
        2. Step 2
        3. Step 3
        4. Step 4
        5. Step 5
        6. Step 6
        7. Step 7
        8. Step 8
        9. Step 9
        10. Step 10
        11. Step 11
      7. Testing
    4. Summary
  13. Cost Management
    1. Understanding billing
    2. Invoicing
    3. Enterprise agreement customers
    4. Usage and quotas
    5. Resource providers
    6. The usage and billing APIs
    7. Azure pricing models
      1. Azure Hybrid Benefit
      2. Azure reserved virtual machine instances
      3. Pay-as-you-go accounts
      4. Enterprise Agreements
      5. The cloud solution provider model
    8. The Azure pricing calculator
    9. Best practices
      1. Compute best practices
      2. Storage best practices
      3. Platform-as-a-Service (PaaS) best practices
      4. General best practices
    10. Summary
  14. Designing Policies, Locks, and Tags
    1. Azure tags
      1. Tags with PowerShell
      2. Tags with Azure Resource Manager templates
      3. Resource groups versus resources
    2. Azure policies
      1. Built-in policies
      2. Policy language
      3. Allowed fields
    3. Azure locks
    4. Azure RBAC
      1. Custom Roles
      2. How are locks different from RBAC?
    5. An example of implementing Azure governance features
      1. Background
      2. RBAC for Company Inc
      3. Azure policies 
        1. Deployments to certain location
        2. Tags of resources and Resource Groups
        3. Diagnostic logs and Application Insights for all resources
      4. Azure Locks
    6. Summary
  15. Azure Solutions Using Azure Container Services
    1. Azure Container Registry
    2. Azure Container Instances
    3. Azure Kubernetes Service
      1. Kubernetes architecture
        1. Master nodes
        2. Pods
        3. API server
        4. Kubelets
        5. Kube-Proxy
        6. Replication controller/controller manager
      2. Azure Kubernetes architecture
      3. Provisioning Azure Kubernetes Service
    4. App Service containers
    5. Comparing all container options
      1. Containers on virtual machines
      2. Containers on virtual machines with Kubernetes as the orchestrator
      3. Azure Kubernetes Service
      4. Containers on Azure App Service
      5. Containers in Azure Container Instances
      6. Containers in Azure Functions
      7. Containers in Service Fabric
    6. Summary
  16. Azure DevOps
    1. DevOps
    2. DevOps practices
      1. Configuration management
        1. Desired State Configuration
        2. Chef, Puppet, and Ansible
        3. ARM Templates
      2. Continuous integration
        1. Build automation
        2. Test automation
        3. Packaging
      3. Continuous deployment
        1. Test environment deployment
        2. Test automation
        3. Staging environment deployment
        4. Acceptance tests
        5. Deployment to production
      4. Continuous delivery
      5. Continuous learning
    3. Azure DevOps
      1. Team Foundation Version Control
      2. Git
    4. Preparing for DevOps
      1. Provisioning Azure DevOps organization
      2. Provisioning the Azure Key Vault
      3. Provisioning a configuration-management server/service
      4. Provisioning log analytics
      5. Azure Storage account
      6. Source images
      7. Monitoring tools
      8. Management tools
    5. DevOps for PaaS solutions
      1. Azure App Services
      2. Deployment slots
      3. Azure SQL
      4. The build-and-release pipeline
    6. DevOps for virtual machine (IaaS)-based solutions
      1. Azure Virtual Machines (VM)
      2. Azure public load balancers
      3. The build pipeline
      4. The release pipeline
    7. DevOps for container-based (IaaS) solutions
      1. Containers
        1. Docker
        2. Dockerfile
      2. The build pipeline
      3. The release pipeline
    8. Azure DevOps and Jenkins
    9. Azure Automation
      1. Provisioning the Azure Automation account
      2. Creating DSC configuration
      3. Importing the DSC configuration
      4. Compiling the DSC configuration
      5. Assigning configurations to nodes
      6. Browsing the server
    10. Azure for DevOps
    11. Summary
  17. Azure OLTP Solutions Using Azure SQL Sharding, Pools, and Hybrid
    1. Azure cloud services
    2. OLTP applications
    3. Relational databases
    4. Deployment models
      1. Databases on Azure virtual machines
      2. Databases hosted as managed services
    5. Azure SQL Database
      1. Application features
    6. Single instance
      1. High availability
      2. Backups
      3. Geo-replication
      4. Scalability
      5. Security
        1. Firewall
        2. Azure SQL Server on dedicated networks
        3. Encrypted databases at rest
        4. Dynamic Data Masking
        5. Azure Active Directory integration
    7. Elastic pools
    8. Managed Instance
    9. SQL database pricing
      1. DTU-based pricing
      2. vCPU based pricing
      3. How to choose the appropriate pricing model
    10. Summary
  18. Azure Big Data Solutions Using Azure Data Lake Storage and Data Factory
    1. Data integration
    2. ETL
    3. A primer on Data Factory
    4. A primer on Data Lake Storage
      1. Understanding big data processing
        1. Ingestion
        2. Processing
        3. Storage for consumption
        4. Presentation of data
    5. Migrating data from Azure Storage to Data Lake Gen2 Storage
      1. Preparing the source storage account
      2. Provisioning a new resource group
      3. Provisioning a storage account
      4. Creating a new Data Lake Gen2 service
      5. Creating a new Data Factory pipeline
      6. Repository settings
      7. Creating the first dataset
      8. Creating the second dataset
      9. Creating a third dataset
      10. Creating a pipeline
      11. Add one more copy data activity
      12. Publishing
      13. Final result
    6. Summary
  19. Azure Stream Analytics and Event Hubs
    1. A primer on Event Hubs
      1. Events
      2. Event streaming
      3. Event Hubs
    2. Architecture of Event Hubs
      1. Consumer groups
      2. Throughput
    3. A primer on Stream Analytics
      1. Hosting environment
      2. Streaming units
    4. A sample application using Event Hubs and Stream Analytics
      1. Provisioning a new resource group
      2. Creating an Event Hubs namespace
      3. Creating an event hub
      4. Provisioning logic apps
      5. Provisioning the Storage account
      6. Creating a storage container
      7. Creating Stream Analytics jobs
      8. Running the application
    5. Summary
  20. Designing IoT Solutions
    1. IoT
    2. IoT architecture
      1. Connectivity
      2. Identity
      3. Capture
      4. Ingestion
      5. Storage
      6. Transform
      7. Analytics
      8. Presentation
    3. Azure IoT
      1. Identity
      2. Capture
      3. Ingestion
      4. Storage
      5. Transform and analytics
      6. Presentation
    4. IoT Hubs
      1. Protocols
      2. Device registration
      3. Message management
        1. Device-to-cloud messaging
        2. Cloud-to-device messaging
      4. Security
        1. Security in IoT
      5. Scalability
        1. SKU edition
        2. Units
    5. High availability
    6. Summary
  21. Other Books You May Enjoy
    1. Leave a review - let other readers know what you think
18.226.28.197