image
Build AWS Serverless Web Applications With Python
Introduction
Difficulty
Intermediate
Duration
1h 59m
Students
3901
Ratings
4.8/5
Description

For years, web development has continued to evolve alongside programming languages, tooling, and frameworks. It started out with static web sites before moving on to dynamic sites that were rendered on the server. Over time, as JavaScript frameworks gained functionality and popularity, there was a shift towards putting more of the logic into the front end, and using the back-end as a supporting API.

Throughout all the changes in web development over the years, the server has been a constant. Regardless of the languages, tools, and frameworks used, there’s always a server running the code. And that’s something that hasn’t changed. What has changed is that cloud providers now make it easy for software engineers to focus on writing their code, without having to focus on the underlying server.

In this course, you'll build a serverless web application using Python 3.6. You'll use Lambda, API Gateway, S3, DynamoDB, and Cognito to create a multi-user to-do list application based on Vue.js.

Note: The Apple M1 chip isn't compatible with this course currently. We recommend using a different device.

Learning Objectives

  • Outline the architecture of a serverless web application
  • Set up the AWS services required for the app
  • Create and deploy an API using Python 3.6
  • Explain the value of creating unit tests
  • Use a Cognito User Pool within your app

Intended Audience

  • Developers
  • DevOps Engineers
  • Site Reliability Engineers

Prerequisites

  • Familiar with AWS
  • Development experience
  • Familiar with the CLI

Resources

Transcript

For years, web development has continued to evolve alongside programming languages, tooling, and frameworks. It started out with static websites before moving to dynamic sites that were rendered on the server. Over time, as JavaScript frameworks gained functionality and popularity, there was a shift towards putting more of the logic into the front end and using the back end as a supporting API.

Throughout all the changes in web development over the years, the server has been a constant. Regardless of the languages, tools, and frameworks used, there's always a server running the code, and that's something that hasn't changed. What has changed is that cloud providers now make it easy for software engineers to focus on writing their code without having to focus on the underlying server.

Welcome to Serverless Web Development with Python. In this course, we'll take a look at how to create and deploy a web application that runs on AWS. I'm Ben Lambert, and I'll be your instructor for this course. A bit about me: I'm a DevOps Engineer with a passion for security, containers, and automation, amongst other nerdy topics.

Who is this course for? If you are a DevOps Engineer, a developer, or a Site Reliability Engineer, or some sort of similar role where you write a lot of code, then this course is for you. As always, I've made some assumptions about what you should know before taking this course. First, you need to be familiar with AWS.

Next, you'll need to be able to develop in at least one programming language. Now ideally, that will be Python. However, the code is available to you, so it's pretty lightweight. You should be able to make your way through it and understand it as you read it. Also, I assume that you're familiar with using the command line, using Git, and using a code editor.

When creating this course, I had some learning objectives in mind. By the end of this course, you should understand the architecture of a serverless web application. You should understand how to set up the AWS services required for the app. You should be able to create and deploy an API using Python 3.6.

You should understand the value of creating unit tests, and finally, you should be familiar with how to use Cognito User Pools within your application. That's the minimum that I hope you'll get out of this course. To meet these learning objectives, here's a look at the lessons. First up, we'll talk about why serverless is valuable, followed by an overview of what we're going to build in this course, and then we're going to download the code.

After that, we'll set up the services in the portal. Then we'll walk through the code. We'll fire up the development VM using Vagrant. We'll run the tests and fix up the broken code. Then we'll deploy the API to API gateway in Lambda. After that, we'll configure the front end and test it locally, and then we'll deploy it out to S3 so that we can test everything holistically.

After that, we'll do a summary wrapping up what we've covered in this course. Before getting started, you may want to adjust the speed of the video player, and you can do that in the player settings. I like to watch through on 2x, but you may have your own preference, so feel free to play around with those settings.

To make sure you have the latest code, I'm going to add a link in the course description, so if you want to follow along, feel free to grab the code in the repo. Also, I love hearing from you all, so if you want to reach out, you can reach me via support@cloudacademy. com. You can also reach me on the community forum, and I'm @sowhelmed on Twitter.

Good or bad, your feedback helps me create better courses, so I hope to hear from you. All right, if you're ready to start learning, then I'll see you in the first lesson.

About the Author
Students
100979
Labs
37
Courses
44
Learning Paths
58

Ben Lambert is a software engineer and was previously the lead author for DevOps and Microsoft Azure training content at Cloud Academy. His courses and learning paths covered Cloud Ecosystem technologies such as DC/OS, configuration management tools, and containers. As a software engineer, Ben’s experience includes building highly available web and mobile apps. When he’s not building software, he’s hiking, camping, or creating video games.