Home Page Icon
Home Page
Table of Contents for
Chapter 2: Event-Driven Applications
Close
Chapter 2: Event-Driven Applications
by Scott Patterson
Learn AWS Serverless Computing
Title Page
Copyright and Credits
Learn AWS Serverless Computing
About Packt
Why subscribe?
Contributors
About the author
About the reviewers
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 color images
Conventions used
Get in touch
Reviews
Section 1: Why We're Here
The Evolution of Compute
Understanding enterprise data centers
The physical data center
Colocating our gear
Cloud born
Exploring the units of compute
Physical servers – scale at the physical server layer
Virtual machines – density efficiencies achieved by virtualizing the hardware
Containers – better density with faster start times
Functions – best density by abstracting the runtime
Understanding software architectures
Monolith – single code base
N-tier – achieve individual scale
Microservices – do one thing and do it well
Nanoservices with serverless
Predicting what comes next
Summary
Questions
Further reading
Event-Driven Applications
Understanding modern applications
Event-command
Event-driven or event-first
Evolution of integration patterns
Enterprise Application Integration
ESB
Serverless integration
Automation with serverless
Scripts on a server
Configuration management
Automation as a Service
Summary
Questions
Further reading
Section 2: Getting Started with AWS Lambda Functions
The Foundations of a Function in AWS
Technical requirements
Learning about AWS Lambda
Fundamentals of a function
Invoking a function
Pricing model
Ephemeral state
High availability
Service limits
Use cases
Setting up security
Execution policies
Function policies
Invoking Lambda functions
Invocation types
Event sources
Execution environment
Environment variables
Anatomy of a Lambda function
Handler function
Event, content, and context objects
The programming model
Runtimes
Writing, building, and packaging
Deployment
Testing, monitoring, and debugging
Writing your first Lambda function
Hello, world! in the console
Hello, world! using the command line
Summary
Questions
Further reading
Adding Amazon API Gateway
Technical requirements
Introducing Amazon API Gateway
Serverless APIs
Deployment options
WebSockets
Use cases
Securing an API
IAM permissions and policies
Authentication with Cognito
Lambda authorizers
Certificates
Building, deploying, and managing APIs
Building APIs
Deploying APIs
Throttling and quota management
Monitoring and logging
Building a Lambda-backed API
Hello world using the console
Hello world via the CLI
Summary
Questions
Further reading
Leveraging AWS Services
Technical requirements
Using Amazon S3 with Lambda
Revision
S3 as an event source
Interacting using the SDK
Using Amazon DynamoDB with Lambda
The basics
Triggering a Lambda function
Interacting using the SDK
Using AWS Step Functions as an Orchestrator
State machines with Lambda
Integrating with other services
Step Functions Local
Summary
Questions
Further reading
Going Deeper with Lambda
Technical requirements
Bringing your own runtime to Lambda
Runtime API and bootstrapping
Putting it all together
Enabling code reuse through layers
Understanding Lambda layers
Using a Lambda layer
Sharing a Lambda layer across multiple AWS accounts
Use cases for Lambda layers
Operationalizing
Using environment variables
Secrets management
Concurrency and error handling
Observability
Development practices
Structuring a function
Handler function
Controller
Service
Reuse and optimization
Using the ecosystem
Summary
Questions
Further reading
Section 3: Development Patterns
Serverless Framework
Technical requirements
Understanding the need for a framework
Developer focus
Managing a serverless project
Exploring the core concepts of the Serverless Framework
Services
Functions
Events
Resources and plugins
Layers
Deploying your first service
Installation and the CLI
Hello World API in 5 minutes
Understanding the deployment
The dashboard
Serverless offline (run it locally)
Testing and debugging
Unit testing lambda functions
Integration testing
Logging and monitoring
Summary
Questions
Further reading
CI/CD with the Serverless Framework
Technical requirements
Using serverless development pipelines
Patterns
Continuous integration
Continuous delivery
Continuous deployment
Using serverless stages
Understanding deployment patterns
Deploying all at once
Blue/green environment switching
Canary or traffic shifting
Introducing AWS services
AWS CodePipeline
AWS CodeBuild
AWS CodeCommit
Building a pipeline
Creating the pipeline in production
A pipeline that deploys itself
Summary
Questions
Further reading
Section 4: Architectures and Use Cases
Data Processing
Technical requirements
Getting across the processing types
Batch
Micro-batch
Streaming
Building a batch data processing workload
Where do I start?
The ETL blueprint
Data storage using S3
Data cataloging – Glue
Custom classifiers
Databases
Crawlers
Data transformation – Glue
Creating a Glue job
Running a Glue job
Data analytics and transformation
Querying data in S3 with Athena
Summary
Questions
Further reading
AWS Automation
Technical requirements
Embedded security
Enforcement via tagging
Automatic detection and remediation with AWS Config
Implementing continuous compliance
Running scheduled tasks
Replacing server-based local schedulers
Auditing and reporting
Summary
Questions
Further reading
Creating Chatbots
Technical requirements
Building a chatbot with Amazon Lex
Understanding the language model
Intents
Utterances
Slots
Prompts
Fulfillment
Building and testing your bot
Building a Slackbot using Serverless Framework
Understanding the architecture
Deploying a Slackbot
Registering a new Slack app
Crafting the bot's brain
Connecting our bot to Slack
Summary
Questions
Further reading
Hosting Single-Page Web Applications
Technical requirements
Understanding serverless SPAs on AWS
The architecture
The components
Amazon S3
Amazon CloudFront
Backend services
Building SPAs with Serverless Framework
Summary
Questions
Further reading
GraphQL APIs
Technical requirements
Introduction to GraphQL
Core concepts
Building GraphQL APIs
Lambda-backed endpoint
Using an AWS-managed service
Summary
Questions
Further reading
Assessment
Chapter 1: The Evolution of Compute
Chapter 2: Event-Driven Applications
Chapter 3: The Foundations of a Function in AWS
Chapter 4: Adding Amazon API Gateway
Chapter 5: Leveraging AWS Services
Chapter 6: Going Deeper with Lambda
Chapter 7: Serverless Framework
Chapter 8: CI/CD with the Serverless Framework
Chapter 9: Data Processing
Chapter 10: AWS Automation
Chapter 11: Creating Chatbots
Chapter 12: Hosting Single-Page Web Applications
Chapter 13: GraphQL APIs
Other Books You May Enjoy
Leave a review - let other readers know what you think
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
Chapter 1: The Evolution of Compute
Next
Next Chapter
Chapter 3: The Foundations of a Function in AWS
Chapter 2: Event-Driven Applications
D) All of the above
C) Enterprise Application Integration
A) Message broker
A) Event-command
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset