舉報(bào)

會(huì)員
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 更新時(shí)間:2021-08-27 19:12:39
推薦閱讀
- Circos Data Visualization How-to
- 高性能混合信號(hào)ARM:ADuC7xxx原理與應(yīng)用開發(fā)
- 模型制作
- 物聯(lián)網(wǎng)與云計(jì)算
- Supervised Machine Learning with Python
- 運(yùn)動(dòng)控制器與交流伺服系統(tǒng)的調(diào)試和應(yīng)用
- Deep Reinforcement Learning Hands-On
- RedHat Linux用戶基礎(chǔ)
- Microsoft System Center Confi guration Manager
- 網(wǎng)絡(luò)存儲(chǔ)·數(shù)據(jù)備份與還原
- Linux Shell Scripting Cookbook(Third Edition)
- 算法設(shè)計(jì)與分析
- 大型機(jī)系統(tǒng)應(yīng)用基礎(chǔ)
- Red Hat Enterprise Linux 5.0服務(wù)器構(gòu)建與故障排除
- Mastering DynamoDB
- Learning OpenShift
- Internet of Things with Raspberry Pi 3
- 網(wǎng)絡(luò)設(shè)備規(guī)劃、配置與管理大全(Cisco版)
- 數(shù)據(jù)庫技術(shù)及應(yīng)用
- Hands-On Data Analysis with Scala
- 谷物干燥節(jié)能供熱技術(shù)與裝備
- 從0到1 TensorFlow編程手記
- PostgreSQL Administration Cookbook(9.5-9.6 Edition)
- Linux那些事兒之我是USB
- PowerShell Core for Linux Administrators Cookbook
- 辦公電腦應(yīng)用自救手冊
- 工業(yè)機(jī)器人:產(chǎn)品包裝典型應(yīng)用精析
- Learning Alteryx
- 大道至簡:軟件工程實(shí)踐者的思想
- 電子商務(wù)網(wǎng)頁設(shè)計(jì)與制作