Automation with AWS Serverless Technologies
Build and deploy production-ready, scalable applications with serverless technologies from AWS
Over the past five years, services like AWS Lambda have fundamentally changed the way we think about building and hosting web-scale applications in the cloud. The introduction of Lambda has in turn ushered in a whole new way to think about application architecture: Serverless. This course teaches you everything you need to know to write, automatically deploy, and change serverless applications at production-scale.
We will start by learning the fundamentals of cloud computing, how it has evolved, and how the cloud computing community has converged on serverless as a paradigm. Next, we will learn about the basic technologies that underpin the serverless concept on AWS, before looking at some simple serverless architecture design patterns.
Having gained a solid understanding of the serverless concept, we will build our first Hello World serverless web service. Having built our application, we will leverage Amazon's infrastructure as code tool - the Serverless Application Model - to automatically package and deploy our application. Last, we will leverage the power of Amazon Pipeline, Code Build, and Code Deploy to automatically checkout our code from GitHub, build it, and perform a canary deployment with Blue/Green traffic shifting.
What you'll learn-and how you can apply it
- Serverless as a concept, and how cloud computing has converged on this point
- Fundamental serverless technologies
- Serverless architectures
- Automation tooling for serverless
- Writing and deploying a serverless API with Code Pipeline, Code Build, and Code Deploy
This training course is for you because...
You are a manager, DevOps Engineer, Analyst and Software Developer looking to understand AWS Serverless technologies and the tooling available to help automate deployment.
A basic understanding of cloud computing and various cloud services.
About your instructor
James is a certified AWS Solutions Architect with a passion for data-driven applications. He's spent years helping his clients to design and implement huge-scale, streaming big data platforms, Cloud-based analytics stacks, and serverless architectures. He has advised Mckinsey's clients on big data strategy and the cloud, including the implementation of greenfield projects and migrations from self hosted legacy systems into cloud based open source stacks. Working as CTO for a retail analytics startup, he designed and built a fully serverless scalable analytics stack on AWS based on Lambda, API Gateway, Redshift, DynamoDB, Docker/ECS. He is currently Head of Digital for Colibri Digital, a london based consultancy specialising in cloud computing, big data and machine learning.
The timeframes are only estimates and may vary according to how the class is progressing
Section 1: What is Serverless? (15 mins)
- The server dilemma – how can we host a service at scale without servers?
- Intro and overview
- How did we get here – VMs, Containers, what next?
- What is serverless?
- Serverless on AWS
Section 2: Serverless Architectures (25 mins)
- The Serverless compute paradigm means rethinking certain parts of application and enterprise architecture
- Hosting an API – VMS vs. Containers vs. Serverless
- Serverless event processing
- Accessing databases
- Long running compute
- BONUS – Secure compute inside a virtual private cloud
Section 3: Automation tooling for Serverless (15 mins)
- The nature of Serverless compute means we need to rethink how we’re deploy applications and infrastructure.
- AWS SAM – A simplification of Cloudformation
Section 4: Serverless Technologies (15 mins)
- An overview of the most popular AWS Serverless Technologies
- API Gateway
Section 5: Versioning Strategies for Serverless (15 Mins)
- How to build versioned APIs, perform canary releases, and evaluate new releases in a Blue/Green deployment
- Lambda Aliasing
- API Gateway staging
- Canary Releases and Blue/Green Deployments
Section 6: Writing and deploying a serverless API (30 mins)
Lab: This section will explore how we can write a simple serverless API backed by a Lambda written in NodeJS. We will then write a SAM template for the API, before deploying it using CodeDeploy and demonstrating how to perform a Blue/Green deployment with automated rollback
- A simple API Design
- Writing a NodeJS Lambda function to power the API
- Writing a swagger template for the API
- Writing a SAM template for the application
- Automating deployment with CodeDeploy
- Automatic rollback on failure