Advanced Serverless Architectures with Microsoft Azure

Book description

Build complex, observable, and fault-tolerant serverless systems easily on Microsoft Azure.

Key Features

  • Use serverless systems to help you fulfill complex requirements
  • Develop your knowledge of Azure Microsoft Serverless
  • Understand concepts with a hands-on approach and helpful examples

Book Description

Advanced Serverless Architectures with Microsoft Azure redefines your experience of designing serverless systems. It shows you how to tackle challenges of varying levels, not just the straightforward ones. You'll be learning how to deliver features quickly by building systems, which retain the scalability and benefits of serverless.

You'll begin your journey by learning how to build a simple, completely serverless application. Then, you'll build a highly scalable solution using a queue, load messages onto the queue, and read them asynchronously. To boost your knowledge further, the book also features durable functions and ways to use them to solve errors in a complex system. You'll then learn about security by building a security solution from serverless components. Next, you'll gain an understanding of observability and ways to leverage application insights to bring you performance benefits. As you approach the concluding chapters, you'll explore chaos engineering and the benefits of resilience, by actively switching off a few of the functions within a complex system, submitting a request, and observing the resulting behavior.

By the end of this book, you will have developed the skills you need to build and maintain increasingly complex systems that match evolving platform requirements.

What you will learn

  • Understand what true serverless architecture is
  • Study how to extend and scale architectures until they become 'complex'
  • Implement durable functions in your design
  • Improve the observability of your serverless architecture
  • Implement security solutions using serverless services
  • Learn how to 'practise' chaos engineering in production

Who this book is for

Advanced Serverless Architectures with Microsoft Azure is is ideal if you want to build serverless systems with fewer outages and high performance using Azure. Familiarity with the C# syntax and Azure Functions and ARM templates will help you to benefit more from this book. Prior knowledge of basic front-end development, HTML JS, and CSS is beneficial but not essential. Some DevOps knowledge is also beneficial but not essential.

Table of contents

  1. Preface
    1. About the Book
      1. About the Author
      2. Objectives
      3. Audience
      4. Approach
      5. Hardware Requirements
      6. Software Requirements
      7. Conventions
      8. Installation and Setup
      9. Installing the Code Bundle
      10. Additional Resources
  2. Chapter 1
  3. Complete Serverless Architectures
    1. Introduction
    2. Function-as-a-Service with a Simple HTTP Trigger
      1. Exercise 1: Creating an Azure Function
    3. Serverless Database with Cosmos DB
      1. Exercise 2: Creating a Cosmos DB Instance
    4. Serverless Websites with Azure Storage
      1. Exercise 3: Hosting a Serverless Website on Azure Storage
      2. Exercise 4: Displaying Product Data on Your Serverless Website
      3. Activity 1: Creating a Serverless Application for Viewing User Data
    5. Summary
  4. Chapter 2
  5. Microservices and Serverless Scaling Patterns
    1. Introduction
    2. Microservices
    3. Serverless Queues
      1. Exercise 5: Creating an Azure Storage Queue and Submitting Messages from an Azure Function
      2. Exercise 6: Triggering an Azure Function on a Message Arriving on an Azure Storage Queue and Inserting it into Cosmos DB
    4. Caching
      1. Exercise 7: Implementing Basic Caching for Your Serverless Backend to Reduce Requests
    5. Asynchronous by Default
      1. Exercise 8: Creating an Asynchronous Ordering System
      2. Activity 2: Implementing Asynchronous Microblog Submission and Caching
    6. Summary
  6. Chapter 3
  7. Azure Durable Functions
    1. Introduction
    2. Understanding Azure Durable Functions
      1. Working of a Durable Function
      2. Workflows with Durable Functions
      3. Exercise 9: Processing an Order with Azure Durable Functions
    3. Interacting with Humans in Azure Durable Functions
      1. Exercise 10: Interacting with Humans Using Durable Functions
    4. Error Handling with Durable Functions
      1. Exercise 11: Error Notifications with Durable Functions
      2. Activity 3: Using a Durable Function to Manage an Email Verification Workflow
    5. Summary
  8. Chapter 4
  9. Security
    1. Introduction
    2. Serverless Security
    3. Protecting Azure Functions with API Management
      1. API Gateway
      2. Exercise 12: Protecting a Function with Azure API Management
    4. Protecting Client Information with Azure Active Directory B2C
      1. Exercise 13: Implementing User Sign-up and Sign-in Using Azure Active Directory B2C
      2. Activity 4: Protecting an Ordering System
    5. Summary
  10. Chapter 5
  11. Observability
    1. Introduction
    2. Understanding Observability
      1. Logs
      2. Metrics
      3. Traces
    3. Structured Logging with Azure Application Insights
      1. Exercise 14: Adding Azure Application Insights to an Azure Function
    4. Client-Side Metrics with Azure Application Insights
      1. Exercise 15: Adding Application Insights to a Client-Side JavaScript Application
      2. Activity 5: Identifying an Issue with Your Serverless Architecture
      3. Activity 6: Diagnosing an Issue with an Azure Durable Function
    5. Summary
  12. Chapter 6
  13. Chaos Engineering
    1. Introduction
    2. Chaos Engineering
      1. Chaos Experiments
      2. Exercise 16: Conducting a Chaos Experiment
    3. Automation of Deployments with Azure DevOps
      1. Exercise 17: Building an Azure Function with Azure DevOps
      2. Deploying an Azure Function Using an ARM Template
      3. Exercise 18: Deploying an Azure Function Using an ARM Template in Azure DevOps
    4. Continuous Automated Chaos
      1. Exercise 19: Continuous Chaos Pipeline in Azure DevOps
      2. Activity 7: Chaos Experiment to Check the Resilience to Loss of a Function App
    5. Summary
  14. Appendix
    1. Chapter 1: Complete Serverless Architectures
      1. Activity 1: Creating a Serverless Application for Viewing User Data
    2. Chapter 2: Microservices and Serverless Scaling Patterns
      1. Activity 2: Implementing Asynchronous Microblog Submission and Caching
    3. Chapter 3: Azure Durable Functions
      1. Activity 3: Using a Durable Function to Manage an Email Verification Workflow
    4. Chapter 4: Security
      1. Activity 4: Protecting an Ordering System
    5. Chapter 5: Observability
      1. Activity 5: Identifying an Issue with Your Serverless Architecture
      2. Activity 6: Diagnosing an Issue with an Azure Durable Function
    6. Chapter 6: Chaos Engineering
      1. Activity 7: Chaos Experiment to Check the Resilience to Loss of a Function App

Product information

  • Title: Advanced Serverless Architectures with Microsoft Azure
  • Author(s): Daniel Bass
  • Release date: February 2019
  • Publisher(s): Packt Publishing
  • ISBN: 9781788479127