<p><span>Get up and running with serverless workloads across AWS, Azure, GCP, Kubernetes, and virtual machines with real-life examples and best practices for design, development, and security of serverless applications</span></p><p><span>Purchase of the print or Kindle book includes a free PDF eBook
Architecting Cloud-Native Serverless Solutions: Design, build, and operate serverless solutions on cloud and open source platforms
โ Scribed by Safeer CM
- Publisher
- Packt Publishing
- Year
- 2023
- Tongue
- English
- Leaves
- 350
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
Get up and running with serverless workloads across AWS, Azure, GCP, Kubernetes, and virtual machines with real-life examples and best practices for design, development, and security of serverless applications
Purchase of the print or Kindle book includes a free PDF eBook
Key Features
- Learn with DIY projects and step-by-step instructions for different serverless technologies and vendors
- Explore detailed sections on running serverless workloads across Kubernetes and virtual machines
- Discover Cloudflare Serverless Solutions to modernize your web applications
Book Description
Serverless computing has emerged as a mainstream paradigm in both cloud and on-premises computing, with AWS Lambda playing a pivotal role in shaping the Function-as-a-Service (FaaS) landscape. However, with the explosion of serverless technologies and vendors, it has become increasingly challenging to comprehend the foundational services and their offerings.
Architecting Cloud Native Serverless Solutions lays a strong foundation for understanding the serverless landscape and technologies in a vendor-agnostic manner. You'll learn how to select the appropriate cloud vendors and technologies based on your specific needs. In addition, you'll dive deep into the serverless services across AWS, GCP, Azure, and Cloudflare followed by open source serverless tools such as Knative, OpenFaaS, and OpenWhisk, along with examples. You'll explore serverless solutions on Kubernetes that can be deployed on both cloud-hosted clusters and on-premises environments, with real-world use cases. Furthermore, you'll explore development frameworks, DevOps approaches, best practices, security considerations, and design principles associated with serverless computing.
By the end of this serverless book, you'll be well equipped to solve your business problems by using the appropriate serverless vendors and technologies to build efficient and cost-effective serverless systems independently.
What you will learn
- Understand the serverless landscape and its potential
- Build serverless solutions across AWS, Azure, and GCP
- Develop and run serverless applications on Kubernetes
- Implement open source FaaS with Knative, OpenFaaS, and OpenWhisk
- Modernize web architecture with Cloudflare Serverless
- Discover popular serverless frameworks and DevOps for serverless
- Explore software design and serverless architecture patterns
- Acquire an understanding of serverless development and security best practices
Who this book is for
This book is for DevOps, platform, cloud, site reliability engineers, or application developers looking to build serverless solutions. It's a valuable reference for solution architects trying to modernize a legacy application or working on a greenfield project. It's also helpful for anyone trying to solve business or operational problems without wanting to manage complicated technology infrastructure using serverless technologies. A basic understanding of cloud computing and some familiarity with at least one cloud vendor, Python programming language, and working with CLI will be helpful when reading this book.
Table of Contents
- Serverless computing and Function as a service
- Backend as a Service and Powerful Serverless Platforms
- Serverless solutions in AWS
- Serverless Solutions in Azure
- Serverless solutions in GCP
- Serverless Cloudflare
- Kubernetes, Knative, and OpenFaaS
- Self-hosted FaaS with Apache Openwhisk
- Implementing DevOps Practices for Serverless
- Serverless security, Observability, and Best Practices
- Architectural and Design Patterns for Serverless
โฆ Table of Contents
Cover
Title Page
Copyright and Credits
Contributors
Table of Contents
Preface
Part 1 โ Serverless Essentials
Chapter 1: Serverless Computing and Function as a Service
Evolution of computing in the cloud
Benefits of cloud computing
CAPEX versus OPEX
Virtualization, software-defined networking, and containers
Types of cloud computing
Cloud service delivery models โ IaaS, PaaS, and SaaS
Serverless and FaaS
FaaS and BaaS
Microservice architecture
Containers, orchestration, and microservices
Event-driven architecture
Events
Structure and components of an EDA
Benefits of EDA
Use cases
Disadvantages
Brokers
FaaS in detail โ self-hosted FaaS
Cloud FaaS versus self-hosted FaaS
API gateways and the rise of serverless API services
The case for serverless
Summary
Chapter 2: Backend as a Service and Powerful Serverless Platforms
BaaS
Messaging systems
Message queues
Pub-sub
Message brokers and clusters
Messaging protocols
Push versus pull
Guarantees in messaging
Dead-letter queues
Cloud messaging
Object stores
Design and features
Workflow automation
Cloud workflows
NoSQL platforms
Cloud NoSQL platforms
Edge computing
PoP
CDNs
Serverless at the edge
IoT clouds
Stream processing
Future of serverless
Trends in serverless
Summary
Part 2 โ Platforms and Solutions in Action
Chapter 3: Serverless Solutions in AWS
Technical requirements
Useful AWS concepts to know and refresh yourself on
CloudFormation primer
Advanced constructs in the CloudFormation template language
Lambda โ FaaS in AWS
How Lambda works
Important concepts
Important configurations
Lambda programming model
Edge computing
API Gateway
HTTP API
WebSocket API
REST API
Private REST API
API Gateway security
S3 โ object store
S3 โ components
S3 and serverless
DynamoDB
Fundamentals
Primary keys and indexes
DynamoDB and serverless
SQS
Types of queues
Features
SQS and other AWS messaging products
SQS and serverless
SNS
SNS and serverless
AWS EventBridge
Step Functions
AWS service integrations
Triggering workflows
Doing by example โ lightweight alert manager
High-level solution design
Summary
Chapter 4: Serverless Solutions in Azure
Technical requirements
Azure fundamentals
Azure Functions
Function apps and creating your first function
Developing and deploying a Python function
Azure Blob Storage
Creating and managing blob storage
Blob Storage and Azure Functions
Azure Cosmos DB
Elements of Cosmos DB
Data partitioning and partition keys
Creating and managing Cosmos DB
Cosmos DB and Azure Functions
Azure event and messaging services
Azure Event Grid
Azure Event Hubs
Azure Service Bus
Azure Event Grid with Azure Functions
Azure Logic Apps
Key concepts of Logic Apps
Creating a Logic Apps workflow
Project โ image resizing with Azure Functions
Summary
Chapter 5: Serverless Solutions in GCP
Prerequisites and GCP basics
Cloud Functions
Core features
The pricing model
Operating system (OS) and runtime support
Function triggers
Function's structure and dependency management
Creating your first function
GCP Pub/Sub
The different types of Pub/Sub flavors
Core concepts
GCS
Cloud Workflows
Common use cases
Writing a workflow
A sample workflow
More serverless services
Cloud Run
Eventarc
Cloud Scheduler
Databases and data stores
The project โ nameplate scanning and traffic notice
Summary
Chapter 6: Serverless Cloudflare
Cloudflare service portfolio
Cloudflare Workers โ the workhorse at the edge
Service Workers โ the namesake and power behind Cloudflare Workers
Cloudflare Workers โ functionality and features
Other languages supported
Cloudflare Workers KV
Cloudflare Pages
JAMStack
Cloudflare Pages and JAMStack
Newest Cloudflare serverless offerings
Cloudflare R2 storage
Durable objects
Workers and KV โ learning by example
Setting up the development environment with Wrangler
Creating your first worker
Deploying your worker
Workers KV store
Project
Implementation
More vendors in edge computing and JAMStack
Summary
Chapter 7: Kubernetes, Knative and OpenFaaS
Containerization and Docker fundamentals
Docker images
Container orchestration and Kubernetes
Kubernetes architecture and components
Kubernetes how-to with minikube
Knative
Knative components
Knative Eventing
Knative and service meshes
Knative installation and setup
OpenFaaS
OpenFaaS architecture
Function runtime and watchdog
Asynchronous functions
FaaSD
OpenFaaS installation and setup
Example project โ implementing a GitHub webhook with a Telegram notification
High-level solution
Design and architecture
Application code and infrastructure automation
Summary
Chapter 8: Self-Hosted FaaS with Apache OpenWhisk
OpenWhisk โ concepts and features
Actions and action chains
Architecture
Creating and managing actions and entities
Creating your first action
Triggers and rules
Packages
Feeds
Web actions
Administration and deployment
Project โ IoT and event processing with IBM Cloud functions
Summary
Part 3 โ Design, Build, and Operate Serverless
Chapter 9: Implementing DevOps Practices for Serverless
General SDLC practices for serverless
The serverless framework
Getting started with the serverless framework
Framework concepts
Events
Updating and deploying the serverless service
Other features of serverless in a nutshell
Zappa โ the serverless framework for Python
Creating and testing the IP information API in Flask
Infrastructure as code with Terraform
Terraform concepts
Terraform workflow
Getting started with Terraform
Infrastructure as code with the Pulumi SDK
Getting started with Pulumi
Testing serverless
Testing in serverless โ challenges and approaches
Local manual tests
Unit testing for serverless
Integration tests
CI/CD pipelines for serverless
Summary
Chapter 10: Serverless Security, Observability, and Best Practices
Security vulnerabilities and mitigation guidelines
The OWASP Serverless top 10
The CSA top 12 serverless vulnerabilities
Event injection
Broken authentication
Insecure configurations
Insecure secrets and credentials storage
Broken access control
Inadequate function monitoring and logging
Obsolete serverless resources
Insecure dependencies
Improper exception handling and verbose error messages
Cross-execution data persistence
Insecure deserialization
Other common vulnerabilities โ XXE and XSS
Serverless observability
The challenges of serverless observability
Serverless observability in AWS
Serverless observability in GCP
Serverless observability in Azure
Serverless best practices
Summary
Chapter 11: Architectural and Design Patterns for Serverless
Design patterns primer
Creational design patterns
Structural design patterns
Behavioral design patterns
Architectural patterns
Cloud architecture patterns โ vendor frameworks and best practices
Three-tier web architecture with AWS
Event-driven architecture with Azure
Business process management with GCP
More serverless designs
The webhook pattern
Document processing
Video processing with the fanout pattern
Serverless job scheduling
Serverless applications in the Well-Architected Framework
Summary
Index
Other Books You May Enjoy
๐ SIMILAR VOLUMES
<p><span>Get up and running with serverless workloads across AWS, Azure, GCP, Kubernetes, and virtual machines with real-life examples and best practices for design, development, and security of serverless applications</span></p><p><span>Purchase of the print or Kindle book includes a free PDF eBook
<p><span>Explore the theory and practice of designing and writing serverless applications using examples from the Knative project. With this practical guide, mid-level to senior application developers and team managers will learn when and why to target serverless platforms when developing microservi
<p>Explore the theory and practice of designing and writing serverless applications using examples from the Knative project. With this practical guide, mid-level to senior application developers and team managers will learn when and why to target serverless platforms when developing microservices or
Explore the theory and practice of designing and writing serverless applications using examples from the Knative project. With this practical guide, mid-level to senior application developers and team managers will learn when and why to target serverless platforms when developing microservices or ap
<p><span>Step-by-step guide for developing cloud native apps on GCP powered by hands-on interactive learning</span></p><p></p><p></p><p><span>Key Features</span><span><br></span></p><p><span>โ Cutting-edge coverage on Google Cloud Build, Cloud Run, GKE, Kubectl and Anthos.<br></span></p><p><span>โ I