Azure for Architects

Book description

Your one stop guide to making the most out of Azure Cloud

About This Book

  • 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

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

What You Will Learn

  • Familiarize yourself with the components of the Azure Cloud platform
  • Understand the cloud design patterns
  • Use enterprise security guidelines for your Azure deployment
  • Design and implement Serverless solutions
  • See Cloud architecture and the deployment pipeline
  • Understand cost management for Azure solutions

In Detail

Over the years, Azure cloud services has 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.

This book will guide you through all the important and tough decision-making aspects involved in architecturing a Azure public cloud for your organization. The book starts with an extensive introduction to all the categories of designs available with Azure. These design patterns focus on different aspects of cloud such as high availability, data management, and so on.

Gradually, we move on to various aspects such as building your cloud structure and architecture. It will also include a brief description about different types of services provided by Azure, such as Azure functions and Azure Analytics, which can prove beneficial for an organization. This book will cover each and every aspect and function required to develop a Azure cloud based on your organizational requirements.

By the end of this book, you will be in a position to develop a full-fledged Azure cloud.

Table of contents

  1. Preface
    1. What this book covers
    2. What you need for this book
    3. Who this book is for
    4. Conventions
    5. Reader feedback
    6. Customer support
      1. Downloading the color images of this book
      2. Errata
      3. Piracy
      4. Questions
  2. Getting Started
    1. Infrastructure as a Service
    2. Platform as a Service
    3. Software as a Service
    4. What is Azure?
    5. Azure as an intelligent cloud
    6. Azure Resource Manager
      1. Azure Resource Manager architecture
      2. ARM and ASM
      3. ARM advantages
      4. ARM concepts
        1. Resource providers
        2. Resource types
        3. Resource groups
        4. Resource and resource instances
        5. Azure Resource Manager features
    7. Virtualization
    8. Containers
    9. Docker
    10. Interacting with intelligent cloud
      1. Azure portal
      2. PowerShell
      3. Azure Command-Line Interface (CLI)
      4. Azure REST API
      5. Azure Resource Manager templates
        1. Deployments
    11. Summary
  3. Azure Design Patterns
    1. Azure zones and regions
      1. Availability of resources
      2. Data and privacy compliance
      3. Performance of applications
      4. Cost of running applications
    2. Virtual network
      1. Architectural considerations for virtual networks
      2. Benefits of virtual networks
      3. Virtual network design
        1. Connecting to resources within the same region and subscription
        2. Connecting to resources within the same region in another subscription
        3. Connecting to resources in different regions in another subscription
        4. Connecting to on-premise data centers
    3. Storage
      1. Storage categories
      2. Storage types
      3. Storage features
      4. Architectural considerations for storage accounts
    4. Design patterns
      1. Messaging patterns
        1. Competing consumers
        2. Priority queue
        3. Queue-based load leveling pattern
      2. Performance and scalability patterns
      3. The Command and Query Responsibility Segregation (CQRS) pattern
        1. Throttling pattern
      4. Other patterns
        1. Retry pattern
        2. Circuit breaker pattern
    5. Summary
  4. Designing High Availability
    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
        5. Load balancing
        6. Virtual machine High Availability
        7. Computing High Availability
        8. Storage High Availability
      2. PaaS High Availability
      3. Application High Availability
    3. Load balancing
      1. Azure load balancers
        1. Public load balancing
        2. Internal load balancing
        3. Port forwarding
      2. Azure application gateways
    4. Azure Traffic Manager
    5. Architectural considerations for High Availability
      1. High Availability within Azure regions
      2. High Availability across Azure regions
    6. Best practices
      1. Application High Availability
      2. Deployment
      3. Data management
      4. Monitoring
    7. Summary
  5. Implementing Scalability
    1. Scalability
    2. Scalability versus performance
    3. Azure scalability
      1. Concepts
        1. Scaling
        2. Scaling up
        3. Scaling down
        4. Scaling out
        5. Scaling in
        6. Auto scaling
      2. PaaS scalability
        1. PaaS scaling up and down
        2. PaaS scaling out and in
      3. IaaS scalability
    4. Virtual machine scale sets
      1. VMSS architecture
      2. VMSS scaling
        1. Horizontal versus vertical scaling
        2. Capacity
      3. Auto scaling
      4. Upgrades
        1. Application updates
        2. Guest updates
        3. Image updates
    5. Scaling best practices
      1. Prefer scaling out
      2. Bare metal versus dormant instances
      3. Configuring maximum and minimum number of instances appropriately
      4. Concurrency
      5. Stateless
      6. Caching and CDN
      7. N+1 design
    6. Summary
  6. Cloud Security
    1. Security
      1. Security life cycle
    2. Azure security
      1. IaaS security
        1. Network Security Groups
          1. Network Security Group design
        2. Firewalls
          1. Firewall design
        3. Reducing attack surface area
        4. Implementing jump servers
      2. PaaS security
        1. Operations Management Suite (OMS)
        2. Storage
        3. Azure SQL
      3. Azure key vaults
      4. Security monitoring and audit
        1. Azure monitor
        2. Azure security center
    3. Summary
  7. 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
  8. Designing and Implementing Data Solutions
    1. Azure SQL
      1. Azure SQL availability
      2. Azure SQL security
      3. Elastic pools
    2. Azure SQL scaling out
    3. Stream analytics
      1. Data sources
      2. Data integration
      3. Data transformation
      4. Stream analytics engine
      5. Storage and presentation
      6. Architecture
    4. Azure data factory
      1. Data sources
      2. Data transformation
      3. Publish and presentation
      4. Using data factory
    5. Azure Data Lake
    6. Azure Data Lake store
      1. Data Lake security
      2. Data Lake performance
    7. Azure Data Lake analytics
    8. Azure SQL data warehouse
    9. Table storage
    10. Summary
  9. Designing and Implementing Serverless Solutions
    1. A short history of serverless
    2. Serverless
    3. Principles of serverless technology
      1. Lower cost
      2. Event-driven
      3. Single responsibility
      4. Execute quickly
    4. Azure functions or functions as a service - FaaS
      1. Azure functions runtime, bindings, and triggers
        1. Azure function runtime
        2. Azure function binding and triggers
      2. Azure function proxies
      3. Monitoring
      4. Authentication and authorization
      5. Azure function configuration
        1. Platform configuration
        2. App services function settings
      6. Azure function cost plans
    5. Azure functions advantages
    6. Azure functions use cases
      1. Implementing microservices
      2. Integration between multiple endpoints
      3. Data processing
      4. Integrating legacy applications
      5. Scheduled jobs
      6. Communication gateways
    7. Types of Azure functions
    8. Creating your first Azure function
    9. Creating an event-driven function
    10. Creating a connected architecture with functions
    11. Summary
  10. Designing Policies, Locks, and Tags
    1. Azure tags
      1. Tags with PowerShell
      2. Tags with the ARM template
      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 is it different from RBAC?
    5. Examples of implementing Azure governance features
      1. Background
      2. Role-based access control
    6. Summary
  11. DevOps on Azure
    1. What is DevOps?
    2. DevOps practices
      1. Configuration management
        1. Desired State Configuration
        2. Chef, Puppet, and Ansible
        3. Azure Resource Manager 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. Visual Studio Team Services
      1. Team Foundation Version Control
      2. GIT
    4. Preparing for DevOps
      1. Provision VSTS account
      2. Provision Azure key vault
      3. Provisioning a configuration management server
      4. Provisioning log analytics
      5. Azure storage account
      6. Images
      7. Monitoring tools
      8. Management tools
    5. DevOps for PaaS solutions
      1. Azure app services
      2. Deployment slots
      3. Azure SQL
      4. Build and release pipeline
    6. DevOps for virtual machine (IaaS) based solutions
      1. Azure virtual machine
      2. Azure public load balancer
      3. Build pipeline
      4. Release pipeline
    7. DevOps for container based (IaaS) solutions
      1. Containers
        1. Docker
        2. DockerFile
      2. Build pipeline
      3. Release pipeline
    8. Azure automation
      1. Provision Azure automation account
      2. Author DSC configuration
      3. Importing DSC configuration
      4. Compiling DSC configuration
      5. Assigning configuration to nodes
      6. Browse the server
    9. Azure for DevOps
    10. Summary
  12. Cost Management
    1. Understanding billing
    2. Invoicing
    3. Enterprise agreement customers
    4. Usage and quotas
    5. Resource providers
    6. Usage and billing API
    7. Azure pricing models
      1. Azure hybrid benefits
      2. Azure reserved VM instances
      3. Pay-as-you-go accounts
      4. Enterprise agreements
      5. Cloud Solution Provider
    8. Azure pricing calculator
    9. Best practices
      1. Compute best practices
      2. Storage best practices
      3. PaaS best practices
      4. General best practices
    10. Summary
  13. Monitoring and Auditing
    1. Monitoring
    2. Azure monitoring
      1. Azure activity logs
      2. Azure diagnostic logs
      3. Azure application logs
      4. Guest and host OS logs
      5. Azure monitor
      6. Azure application insights
      7. Azure log analytics
    3. Application insights
      1. Provisioning
    4. Log analytics
      1. Provisioning
      2. OMS agents
      3. Search
      4. Solutions
      5. Alerts
    5. Executing runbooks on Alerts
    6. Integrating Power BI
    7. Summary

Product information

  • Title: Azure for Architects
  • Author(s): Ritesh Modi
  • Release date: December 2017
  • Publisher(s): Packt Publishing
  • ISBN: 9781788397391