舉報

會員
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
推薦閱讀
- 課課通計算機原理
- Getting Started with Clickteam Fusion
- Learning Apache Spark 2
- Security Automation with Ansible 2
- 西門子S7-200 SMART PLC實例指導學與用
- Hybrid Cloud for Architects
- 悟透JavaScript
- Hadoop應用開發基礎
- Godot Engine Game Development Projects
- Mastering pfSense
- 工業機器人實操進階手冊
- 基于ARM9的小型機器人制作
- 超好玩的Python少兒編程
- 微控制器的選擇與應用
- 嵌入式系統應用開發基礎
- 傳感器技術及實訓(第2版)
- 數據結構(C語言版)
- TensorFlow深度學習應用實踐
- Hands-On Ensemble Learning with R
- 自動化生產線裝配與調試技術-:基于西門子S7-200系列PLC
- UGNX 5三維造型
- Mastering BeagleBone Robotics
- WordPress for Education
- Qlik Sense:Advanced Data Visualization for Your Organization
- 三菱PLC編程技術及工程案例精選(第2版)
- 決戰.NET
- Red Hat Enterprise Linux 6從入門到精通
- Practical Machine Learning Cookbook
- 自己動手做交互系統
- 劍指Offer