Mastering Azure Serverless Computing

Book description

Become an expert in implementing Azure Functions to work seamlessly with your serverless applications

Key Features

  • Develop scalable, robust multi-tier apps without worrying about infrastructure needs
  • Deploy and manage cost-effective and highly available serverless apps using Azure Functions
  • Accelerate enterprise-level application development by seamlessly integrating different cloud services with Azure Functions

Book Description

Application development has evolved from traditional monolithic app development to using serverless options and microservices. This book is designed to guide you through using Microsoft's Azure Functions to process data, integrate systems, and build simple APIs and microservices.

You will discover how to apply serverless computing to speed up deployment and reduce downtime. You'll also explore Azure Functions, including its core functionalities and essential tools, along with understanding how to debug and even customize Azure Functions. In addition to this, the book will take you through how you can effectively implement DevOps and automation in your working environment. Toward the concluding chapters, you'll cover some quick tips, troubleshooting techniques, and real-world serverless use cases that will help you make the most of serverless computing.

By the end of this book, you will have gained the skills you need to develop and deliver cost-effective Azure serverless solutions.

What you will learn

  • Create and deploy advanced Azure Functions
  • Learn to extend the runtime of Azure Functions
  • Orchestrate your logic through code or a visual workflow
  • Add caching, security, routing, and filtering to your APIs
  • Use serverless technologies in real-world scenarios
  • Understand how to apply DevOps and automation to your working environment

Who this book is for

This book is designed for cloud administrators, architects, and developers interested in building scalable systems and deploying serverless applications with Azure Functions. Prior knowledge of core Microsoft Azure services and Azure Functions is necessary to understand the topics covered in this book.

