Migrating to a Serverless Architecture, September 28-29 2017
Migrating to Serverless is a workshop for developers and architects that want to take advantage of the latest trends in cloud computing: serverless apps and cloud functions. Through hands-on exercises and teamwork, you’ll learn about using AWS Lambda and API Gateway to create responsive event-driven micro-services, auto-scaling web APIs, and high-performance web sites.
Serverless platforms significantly reduce the cost of running high-performance web sites and API services in the cloud, but with a major impact on architecture, these services also require teams to re-think how to approach sessions, storage, authorization and testing.
This workshop is based on real-world experience of moving a large collaboration platform from Heroku to AWS Lambda, leading to a huge improvement in scalability and performance, and a significant decrease in cost.
The author of the workshop is Gojko Adzic, a key contributor to Claudia.js, a popular opensource deployment tool for AWS Lambda, and an award-winning author of several bestselling books on Amazon.
Day 1: Getting started with Lambda and performing basic tasks
- Introduction to AWS Lambda and API Gateway
- Create a simple hello-world Lambda service
- Logging, monitoring and analytics in a serverless world
- Create a simple file-conversion service, triggered by AWS S3 file uploads
- Create a simple web API so browsers can invoke your Lambda functions
- Connect Lambda functions to message queues for asynchronous processing
- Create a Slack command using AWS Lambda
Day 2: Architecting serverless applications
- Designing applications for share-nothing architectures
- How to achieve user sessions and still work at scale
- Key things to consider when talking to third-party APIs
- Authentication and authorization with serverless applications
- How to design testable Lambda functions
- How to set up your workflow for teamwork and versioning
Day 3: Building a scalable, high-performant single page serverless app
- Using AWS IAM, Cognito and custom authorization for Lambda functions
- Using Amazon Mobile Analytics (AMA) for integrated client + server analytics and monitoring
- Using AWS DynamoDB for database access
- Using AWS IoT Gateway for client messaging and push notifications
- Using all those tools together with AWS CloudFront to create a modern web application
Who this course is for
Software developers and architects migrating from on-premise applications to the cloud, or investigating the migration from self-managed applications (virtual machines in the cloud) or Platform-as-a-Service (Heroku, Google App Engine) applications to AWS Lambda and cloud functions.
Learning outcomes for this course
- How and when to use AWS Lambda and API Gateway
- How to perform commonly needed tasks, such as file conversion, image serving, connecting to third-party APIs and managing sessions with serverless architectures
- How to design scalable, high-performance web sites with single-page apps backed by cloud APIs
- How to get the most out of AWS integrations, including using AWS Cognito for user management and AWS IoT Gateway for browser and mobile device notifications at scale
- How serverless architectures impact testing, monitoring and deployments
- Good practices for multi-versioning, so you can run A/B tests easily and operate multiple versions of your system cheaply
- How to start converting monolithic applications to cloud functions
- You don’t need prior experience with AWS services, but this would definitely be useful.