舉報

會員
Serverless Design Patterns and Best Practices
Ifyou'reasoftwarearchitect,engineer,orsomeonewhowantstobuildserverlessapplications,whicharenon-trivialincomplexityandscope,thenthisbookisforyou.Basicknowledgeofprogrammingandserverlesscomputingconceptsareassumed.
最新章節
- Leave a review - let other readers know what you think
- Other Books You May Enjoy
- Summary
- Trimming AWS Lambda versions
- Decrypting variables
- Encrypting variables
品牌:中圖公司
上架時間:2021-08-27 18:11:48
出版社:Packt Publishing
本書數字版權由中圖公司提供,并由其授權上海閱文信息技術有限公司制作發行
- Leave a review - let other readers know what you think 更新時間:2021-08-27 19:12:39
- Other Books You May Enjoy
- Summary
- Trimming AWS Lambda versions
- Decrypting variables
- Encrypting variables
- Securing sensitive configuration
- Managing different environments
- Learning about testing locally
- Local development
- Local development and testing
- Allocating more memory
- Start-up times for different languages
- AWS Lambda functions and VPCs
- Keeping cloud functions warm
- Cold starts
- Digesting structured logs
- Structuring log messages
- Logging
- Integrating Rollbar
- Integrating Sentry for error tracking
- Error tracking
- Error Handling and Best Practices
- Summary
- Executing deployments
- Setting up environment variables
- Setting up AWS credentials
- Setting up deployments
- Setting up a CircleCI badge
- Setting up Slack notifications
- Setting up CD and deployments with CircleCI
- Setting up environment variables
- Configuring CircleCI builds
- Setting up CI with CircleCI
- Setting up unit tests
- Code organization
- Setting up unit tests
- CD
- CI
- Introduction to CI/CD
- Deployment and CI/CD Patterns
- Summary
- Using Elastic MapReduce
- Using a data store for results
- AWS Athena
- Exploring alternate implementations
- Time limits
- Storage limits
- Memory limits
- Understanding the limitations of serverless MapReduce
- Reducer implementation
- Mapper implementation
- Driver function
- Processing Enron emails with serverless MapReduce
- MapReduce serverless architecture
- MapReduce architecture
- Role of the reducer
- Role of the mapper
- MapReduce example
- Introduction to MapReduce
- The MapReduce Pattern
- Summary
- Results
- Batch layer
- Speed layer
- Data producer
- AWS resources
- Batch layer
- Speed layer
- Data producer
- System architecture
- Processing cryptocurrency prices using lambda architecture
- Computation in the batch layer
- Computation in the speed layer
- Data storage
- Streaming data producers
- Lambda serverless architecture
- Speed layer
- Batch layer
- Introducing the lambda architecture
- Data Processing Using the Lambda Pattern
- Summary
- Using a dead-letter queue
- Using a queue as a rate-limiter
- Using the Fan-out and Messaging Patterns together
- Alternate Implementations
- Viewing results
- Data consumers
- Mimicking daemon processes with serverless functions
- Data producer
- System architecture
- Asynchronous processing of Twitter streams
- Queues versus streams
- Choosing a queue service
- Basics of queuing systems
- Asynchronous Processing with the Messaging Pattern
- Summary
- Using notifications with queues
- Using notifications with subscriptions
- Alternate Implementations
- Testing our code
- Implementing the application code
- Setting up permissions
- Setting up trigger and worker functions
- Setting up the project
- Resizing images in parallel
- Synchronous versus asynchronous invocation
- System architecture
- Scaling Out with the Fan-Out Pattern
- Summary
- Migrating URLs
- Staged migration
- Migration techniques
- Setting up a new resource and method
- Implementing the application code
- Complex integration using a Lambda function
- Setting up Integration Response
- Setting up Integration Request
- Setting up a new resource and method
- Setting up example
- Method execution flow
- Transforming responses from a modern API
- Deploying a pass-through proxy
- Setting up a pass-through proxy
- Simple proxy to a legacy API
- AWS API Gateway introduction
- Integrating Legacy APIs with the Proxy Pattern
- Summary
- Iteration and deployment
- Viewing the deployed application
- Deployment
- Implementing GraphQL mutations
- Implementing GraphQL queries
- Implementing the entry point
- Writing the logic layer
- Presentation layer
- Function layout
- Organization of the application code
- Organization of the Lambda functions
- Logic layer
- System architecture
- Introduction to GraphQL
- A Three-Tier Web Application Pattern with GraphQL
- Summary
- Deploying the application code
- Deploying the entire stack
- Iteration and deployment
- Running tests
- Viewing the deployed web application
- Setting up static assets
- Deploying the Postgres database
- Deploying the REST API
- Wiring handler.py to Lambda via API Gateway
- Application logic
- Application entrypoint
- Writing our logic layer
- Data layer
- CDN with CloudFront
- File storage with S3
- Presentation layer
- Function layout
- Code structure
- Configuration with environment variables
- Organization of the application code
- Organization of the Lambda functions
- Application code and function layout
- Logic layer
- Data layer
- Logic layer
- Presentation layer
- System architecture
- Serverless tooling
- A Three-Tier Web Application Using REST
- Summary
- Serverless frameworks
- Automation and deployment patterns
- Big data patterns
- ETL patterns
- Three-tier web application patterns
- Classes of serverless pattern
- The sweet spot
- When to use serverless
- Design patterns
- Built-in availability and fault tolerance
- Ability to automatically scale with usage
- Pay-per-invocation billing model
- No servers to manage
- What is serverless computing?
- Introduction
- Reviews
- Get in touch
- Conventions used
- Download the example code files
- To get the most out of this book
- What this book covers
- Who this book is for
- Preface
- Packt is searching for authors like you
- About the reviewer
- About the author
- Contributors
- PacktPub.com
- Why subscribe?
- Packt Upsell
- Dedication
- Serverless Design Patterns and Best Practices
- Copyright and Credits
- Title Page
- 封面
- 封面
- 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