Implementing Azure: Putting Modern DevOps to Use

Book Description

Explore powerful Azure DevOps solutions to develop and deploy your software faster and more efficiently.

Key Features

  • Build modern microservice-based systems with Azure architecture
  • Learn to deploy and manage cloud services and virtual machines
  • Configure clusters with Azure Service Fabric for deployment

Book Description

This Learning Path helps you understand microservices architecture and leverage various services of Microsoft Azure Service Fabric to build, deploy, and maintain highly scalable enterprise-grade applications. You will learn to select an appropriate Azure backend structure for your solutions and work with its toolkit and managed apps to share your solutions with its service catalog. As you progress through the Learning Path, you will study Azure Cloud Services, Azure-managed Kubernetes, and Azure Container Services deployment techniques. To apply all that you've understood, you will build an end-to-end Azure system in scalable, decoupled tiers for an industrial bakery with three business domains. Toward the end of this Learning Path, you will build another scalable architecture using Azure Service Bus topics to send orders between decoupled business domains with scalable worker roles processing these orders.

By the end of this Learning Path, you will be comfortable in using development, deployment, and maintenance processes to build robust cloud solutions on Azure.

This Learning Path includes content from the following Packt products:

  • Learn Microsoft Azure by Mohamed Wali
  • Implementing Azure Solutions - Second Edition by Florian Klaffenbach, Oliver Michalski, Markus Klein
  • Microservices with Azure by Namit Tanasseri and Rahul Rai

What you will learn

  • Study various Azure Service Fabric application programming models
  • Create and manage a Kubernetes cluster in Azure Kubernetes Service
  • Use site-to-site VPN and ExpressRoute connections in your environment
  • Design an Azure IoT app and learn to operate it in various scenarios
  • Implement a hybrid Azure design using Azure Stack
  • Build Azure SQL databases with Code First Migrations
  • Integrate client applications with Web API and SignalR on Azure
  • Implement the Azure Active Directory (Azure AD) across the entire system

Who this book is for

If you are an IT system architect, network admin, or a DevOps engineer who wants to implement Azure solutions for your organization, this Learning Path is for you. Basic knowledge of the Azure Cloud platform will be beneficial.

Publisher Resources

Download Example Code