Table of contents

  1. Title Page
  2. Copyright and Credits
    1. Mastering Azure Serverless Computing
  3. Dedication
  4. About Packt
    1. Why subscribe?
  5. Contributors
    1. About the authors
    2. About the reviewer
    3. Packt is searching for authors like you
  6. 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. Download the color images
      3. Conventions used
    4. Get in touch
      1. Reviews
  7. Section 1: Azure Functions 2.0 Fundamentals
  8. Developing and Running Azure Functions
    1. Technical requirements
    2. Introduction to Azure Functions
    3. Azure Functions Core Tools
    4. Developing Azure Functions with Visual Studio
      1. Visual Studio Code
    5. The OpenAPI Specification in Azure Functions
    6. Exposing your Azure Functions on the internet with ngrok
    7. Debugging an Azure Function
      1. Debugging your function locally
      2. Debug your function remotely
    8. Summary
    9. Questions
    10. Further reading
  9. Customizing Your Azure Functions
    1. Technical requirements
    2. Discovering Azure Functions extensions
    3. Creating a custom trigger
    4. Creating a custom binding
    5. Summary
    6. Questions
    7. Further reading
  10. Programming Languages Supported in Azure Functions
    1. Technical requirements
    2. Azure Functions and JavaScript
    3. Azure Functions and Java
    4. Azure Functions and Python
    5. Azure Functions and PowerShell
    6. Language extensibility
    7. Summary
    8. Questions
    9. Further reading
  11. Section 2: Azure Functions 2.0 Deployment and Automation
  12. Deploying and Configuring Your Azure Functions
    1. Technical requirements
    2. Creating the Azure function app
    3. Deploying the Azure function app
    4. Using the deployment slots
    5. Kudu – the Azure Function deployment service
    6. Configuring your Azure Functions
    7. Reading the app settings in your Azure Function
    8. Summary
    9. Questions
    10. Further reading
  13. Leverage the Power of DevOps with Azure Functions
    1. Technical requirements
    2. Understanding Azure DevOps
    3. Azure Pipelines and Azure Functions
    4. Creating your first build pipeline
      1. The Variables tab
      2. The Triggers tab
      3. The Options tab
      4. The History tab
      5. The Tasks tab
      6. Using YAML definition
    5. Creating the release pipeline
    6. CI/CD at a glance
    7. Summary
    8. Questions
    9. Further reading
  14. Testing and Monitoring
    1. Technical requirements
    2. Testing your Azure Functions
    3. Dependency injection in Azure Functions
    4. Monitoring Azure Functions
    5. Summary
    6. Questions
    7. Further reading
  15. Serverless and Containers
    1. Technical requirements
    2. Linux-based Azure Functions
      1. Creating an Azure Functions project with support to create a custom Docker image
      2. Creating a custom Docker image that contains an Azure Function
      3. Publishing the custom Docker image to Docker Hub
      4. Publishing the custom Docker image to an ACR
      5. Creating a function app based on a custom Docker image
      6. Updating the Docker image
      7. Pointing the function app to a new tag and enabling continuous deployment
    3. Hosting Azure Functions containers in Kubernetes with KEDA
      1. Installing KEDA in the Kubernetes cluster
      2. Deploying and executing your functions in Kubernetes
    4. Azure Container Instances
    5. Summary
    6. Questions
    7. Further reading
  16. Section 3: Serverless Orchestration, API Management, and Event Processing
  17. Orchestration as Code - Durable Functions
    1. Technical requirements
    2. What are Durable Functions?
    3. Function types
      1. Client functions
      2. Orchestrator functions
      3. Activity functions
    4. The Durable Functions execution state
    5. Managing Durable Functions versioning
    6. Order manager sample
      1. OrderReceiver
      2. OrderConfirmed
      3. OrderCancelled
      4. OrderCancelled time expired
    7. Summary
    8. Questions
    9. Further reading
  18. Orchestration as Design - Logic Apps
    1. Technical requirements
    2. Understanding Logic Apps
    3. Logic App service components
    4. Versioning, monitoring, and API connections
      1. Versioning
      2. API connections
      3. Monitoring
    5. Advantages of using Logic Apps
    6. Summary
    7. Questions
    8. Further reading
  19. Empowering Your Serverless API with API Management
    1. Technical requirements
    2. Understanding Azure API Management
    3. Creating an API Management instance
      1. The developer portal
    4. Exposing a new API
    5. Creating a new policy
    6. Defining a new product
    7. The API Management REST API
    8. Advantages of API Management
    9. Summary
    10. Questions
    11. Further reading
  20. High-Scale Serverless Event Processing with Event Grid
    1. Technical requirements
    2. Understanding Event Grid
      1. Events
      2. Event sources
      3. Topics
      4. Event subscriptions
      5. Event handlers
    3. Creating an Event Grid subscription
    4. Understanding event delivery and retries
    5. Summary
    6. Questions
    7. Further reading
  21. Section 4: Real-World Serverless Use Cases
  22. Best Practices and Use Cases for Azure Serverless Computing
    1. Azure serverless best practices
      1. Choosing between consumption plans and traditional ones
        1. Serverless scenarios
        2. Traditional PaaS scenarios
        3. Azure Functions – differences between consumption plans and app service plans
        4. Azure Functions – premium plan
        5. API Management – difference between consumption plans and traditional plans
      2. Azure Functions best practices for scalability and performance
    2. Some Azure serverless use cases
      1. IoT and Edge devices
      2. Backend for single-page web apps or mobile apps
      3. Integrate different SaaS services
      4. Backend for Amazon Alexa skills
    3. Summary
    4. Questions
    5. Further reading
  23. Assessments
    1. Chapter 1, Developing and Running Azure Functions
    2. Chapter 2, Customizing Your Azure Functions
    3. Chapter 3, Programming Languages Supported in Azure Functions
    4. Chapter 4, Deploying and Configuring Your Azure Functions
    5. Chapter 5, Leverage the Power of DevOps with Azure Functions
    6. Chapter 6, Testing and Monitoring
    7. Chapter 7, Serverless and Containers
    8. Chapter 8, Orchestration as Code – Durable Functions
    9. Chapter 9, Orchestration as Design – Logic App
    10. Chapter 10, Empower Your Serverless API with API Management
    11. Chapter 11, High Scale Serverless Event Processing with Event Grid
    12. Chapter 12, Best Practices and Use Cases for Azure Serverless Computing
  24. Another Book You May Enjoy
    1. Leave a review - let other readers know what you think

Product information

  • Title: Mastering Azure Serverless Computing
  • Author(s): Lorenzo Barbieri, Massimo Bonanni
  • Release date: November 2019
  • Publisher(s): Packt Publishing
  • ISBN: 9781789951226