Deploying REST Services with Chalice for AWS
1h 49mAdvanced2019-03-18
Authors

Lawrence Ogrodnek
Independent Software Developer
Course details
Serverless architectures are growing in popularity due to their low cost and promises of hands-off configuration. Chalice, a microframework for writing serverless Python apps for Amazon Web Services (AWS), is one of the easiest ways to develop and deploy serverless applications. This course explains how to leverage Chalice specifically for deploying serverless REST services. Learn how to implement common REST components, add authentication, and use Cognito for integrating a front-end app and adding sign-up and sign-in features. Instructor Larry Ogrodnek also explains how to set up advanced options such as IAM policy generation and SAM deployment, and how to perform testing of your service. Finally, learn how to set up a continuous deployment pipeline that takes advantage of everything Chalice has to offer.
Learning objectives
Serverless components for REST services
Creating your first Chalice app
Routing requests
Customizing responses
Implementing basic authentication
Integrating Cognito
Setting up custom policies
Splitting up an app
Writing and running tests
Creating a CD pipeline with CodePipeline
Learning objectives
Serverless components for REST services
Creating your first Chalice app
Routing requests
Customizing responses
Implementing basic authentication
Integrating Cognito
Setting up custom policies
Splitting up an app
Writing and running tests
Creating a CD pipeline with CodePipeline
Skills covered
Full-Stack Web DevelopmentAmazon Web Services (AWS)AmazonCloud ServicesProjectCloud PlatformsWeb DevelopmentCloud Computing
Concepts
Introduction
- Develop and deploy serverless apps
- Course overview
What Is Serverless
- Serverless overview and concepts
- Common serverless architectures
- Serverless components for REST services
Run and Deploy Your First App with Chalice
- What is Chalice
- Chalice installation and setup
- Create and run your first app
- Deploying, running, and logging in AWS
REST Basics with Chalice
- Starting a to-do API
- Request routing
- Request metadata
- Error messages
- Customizing responses
- CORS support
Authentication
- Authentication options
- Implementing basic auth
- Integrating basic auth
- API keys
Cognito Integration
- Cognito and web app setup
- Chalice configuration
- Front-end integration
- Testing it out
Advanced Deployment
- Policy generation
- Custom policies
- Environment variables
- Splitting up your application
- SAM deployment
Testing
- pytest setup
- Writing and running tests
- Chalice integration tests
Continuous Deployment via CodePipeline
- Continuous deployment with CodePipeline and CodeBuild
- CloudFormation template for CD
- Adding tests and other options
Other Chalice Features
- Periodic tasks
- S3 events
Conclusion
- Next steps