舉報

會員
Serverless Design Patterns and Best Practices
Ifyou'reasoftwarearchitect,engineer,orsomeonewhowantstobuildserverlessapplications,whicharenon-trivialincomplexityandscope,thenthisbookisforyou.Basicknowledgeofprogrammingandserverlesscomputingconceptsareassumed.
目錄(209章)
倒序
- 封面
- Title Page
- Copyright and Credits
- Serverless Design Patterns and Best Practices
- Dedication
- Packt Upsell
- Why subscribe?
- PacktPub.com
- Contributors
- About the author
- About the reviewer
- Packt is searching for authors like you
- Preface
- Who this book is for
- What this book covers
- To get the most out of this book
- Download the example code files
- Conventions used
- Get in touch
- Reviews
- Introduction
- What is serverless computing?
- No servers to manage
- Pay-per-invocation billing model
- Ability to automatically scale with usage
- Built-in availability and fault tolerance
- Design patterns
- When to use serverless
- The sweet spot
- Classes of serverless pattern
- Three-tier web application patterns
- ETL patterns
- Big data patterns
- Automation and deployment patterns
- Serverless frameworks
- Summary
- A Three-Tier Web Application Using REST
- Serverless tooling
- System architecture
- Presentation layer
- Logic layer
- Data layer
- Logic layer
- Application code and function layout
- Organization of the Lambda functions
- Organization of the application code
- Configuration with environment variables
- Code structure
- Function layout
- Presentation layer
- File storage with S3
- CDN with CloudFront
- Data layer
- Writing our logic layer
- Application entrypoint
- Application logic
- Wiring handler.py to Lambda via API Gateway
- Deploying the REST API
- Deploying the Postgres database
- Setting up static assets
- Viewing the deployed web application
- Running tests
- Iteration and deployment
- Deploying the entire stack
- Deploying the application code
- Summary
- A Three-Tier Web Application Pattern with GraphQL
- Introduction to GraphQL
- System architecture
- Logic layer
- Organization of the Lambda functions
- Organization of the application code
- Function layout
- Presentation layer
- Writing the logic layer
- Implementing the entry point
- Implementing GraphQL queries
- Implementing GraphQL mutations
- Deployment
- Viewing the deployed application
- Iteration and deployment
- Summary
- Integrating Legacy APIs with the Proxy Pattern
- AWS API Gateway introduction
- Simple proxy to a legacy API
- Setting up a pass-through proxy
- Deploying a pass-through proxy
- Transforming responses from a modern API
- Method execution flow
- Setting up example
- Setting up a new resource and method
- Setting up Integration Request
- Setting up Integration Response
- Complex integration using a Lambda function
- Implementing the application code
- Setting up a new resource and method
- Migration techniques
- Staged migration
- Migrating URLs
- Summary
- Scaling Out with the Fan-Out Pattern
- System architecture
- Synchronous versus asynchronous invocation
- Resizing images in parallel
- Setting up the project
- Setting up trigger and worker functions
- Setting up permissions
- Implementing the application code
- Testing our code
- Alternate Implementations
- Using notifications with subscriptions
- Using notifications with queues
- Summary
- Asynchronous Processing with the Messaging Pattern
- Basics of queuing systems
- Choosing a queue service
- Queues versus streams
- Asynchronous processing of Twitter streams
- System architecture
- Data producer
- Mimicking daemon processes with serverless functions
- Data consumers
- Viewing results
- Alternate Implementations
- Using the Fan-out and Messaging Patterns together
- Using a queue as a rate-limiter
- Using a dead-letter queue
- Summary
- Data Processing Using the Lambda Pattern
- Introducing the lambda architecture
- Batch layer
- Speed layer
- Lambda serverless architecture
- Streaming data producers
- Data storage
- Computation in the speed layer
- Computation in the batch layer
- Processing cryptocurrency prices using lambda architecture
- System architecture
- Data producer
- Speed layer
- Batch layer
- AWS resources
- Data producer
- Speed layer
- Batch layer
- Results
- Summary
- The MapReduce Pattern
- Introduction to MapReduce
- MapReduce example
- Role of the mapper
- Role of the reducer
- MapReduce architecture
- MapReduce serverless architecture
- Processing Enron emails with serverless MapReduce
- Driver function
- Mapper implementation
- Reducer implementation
- Understanding the limitations of serverless MapReduce
- Memory limits
- Storage limits
- Time limits
- Exploring alternate implementations
- AWS Athena
- Using a data store for results
- Using Elastic MapReduce
- Summary
- Deployment and CI/CD Patterns
- Introduction to CI/CD
- CI
- CD
- Setting up unit tests
- Code organization
- Setting up unit tests
- Setting up CI with CircleCI
- Configuring CircleCI builds
- Setting up environment variables
- Setting up CD and deployments with CircleCI
- Setting up Slack notifications
- Setting up a CircleCI badge
- Setting up deployments
- Setting up AWS credentials
- Setting up environment variables
- Executing deployments
- Summary
- Error Handling and Best Practices
- Error tracking
- Integrating Sentry for error tracking
- Integrating Rollbar
- Logging
- Structuring log messages
- Digesting structured logs
- Cold starts
- Keeping cloud functions warm
- AWS Lambda functions and VPCs
- Start-up times for different languages
- Allocating more memory
- Local development and testing
- Local development
- Learning about testing locally
- Managing different environments
- Securing sensitive configuration
- Encrypting variables
- Decrypting variables
- Trimming AWS Lambda versions
- Summary
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時間:2021-08-27 19:12:39
推薦閱讀
- 集成架構中型系統
- Java編程全能詞典
- 網絡服務器架設(Windows Server+Linux Server)
- 蕩胸生層云:C語言開發修行實錄
- 空間機器人遙操作系統及控制
- Dreamweaver 8中文版商業案例精粹
- Learning Social Media Analytics with R
- 過程控制系統
- 單片機技術項目化原理與實訓
- Hands-On SAS for Data Analysis
- Photoshop CS4數碼照片處理入門、進階與提高
- 筆記本電腦維修之電路分析基礎
- 設計模式
- 計算機硬件技術基礎學習指導與練習
- R Statistics Cookbook
- 歐姆龍CP1系列PLC原理與應用
- Python Data Mining Quick Start Guide
- Proteus從入門到精通100例
- 樂高機器人:Scratch與WeDo編程基礎實戰應用
- 單片機原理、應用與PROTEUS仿真
- Artificial Intelligence for Robotics
- 從零開始學HTML+CSS
- Stream Analytics with Microsoft Azure
- Talend for Big Data
- 深度學習:語音識別技術實踐
- Installation,Storage,and Compute with Windows Server 2016:Microsoft 70-740 MCSA Exam Guide
- ARM嵌入式系統技術開發與應用實踐
- Reinforcement Learning with TensorFlow
- 讓Excel飛!
- Generative Adversarial Networks Cookbook