目錄(339章)
倒序
- cover
- Title Page
- Copyright
- Building Serverless Web Applications
- Credits
- About the Author
- About the Reviewer
- www.PacktPub.com
- Why subscribe?
- Customer Feedback
- Preface
- What this book covers
- What you need for this book
- Who this book is for
- Conventions
- Reader feedback
- Customer support
- Downloading the example code
- Downloading the color images of this book
- Errata
- Piracy
- Questions
- Understanding the Serverless Model
- Introducing serverless
- Thinking serverless
- Serverless and PaaS
- IaaS and On-Premises
- The main goals of serverless
- Scalability
- Availability
- Cost efficiency
- The pros and cons of serverless
- Pros
- Reduced operational costs
- Focus on business
- System security
- Continuous delivery
- Microservices friendly
- Cost model
- Cons
- Higher latency
- Constraints
- Hidden inefficiencies
- Vendor dependency
- Debugging difficulties
- Atomic deploys
- Uncertainties
- Use cases
- Static websites
- Lean websites
- Small e-commerce websites
- Temporary websites
- Triggered processing
- Chatbots
- IoT backends
- Scheduled events
- Big Data
- What you should avoid
- Summary
- Getting Started with AWS
- Amazon Web Services
- Handling user accounts and security
- AWS IAM
- Creating users and groups
- Sign in with a non-root user account
- Amazon Cognito
- Managing AWS resources
- AWS Management Console
- AWS SDKs
- AWS CLI
- AWS CloudFormation
- Amazon CloudWatch
- Frontend services
- Amazon S3
- Using S3 with the CLI
- Amazon Route 53
- Amazon CloudFront
- AWS Certificate Manager
- Messaging and notifications
- Amazon SNS
- AWS IoT
- Backend services
- AWS Lambda
- Creating a Lambda function
- Amazon API Gateway
- Expose your Lambda function using API Gateway
- Database services
- Amazon SimpleDB
- Amazon DynamoDB
- The serverless architecture of our online store
- Estimating costs
- Assumptions
- Route 53 pricing
- S3 pricing
- CloudFront pricing
- Certificate Manager pricing
- IAM pricing
- Cognito pricing
- IoT pricing
- SNS pricing
- CloudWatch pricing
- API Gateway pricing
- Lambda pricing
- SimpleDB pricing
- DynamoDB
- Total pricing
- Summary
- Using the Serverless Framework
- Serverless Framework
- Understanding the Serverless Framework
- Other frameworks
- Installing the framework
- Configuring the framework
- Managing permissions in a team
- Creating a new project
- The handler.js file
- The serverless.yml file
- Configuring the Lambda limits
- Deploying a service
- Invoking a function
- Retrieving logs
- Adding endpoints
- Cross-Origin Resource Sharing
- Removing a service
- Going beyond the basics
- Using npm packages
- Accessing other AWS resources
- Events
- The S3 event
- Schedule events
- Serving HTML pages with Lambda
- Using configuration variables
- Plugins
- Showing deployment information
- Scaffolding
- Summary
- Hosting the Website
- Serving static files with Amazon S3
- Creating a bucket
- Enabling web hosting
- Handling errors
- Using redirection rules
- Using an error document
- Delegating to CloudFront
- Prerendering pages
- Supporting www anchors
- Uploading static files
- Automating website publishing
- Serving gzip files
- Setting up Route 53
- Creating a hosted zone
- Creating record sets
- Setting up CloudFront
- Creating a distribution
- Handling CloudFront caching
- Invalidating server-side cache
- Invalidating client-side cache
- Updating Route 53 to use CloudFront
- Supporting HTTPS
- Creating a mail exchange record
- Requesting free certificates with AWS Certificate Manager
- Configuring CloudFront to support HTTPS connections
- Summary
- Building the Frontend
- Getting started with React
- React principles
- The Flux pattern
- React hello-world
- Building a shopping cart
- Preparing the development environment
- Organizing the solution
- Composing components
- Implementing a component
- The App component
- The Product List component
- The Product component
- The Shopping Cart component
- The Cart Item component
- Publishing our demo
- Making Ajax requests
- Retrieving data from the server
- Sending data to the server
- Handling the page routes
- Linking pages
- Using the query parameters
- Single-Page Applications
- Pros and cons of Single-Page Applications
- Pros
- Cons
- Considerations
- Prerendering pages
- Using PhantomJS
- Using the Lambda functions for prerendering
- Rendering on the fly
- Building an online store
- The Navbar component
- The Home page
- The product details page
- The Shopping Cart page
- The Login and Signup pages
- The error pages
- Summary
- Developing the Backend
- Defining the project architecture
- Monolith versus Microservices
- Nanoservices
- Microservices
- Monolith
- Graph
- Naming differences
- Developing the backend
- Defining the functionalities
- Organizing the code
- Referencing Lambda functions in other folders
- Using multiple services
- Setting the endpoints
- RESTful APIs
- Routing the HTTP verbs
- Handling HTTP responses
- Implementing the Lambda functions
- Retrieving all products
- Saving the Shopping Cart
- Checking out
- Summary
- Managing a Serverless Database
- Amazon SimpleDB
- Modeling the database
- Handling one-to-many relations
- Handling numbers
- Handling Booleans
- Handling dates
- Creating a domain
- Limits
- Inserting and querying data
- Performance and concurrency
- Managing the database
- Backing up and restoring data
- Controlling user access
- DynamoDB
- Modeling the database
- Creating a table
- Limits
- Inserting and querying data
- Inserting data
- The Document Client API
- Querying data
- The scan method
- The query method
- Performance and concurrency
- Managing the database
- Provisioned throughput
- Auto scaling
- Backing up and restoring data
- Controlling user access
- Improving the serverless store
- Retrieving all products
- Retrieving the user's shopping cart
- Saving the user's shopping cart
- Processing the checkout
- Amazon S3 (for media files)
- Uploading and downloading files
- Enabling CORS
- Backing up and restoring data
- Using S3 versioning
- Summary
- Securing the Serverless Application
- Security basics
- Information security
- Authentication
- Authorization
- Confidentiality
- Integrity
- Non-repudiation
- Availability
- Security on AWS
- Shared responsibility model
- The Trusted Advisor tool
- Pen testing
- AWS CloudTrail
- MFA
- Handling authentication and authorization
- Amazon Cognito
- Creating a user pool
- Creating an identity pool
- Using Cognito in our serverless store
- The Signup page
- The Login page
- Persisting the user token
- Logging out
- Handling authentication in Lambda functions
- Summary
- Handling Serverless Notifications
- AWS IoT
- Protocols
- Finding the IoT endpoint
- AWS IoT SDK
- Implementing serverless notifications
- Public notifications
- Adding a comment box
- Updating the list of comments
- Creating a new instance of the IoT SDK
- Sending and receiving new comments
- Triggering a Lambda function with IoT
- Private notifications
- Using credentials of an authenticated user
- Updating the logout feature
- Creating an IoT policy
- Attaching an IoT policy and connecting
- Passing the Cognito Identity to the Lambda function
- Sending IoT messages with Lambda
- Summary
- Testing Deploying and Monitoring
- Testing your solution
- Unit testing Lambda functions
- Mocking external services
- Using Sinon.JS for mocking
- Testing the frontend
- Simulating AWS services locally
- Deploying your application
- Development workflow
- Blue-green deployment
- Deploying new versions with a different database model
- Creating a new table or column
- Renaming a table or column
- Dropping a table or column
- Rollback a deployment
- Creating staging environments
- Being careful with the production environment
- Test data
- Keeping your functions warm
- Monitoring the operation
- Monitoring costs
- Monitoring errors
- Retrieving metrics with the Serverless Framework
- Streaming Lambda logs
- Handling errors
- Monitoring performance
- Monitoring efficiency
- Summary 更新時間:2021-07-15 17:32:24
推薦閱讀
- Python程序設計教程(第2版)
- 自己動手寫搜索引擎
- Hands-On Machine Learning with scikit:learn and Scientific Python Toolkits
- C# 從入門到項目實踐(超值版)
- 21天學通C++(第6版)
- Python算法從菜鳥到達人
- 深入剖析Java虛擬機:源碼剖析與實例詳解(基礎卷)
- Apache Camel Developer's Cookbook
- Photoshop CC移動UI設計案例教程(全彩慕課版·第2版)
- 交互式程序設計(第2版)
- Python+Office:輕松實現Python辦公自動化
- Flask開發Web搜索引擎入門與實戰
- micro:bit軟件指南
- 新手學ASP.NET 3.5網絡開發
- Python編程零基礎入門
- Neo4j High Performance
- C#入門經典(第7版):C# 6.0 & Visual Studio 2015(.NET開發經典名著)
- Mastering Android NDK
- matplotlib Plotting Cookbook
- Java編程兵書
- Python自動化測試教程
- Web 3中的零知識證明
- Arduino Essentials
- PhoneGap 3 Beginner's Guide
- 強化學習:原理與Python實現
- 程序員的三門課:技術精進、架構修煉、管理探秘
- Mastering Numerical Computing with NumPy
- 亮劍Java項目開發案例導航
- Android深入淺出
- Building Single:page Web Apps with Meteor