Table of Contents

  1. Title Page
  2. Copyright and Credits
    1. Implementing Azure: Putting Modern DevOps to Use
  3. About Packt
    1. Why subscribe?
    2. Packt.com
  4. Contributors
    1. About the authors
    2. 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 with Azure Implementation
    1. Technical requirements
    2. Service models
    3. Deployment models
    4. Cloud characteristics
    5. Multi-cloud characteristics and models
      1. Cloud brokering
      2. Best of breed
    6. Microsoft Azure
      1. Azure services overview
    7. Azure basics
      1. Azure Resource Manager (ARM)
      2. Resources
      3. Azure regions
      4. Microsoft data center and backbone
      5. Azure portal
      6. Azure automation
      7. Azure automation tools
      8. REST APIs
    8. Summary
  7. Azure Resource Manager and Tools
    1. Technical requirements
    2. Understanding ARM
    3. Functionalities provided by ARM
    4. Working with ARM
      1. Creating an Azure resource group
      2. Adding a resource to a resource group
      3. First approach – adding a storage account to your resource group
      4. Second approach – adding a storage account to your resource group
    5. Tagging in ARM
    6. Locking Azure resources
      1. Azure resource locks
      2. Working with ARM templates
      3. Exporting a deployment as an ARM template (for IT pros)
        1. Example 1 – exporting a resource group to an ARM template
        2. Example 2 – exporting a resource (classic) to an ARM template
      4. Modifying an ARM template
      5. Authoring an ARM template
      6. Creating your own ARM template (for developers)
    7. Summary
  8. Deploying and Synchronizing Azure Active Directory
    1. Azure AD
      1. Azure AD options
        1. Azure AD free
        2. Azure AD basic
        3. Azure AD premium P1
    2. Deploying a custom Azure AD
    3. Adding accounts and groups to Azure AD
      1. Installing Azure AD Connect – prerequisites
        1. Installing a basic Azure AD Connect environment
      2. Azure AD Connect highly available infrastructure
    4. Azure AD conditional access
    5. Azure AD DS
    6. Summary
  9. Implementing Azure Networks
    1. Azure networking limits
    2. Azure networking components
      1. Azure virtual networks (VNet)
      2. VNet peering and global VNet peering
      3. VNet service endpoints
      4. Azure VPN gateways
      5. Azure local gateway
      6. Azure virtual WAN
      7. Azure ExpressRoute
        1. Route filter
        2. ExpressRoute Direct 
        3. ExpressRoute Global Reach
      8. Azure connections
      9. Azure route
      10. Azure Firewall
      11. Azure third-party network devices
      12. Azure load balancer
        1. Hash-based distribution
        2. Port forwarding
        3. Automatic reconfiguration
        4. Service monitoring
        5. Source NAT
      13. Azure Application Gateways and Web Application Firewall
        1. Web Application Firewall 
      14. Azure Traffic Manager
      15. Azure DNS
      16. Azure DDoS
    3. Setting up Azure networks
      1. Setting up Azure VNet
      2. Setting up Azure virtual network site-to-site VPN
        1. Configuring local network gateway
        2. Configuring Azure virtual network gateway
        3. Configuring connection between local and virtual network gateways
      3. Setting up Azure virtual network with MPLS and ExpressRoute
        1. Configuring Azure virtual network gateway
        2. Configuring Azure ExpressRoute circuit
      4. Setting up Azure VNet peering
        1. Preparing the deployment
        2. Configuring VNet peering
      5. Configuring custom routes
    4. Common Azure network architectures
    5. Summary
  10. Implementing Azure Storage
    1. Storage accounts
      1. The Blob storage account
      2. General-purpose storage v1 account
      3. General-purpose storage v2 accounts
      4. Azure File Sync/Storage Sync services
      5. Azure Data Lake
    2. Replication and redundancy
      1. Locally redundant storage (LRS)
      2. Zone-redundant storage (ZRS)
      3. Geo-redundant storage (GRS)
      4. Read-access geo-redundant storage (RA-GRS)
    3. Azure Storage services
      1. Blob storage services
      2. Table storage services
      3. Queue storage services
      4. File storage services
      5. Access keys
      6. Exploring Azure Storage with Azure Storage Explorer
    4. Premium storage accounts
      1. Premium storage requirements
    5. Pricing
    6. How to deploy a storage account?
    7. Summary
  11. Implementing Azure-Managed Kubernetes and Azure Container Service
    1. Technical requirements
    2. Containers – the concept and basics
      1. Microservices – the concept
      2. Workloads to run in containers
      3. Deploying container hosts in Azure
        1. Docker on Linux
        2. Windows Server Container VM
    3. Azure Container Registry (ACR)
    4. ACI
      1. Creating a first container in Azure
      2. Azure Marketplace containers
      3. Creating custom containers
    5. Container orchestration
      1. The concept of container orchestration
      2. Azure Kubernetes Service (AKS)
    6. Summary
  12. Azure Hybrid Data Center Services
    1. Technical requirements
    2. ASDK
      1. Preparing the ASDK host
      2. Identity management configuration
      3.  Networking configuration
      4. VM design of Azure Stack (ASDK)
    3. Azure Stack configuration task
    4. Operating Azure Stack
      1. Working with the portals
      2. Working with PowerShell
      3. Working with the CLI
    5. Hybrid cloud patterns
      1. Configure hybrid cloud connectivity
      2. Machine learning solution with Azure Stack
      3. Azure stack staged data analysis
      4. Azure Stack cloud burst scenario
      5. Azure Stack geo-distributed Application
      6. Monitoring Azure Stack
    6. Summary
  13. Azure Web Apps Basics
    1. Introduction to Azure App Service
      1. Azure Web Apps
    2. App Service plans
    3. Azure App Service Environments
      1. App Service Environment types
      2. Creating an App Service Environment
    4. Creating an App Service plan
    5. Creating an App Service
    6. Summary
  14. Managing Azure Web Apps
    1. Deployment slots
      1. Deployment slots key points
    2. App Service application settings
      1. Application settings key points
    3. Azure App Service scalability
      1. Scaling up
        1. App Service plan scaleup key points
      2. Scaling out
        1. Scaling out the App Service plan manually
        2. Scaling out the App Service plan automatically
          1. Key points for autoscaling your App Service plan
    4. Azure App Service backup
      1. App Service backup key points
    5. Summary
  15. Basics of Azure SQL Database
    1. Introduction to Azure SQL Database
    2. Why Azure SQL Database?
    3. SQL Database (IaaS/PaaS)
      1. Azure SQL Database (PaaS)
        1. Scenarios that would fit Azure SQL Database
      2. SQL on Azure VMs (IaaS)
        1. Scenarios that would suit SQL on Azure VMs
    4. Azure SQL Database types
      1. Elastic database pools
      2. Single databases
      3. SQL database managed instance
    5. Service tier types
      1. DTU service tiers
      2. vCore service tiers
    6. Creating an Azure SQL Database
    7. Connecting to Azure SQL Database
      1. Server-level firewall
      2. Connecting to Azure SQL Database using SQL SSMS
    8. Summary
  16. Managing Azure SQL Database
    1. Azure SQL elastic database pools
      1. Benefits of using elastic database pools
      2. Creating an elastic database pool
      3. Adding a database to an elastic pool
    2. Setting Azure Active Directory authentication
    3. Azure SQL Database business continuity
      1. How business continuity works in Azure SQL Database
        1. Hardware failure
        2. Point-in-time restore
          1. Point-in-time restoration key points
        3. Restoring a deleted database
        4. Active geo-replication
        5. Auto-failover groups
    4. Azure SQL Managed Instances
      1. Azure SQL Managed Instance types
      2. Creating an Azure SQL Managed Instance
      3. Connecting to an Azure SQL Managed Instance
      4. Azure SQL Managed Instance key points
    5. Summary
  17. Microservices 2013; Getting to Know the Buzzword
    1. What are Microservices?
      1. Microservices hosting platform
      2. The Microservice advantage
        1. Fault tolerance
        2. Technology-agnostic
        3. Development agility
        4. Heterogeneous deployment
        5. Manageability
        6. Reusability
    2. The SOA principle
      1. Issues with SOA
    3. The Microservices solution
    4. Inter-Microservice communication
      1. Communication through user interface
        1. Sharing common code
        2. Composite user interface for the web
        3. Thin backend for rich clients
      2. Synchronous communication
      3. Asynchronous communication
      4. Orchestrated communication
      5. Shared data
    5. Architecture of Microservices-based systems
    6. Conway's law
    7. Summary
  18. Understanding Azure Service Fabric
    1. The Service Fabric advantage
      1. Highly scalable
        1. Support for partitioning
      2. Rolling updates
      3. State redundancy
      4. High-density deployment
      5. Automatic fault tolerance
      6. Heterogeneous hosting platforms
      7. Technology agnostic
      8. Centralized management
    2. Service Fabric as an orchestrator
      1. Orchestration as a Service
        1. Is a cluster resource manager similar to an Azure load balancer?
        2. Architecture of cluster resource manager
    3. Architecture of Service Fabric
      1. Transport Subsystem
      2. Federation Subsystem
      3. Reliability Subsystem
      4. Management Subsystem
      5. Hosting subsystem
      6. Communication subsystem
      7. Testability Subsystem
    4. Deconstructing Service Fabric
      1. Infrastructure model
        1. Cluster
        2. Node
      2. System services
        1. Naming service
        2. Image store service
        3. Upgrade service
        4. Failover manager service
        5. Cluster manager service
        6. Service placement
      3. Application model
      4. Programming model
        1. Guest Executables
        2. Reliable Services
        3. Reliable Actors
    5. Creating a cluster on Azure
      1. Basics
      2. Cluster configuration
      3. Security
      4. Summary
      5. Viewing your cluster status
    6. Service Fabric Explorer
      1. Summary view
      2. Cluster Map
        1. Fault domains
        2. Upgrade domains
      3. Viewing applications and services
        1. Cluster nodes
        2. Actions
        3. System
    7. Preparing your system
    8. Summary
  19. Hands-on with Service Fabric – Guest Executables
    1. Service Fabric discovery and communication
      1. Service protocols
      2. Service discovery
      3. Connections from applications external to Service Fabric
      4. Configuring ports and protocols
        1. Configuring the service manifest
      5. Configuring the custom endpoint
      6. Configuring the Azure load balancer
      7. Configuring the health check
    2. Built-in communication API
    3. Deploying a Guest Executable
      1. Understanding the manifests
      2. Package structure
        1. Packaging Guest Executables using Visual Studio
        2. Manually packaging a Guest Executable
          1. Creating the directory structure
          2. Adding code and configuration
          3. Updating service manifest
          4. Updating the application manifest
      3. Deployment
    4. Deploying a Guest Container
      1. Deploying Windows Container
        1. Container image deployment and activation
        2. Resource governance
        3. Container port to host port mapping
        4. Container-to-container discovery and communication
        5. Configuring and setting environment variables
      2. Deploying a Linux container
    5. Summary
  20. Hands on with Service Fabric – Reliable Services
    1. Exploring the Service Fabric Explorer
      1. Application Type
      2. Application instance
      3. Service type
      4. Partition
      5. Replica
    2. Stateless Reliable Services
      1. Stateless service architecture
      2. Stateless service lifecycle
      3. Scaling stateless services
        1. Stateless frontend and stateless middle-tier
        2. Stateless frontend and stateful middle-tier
    3. Reliable Services communication
    4. Exploring the application model
    5. Stateful service
      1. Stateful service architecture
      2. Reliable Collections
        1. Up and down counter application
      3. Stateful service lifecycle
      4. Service partitioning
      5. Service replicas
    6. Summary
  21. Reliable Actors
    1. Actor model
    2. What is an Actor?
    3. Actors in Service Fabric
    4. Actor lifetime
    5. Saving state
    6. Distribution and failover
    7. Actor communication
      1. The Actor proxy
      2. Concurrency
      3. Reentrancy
    8. Asynchronous drivers
      1. Timers
      2. Actor reminders
      3. Actor events
    9. Your first Reliable Actors application
    10. Summary
  22. Microservices Architecture Patterns Motivation
    1. Creating an architecture
      1. Defining the solution boundaries
      2. Creating the solution structure
      3. Component design
    2. Classification of architectural patterns
      1. Optimization or non-functional patterns
      2. Operational patterns
      3. Implementation or functional patterns
    3. Picking up the right architecture pattern
      1. Context
      2. Forces
      3. Complementing patterns
    4. Applying a pattern
      1. Structural variation
      2. Behavioral variation
      3. Internal variation
      4. Domain dependent variation
    5. Summary
  23. Microservices Architectural Patterns
    1. Architectural patterns
    2. Service proxy
      1. Problem
      2. Solution
      3. Considerations
      4. Related patterns
      5. Use cases
    3. Service Façade \ API Gateway
      1. Problem
      2. Solution
      3. Considerations
      4. Related patterns
      5. Use cases
    4. Reliable Data Store
      1. Problem
      2. Solution
      3. Considerations
      4. Related patterns
      5. Use cases
    5. Cluster Orchestrator
      1. Problem
      2. Solution
      3. Considerations
      4. Related patterns
      5. Use cases
    6. Auto-scaling
      1. Problem
      2. Solution
      3. Considerations
      4. Related patterns
      5. Use cases
    7. Partitioning
      1. Problem
      2. Solution
      3. Considerations
      4. Related patterns
      5. Use cases
    8. Centralized Diagnostics Service
      1. Problem
      2. Solution
      3. Considerations
      4. Related patterns
      5. Use cases
    9. High Density Deployment
      1. Problem
      2. Solution
      3. Considerations
      4. Related patterns
      5. Use cases
    10. API Gateway
      1. Problem
      2. Solution
      3. Considerations
      4. Related patterns
      5. Use cases
    11. Latency Optimized Load Balancing
      1. Problem
      2. Solution
      3. Considerations
      4. Related patterns
      5. Use cases
    12. Queue Driven Decomposing Strategy
      1. Problem
      2. Solution
      3. Considerations
      4. Related patterns
      5. Use cases
    13. Circuit Breaker
      1. Problem
      2. Solution
      3. Considerations
      4. Related patterns
      5. Use cases
    14. Message Broker for Communication
      1. Problem
      2. Solution
      3. Considerations
      4. Related patterns
      5. Use cases
    15. Compensating Transaction
      1. Problem
      2. Solution
      3. Considerations
      4. Related patterns
      5. Use cases
    16. Rate Limiter
      1. Problem
      2. Solution
      3. Considerations
      4. Related patterns
      5. Use cases
    17. Sagas
      1. Problem
      2. Solution
      3. Considerations
      4. Related patterns
      5. Use cases
    18. Master Data Management
      1. Problem
      2. Solution
      3. Considerations
      4. Related patterns
      5. Use cases
    19. CQRS – Command Query Responsibility Segregation
      1. Problem
      2. Solution
        1. Microservices in CQRS
        2. Advantages
      3. Considerations
      4. Related patterns
      5. Use cases
    20. Event Sourcing
      1. Problem
      2. Solution
      3. Considerations
      4. Related patterns
      5. Use cases
    21. Remindable Actors
      1. Problem
      2. Solution
      3. Considerations
      4. Related patterns
      5. Use cases
    22. Managed Actors
      1. Problem
      2. Solution
      3. Considerations
      4. Related patterns
      5. Use cases
    23. Summary
  24. Securing and Managing Your Microservices
    1. Securing the communication channels
      1. Inter-node communication
    2. Client to node security
      1. Certificate security
      2. Azure Active Directory security
    3. Publishing an application to a secured cluster
    4. Managing Service Fabric clusters with Windows PowerShell
      1. Prerequisites
      2. Deploying Service Fabric applications
      3. Upgrading Service Fabric applications
      4. Removing Service Fabric applications
    5. Summary
  25. Diagnostics and Monitoring
    1. Health entities
    2. Health state
      1. Health policies
        1. Cluster health policy
        2. Application health policy
        3. Service type health policy
    3. Health evaluation
    4. Health reporting
    5. Centralized logging
    6. Collecting logs
    7. Diagnostic extension
      1. Deploying the Diagnostics extension
    8. Summary
  26. Continuous Integration and Continuous Deployment
    1. Continuous Integration
    2. Continuous Delivery
      1. Deploying Service Fabric application on a standalone cluster
        1. Deploying the application
    3. Summary
  27. Serverless Microservices
    1. Before committing to Nanoservices
    2. Building Nanoservices with Azure Functions
    3. Function app templates
    4. Timer function apps
    5. Data processing function apps
    6. Webhook and API function apps
    7. Summary
  28. Other Books You May Enjoy
    1. Leave a review - let other readers know what you think

Product Information

  • Title: Implementing Azure: Putting Modern DevOps to Use
  • Author(s): Florian Klaffenbach, Oliver Michalski, Markus Klein, Mohamed Wali
  • Release date: January 2019
  • Publisher(s): Packt Publishing
  • ISBN: 9781788833936