万本电子书0元读

万本电子书0元读

顶部广告

Building Serverless Web Applications电子书

售       价:¥

1人正在读 | 0人评论 9.8

作       者:Diego Zanon

出  版  社:Packt Publishing

出版时间:2017-07-28

字       数:33.8万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Build scalable, efficient, and highly available web apps using AWS About This Book ? Get an in-depth understanding of the serverless model ? Build a complete serverless web application end to end ? Learn how to use the Serverless Framework to improve your productivity Who This Book Is For If you’re looking to learn more about scalable and cost-efficient architectures, this book is for you. Basic knowledge of Node.js skills or familiarity with cloud services is required. For other topics, we cover the basics. What You Will Learn ? Get a grasp of the pros and cons of going serverless and its use cases ? Discover how you can use the building blocks of AWS to your advantage ? Set up the environment and create a basic app with the Serverless Framework ? Host static files on S3 and CloudFront with HTTPS support ? Build a sample application with a frontend using React as an SPA ? Develop the Node.js backend to handle requests and connect to a SimpleDB database ? Secure your applications with authentication and authorization ? Implement the publish-subscribe pattern to handle notifications in a serverless application ? Create tests, define the workflow for deployment, and monitor your app In Detail This book will equip you with the knowledge needed to build your own serverless apps by showing you how to set up different services while making your application scalable, highly available, and efficient. We begin by giving you an idea of what it means to go serverless, exploring the pros and cons of the serverless model and its use cases. Next, you will be introduced to the AWS services that will be used throughout the book, how to estimate costs, and how to set up and use the Serverless Framework. From here, you will start to build an entire serverless project of an online store, beginning with a React SPA frontend hosted on AWS followed by a serverless backend with API Gateway and Lambda functions. You will also learn to access data from a SimpleDB database, secure the application with authentication and authorization, and implement serverless notifications for browsers using AWS IoT. This book will describe how to monitor the performance, efficiency, and errors of your apps and conclude by teaching you how to test and deploy your applications. Style and approach This book takes a step-by-step approach on how to use the Serverless Framework and AWS services to build Serverless Applications. It will give you a hands-on feeling, allowing you to practice while reading. It provides a brief introduction of concepts while keeping the focus on the practical skills required to develop applications.
目录展开

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

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部