Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Title Page
Copyright and Credits
Hands-On Serverless Applications with Go
Packt Upsell
Why subscribe?
PacktPub.com
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 example code files
Download the color images
Conventions used
Get in touch
Reviews
Go Serverless
The serverless paradigm
The cloud-computing evolution
Infrastructure as a Service
Platform as a Service
Container as a Service
Function as a Service
Serverless architecture
Benefits of going serverless
Drawbacks of going serverless
Serverless cloud providers
AWS Lambda
Source events
Use cases
Go serverless
Summary
Questions
Getting Started with AWS Lambda
Technical requirements
Setting up the AWS environment
The AWS command line
Installing the AWS CLI
AWS Management Console
Configuration
Testing
Setting up the Go environment
The runtime environment
The development environment
Summary
Questions
Developing a Serverless Function with Lambda
Technical requirements
Writing a Lambda function in Go
Execution role
Deployment package
Uploading a ZIP file
Uploading from Amazon S3
Event testing
Summary
Questions
Setting up API Endpoints with API Gateway
Technical requirements
Getting started with API Gateway
Setting up an API endpoint
Debugging and troubleshooting
Invoking the function with an HTTP request
Building a RESTful API
API architecture
Endpoints design
The GET method
The GET method with parameters
The POST method
Summary
Managing Data Persistence with DynamoDB
Technical requirements
Setting up DynamoDB
Creating a table
Loading sample data
Working with DynamoDB
Scan request
GetItem request
PutItem request
DeleteItem request
Summary
Questions
Deploying Your Serverless Application
Lambda CLI commands
The list-functions command
The create-function command
The update-function-code command
The get-function-configuration command
The invoke command
The delete-function command
Versions and aliases
Versioning
FindAllMovies v1.0.0
FindAllMovies v1.1.0
Semantic Versioning
Aliases
Stage variables
Summary
Implementing a CI/CD Pipeline
Technical requirements
Continuous Integration and deployment workflow
Continuous Integration
Continuous Deployment
Continuous Delivery
Automating the deployment of Lambda functions
Continuous Deployment with CodePipeline and CodeBuild
Source provider
Build provider
Deploy provider
Continuous Pipeline with Jenkins
Distributed builds
Setting up a Jenkins job
Git Hooks
Continuous Integration with Circle CI
Identity and access management
Configuring the CI Pipeline
Summary
Questions
Scaling Up Your Application
Technical requirements
Load testing and scaling
Lambda autoscaling
Downstream resources
Private Lambda functions
Concurrent execution
Lambda throttling
Concurrency reservation
Summary
Building the Frontend with S3
Technical requirements
Single Page Application
Developing web applications with Angular
Generating your first Angular component
Accessing Rest web services with Angular
Cross Origin Resource Sharing
S3 static website hosting
Setting up an S3 bucket
Setting up Route 53
Certificate Manager
CloudFront distribution
CI/CD workflow
API documentation
Summary
Questions
Testing Your Serverless Application
Technical requirements
Unit testing
Automated unit tests
Integration testing
RPC communications
Serverless Application Model
Load testing
Summary
Questions
Monitoring and Troubleshooting
Monitoring and debugging with AWS CloudWatch
CloudWatch metrics
CloudWatch alarms
CloudWatch logs
Tracing with AWS X-Ray
Summary
Securing Your Serverless Application
Technical requirements
Authentication and user control access
Securing API access
User management with AWS Cognito
Setting up a test user via the AWS Management Console
Setup using Cognito Golang SDK
Encrypted environment variables
Data encryption at rest
Data encryption in transit
Logging AWS Lambda API calls with CloudTrail
Vulnerability scanning for your dependencies
Summary
Questions
Designing Cost-Effective Applications
Lambda pricing model
Lambda cost calculator
Optimal memory size
Code optimization
Lambda cost and memory tracking
Summary
Infrastructure as Code
Technical requirements
Deploying AWS Lambda with Terraform
Creating the Lambda function
Setting up DynamoDB table
Configuring API Gateway
Cleaning up
Deploying AWS Lambda with CloudFormation
CloudFormation designer
Deploying AWS Lambda with SAM
Exporting a serverless application
Summary
Questions
Assessments
Chapter 1: Go Serverless
Chapter 2: Getting Started with AWS Lambda
Chapter 3: Developing a Serverless Function with Lambda
Chapter 5: Managing Data Persistence with DynamoDB
Chapter 7: Implementing a CI/CD Pipeline
Chapter 9: Building the Frontend with S3
Chapter 10: Testing Your Serverless Application
Chapter 12: Securing Your Serverless Application
Chapter 14:
Other Books You May Enjoy
Leave a review - let other readers know what you think
← Prev
Back
Next →
← Prev
Back
Next →