We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

AWS Serverless APIs & Apps - A Complete Introduction

Academind by Maximilian Schwarzmüller and Maximilian Schwarzmüller

Serverless computing will shape the future of web development since it allows you to get rid of many issues "traditional" web hosting poses.

Now's the perfect time to dive into this exciting new technology.

Read more

Serverless computing will shape the future of web development since it allows you to get rid of many issues "traditional" web hosting poses.

Now's the perfect time to dive into this exciting new technology.

Unlike in traditional web hosting, where you spin up servers, configure them and then deploy your code, in serverless applications, you don't manage any servers. Instead, you only provide your code and define when it should get executed. Done.

Without managing any servers, you typically pay way less (since you got no overhead capacity), can react much better to incoming traffic spikes and don't have to worry about server security.

For these very reasons, it's no wonder that serverless computing is on the rise, with more and more companies adopting it. Learn it now to gain an edge and either use it for your own projects or apply for high-paid jobs.

What does this course offer then?

This course will introduce you to serverless computing and then quickly dive into how to build serverless apps with Amazon Web Services (AWS).

Specifically, you will learn:

  • how you can build a REST API without worrying about servers, using AWS API Gateway

  • to set up your on-demand code via AWS Lambda 

  • how to execute that Lambda code whenever incoming requests reach your defined REST endpoints

  • how you can store data in a database - naturally without managing any database servers.

We won't stop there though.  Instead, you'll then dive even deeper into serverless computing and learn:

  • how you can add user authentication to your existing frontend apps and how you can then also protect your REST API against unauthenticated access with ease.

  • how you can easily integrate a complete user sign up & sign in flow (including user confirmation) into ANY app (web app, iOS or Android app. ) with AWS Cognito

  • how to deploy your web app in a serverless manner

  • how to speed up the delivery of your static web app assets

  • how to secure your serverless app

  • what else you can build with the services covered in this course and which other services might be interesting to you

  • where to dive deeper regarding advanced development workflows 

  • and much more.

Is this course for you?

Now that you know what this course offers, is it the right choice for you? Which skills should you bring?

This course is absolutely the right choice for you if you're interested in providing great web applications without worrying about the provisioning of servers.

It's also the right choice if you already got experience as a system administrator but are interested in keeping up with the latest developments and the many new possibilities serverless computing offers.

You will need some basic AWS knowledge, or the willingness to dive deeper into AWS alongside taking this course. Additionally, a credit card is required for signing up to AWS.

Finally, you should be familiar with APIs and SPAs (Single-Page-Applications) and which role they play in today's web development environment. You don't need to know how to create them though.

I'd be very happy to welcome you on board.  

Enroll now

What's inside

Learning objectives

  • Build, secure and run apis without managing any servers using aws api gateway and lambda
  • Host spas without managing any servers
  • Add user authentication to serverless applications
  • Run code on-demand in the cloud

Syllabus

Students will understand what to expect from this course as well as what Serverless Development and AWS are

Let me introduce you to this course, its goals and what you're going to learn!

Read more

We learned what Serverless Computing is - but what's AWS?

AWS - A Closer Look (Optional)

Learning alone is absolutely fine but finding learning partners might be a nice thing, too. Our learning community is a great place to learn and grow together - of course it's 100% free and optional!

This course is about serverless computing. But what does that actually mean? This lecture takes a closer look.

Let's clarify one important question right at the start!

With the theory out of the way, let's build our first serverless API. For that, we'll need an account though - time to create one!

This course covers AWS - are there no alternatives? Yes there are, this lecture outlines why AWS is chosen amongst them.

This lecture will walk you through the structure of the course and show what you can expect from it.

Obviously, you want to get the most out of this course. In this lecture, I'll share some extremely important guidelines on how to achieve that.

In this course, I provide a couple of files for download (e.g. lambda code files). Learn how to use these files in this lecture.

Students will understand which services are core to creating serverless services/ apps on AWS

Let me introduce you to this course module and what we're going to cover in it.

Which AWS services are actually involved when creating a serverless app? This lecture dives into that question.

You got the bigger picture and we'll dive into the services in detail throughout the course. In case you don't want to wait that long, you can check out this lecture though.

Theory is nice but it's extremely important to also see how the things come together in practice. That's why we'll build a complete project in this course. Learn more about it in this lecture.

Students will understand which role API Gateway and Lambda play, how to work with both and how to connect both services

Let me introduce you to this course module and its content.

Let's dive into the first service we'll cover in this course: AWS API Gateway. What is it and which roles does it play in a serverless app?

We're going to dive into API Gateway, no worries. Still, it's never too early to share some useful links!

This lecture teaches you how to access the API Gateway console, the main tool we're going to work with in this course.

Let's dive into API Gateway and take a closer look at its general features in this lecture!

AWS by default doesn't grant any service any permissions. This is news to you? Have a look at this article then!

After having a look at the general API features and options, let's now examine what we can configure for the individual APIs we create.

Each request which reaches API Gateway follows a certain cycle. Learn more about this cycle in this lecture.

We got started with the Request-Response-Cycle in the last lecture, let's now dive deeper into it!

Enough about the theory, it's time to create our first API. Learn how that works in this lecture.

Having an API is nice but we also need resources (paths). This lecture shows how you can quickly create and configure such resources.

When creating resources, we also have to keep CORS in mind, otherwise our frontend (web) apps won't be able to connect. Learn more about this matter in this lecture.

With a resource created and CORS configured, it's time to handle Http methods. Learn how to register a method handler in this lecture.

We finished our first steps in API Gateway. Thus far, we only mock data - time to change that and create our first lambda function!

Just as with API Gateway, here's a little collection of helpful links in case you want to dive into more details or plan on playing around with Lambda on your own.

AWS enhanced the Lambda console - learn what's new!

Creating a Lambda Function

We created a basic Lambda function but what, if you don't want to use the In-line code editor? You can simply upload a ZIP file!

We got a Lambda function and we got API endpoints. Time to connect both!

Let's few our progress by accessing our API from the web. We'll also have another look at CORS for that.

Time to Practice - API Gateway + Lambda Basics

We got a working Lambda function - but what is this event object actually all about?

This lecture explores an alternative way of getting your requests to lambda: Directly forwarding them.

How can we find out what's happening inside our function? By checking its logs! Learn how to do this in this lecture.

We learned how we can forward requests to Lambda. There's a better way of getting data into Lambda though. Learn more about that way in this lecture.

We learned about Body Mapping Templates. This lectures takes a closer look at how we actually extract request data with them.

We took a closer look at Body Mapping templates. What's the core idea behind them?

Body Mapping Templates can be confusing but in the end, you often can stick to very simple ones. Let's take a closer look in this article.


We're not limited to mapping request data - we can also map the response as this lecture shows.

With mapping templates covered, let's turn to "Models". What are these about? This lecture sheds some light on them.

We use JSON Schema Language to create a model schema in API Gateway. What's this language all about? Learn more in this article.

Models can be combined with mapping templates. This lecture explores how that works.

Time to Practice - Models and Mappings

Time to take a quick break and plan the next steps.

Let's get back to adding resources and methods - time to add a DELETE method to our API!

So far, we only considered static paths. You can also use dynamic ones though. This lecture shows how to get started with dynamic paths.

If we're talking about Path Parameters, we also have to take a look at Query Parameters, don't we? This lectures dives into them.

The API is taking shape! Time to again test it from the web - with the correct data being passed to it.

Let me wrap this module up and summarize it for you!

Students will understand what DynamoDB is, how it works and how you may use it (and for what you may use it).

Let me introduce you to this module.

In this module, we're going to have a look at a database solution so that we're able to store some data. DynamoDB is going to be a good choice but what is it actually?

As always, don't miss your chance to dive into the official docs and learn more about DynamoDB.

We got a first impression of DynamoDB, this lecture will now dive deeper into that service and explain how data is organized in DynamoDB.

DynamoDB is a NoSQL database. Is that better or worse than SQL? What's the difference? Let's take a closer look in this lecture.

DynamoDB is more fun if we use it together with other services - like Lambda! This lecture explores how the two services may work together.

Enough about the theory, let's see how that all works in practice. What better way to start than to create a new table?

DynamoDB uses Read & Write Capacity to charge you. What does that mean and how does that work? This lecture takes a closer look.

On-Demand Capacity

We got a table, we need items! This lecture will explore how you may add items to your DynamoDB table and how you can then scan them.

DynamoDB uses multiple tables, we got that. But can you also use multiple databases?

Time to use our table from our Lambda function. This lecture teaches you how you may easily access DynamoDB from Lambda!

Did you understand the basic concepts of DynamoDB? Do you know how to work with it? Let's find out!

To understand the code we wrote in the last lecture, we also need to understand how Lambda works behind the scenes. This lecture explores that question.

We're already accessing DynamoDB from Lambda, time to make the next step and actually put an item there!

In order to access DynamoDB from Lambda, we need to set the right permissions. And we can do better than we did thus far. Time to improve our permission settings.

Let's connect it all! Time to use the data from API Gateway in Lambda to finally create an item in DynamoDB fueled by that request data.

We put data into our DynamoDB, let's no work on the response Lambda returns. It's also time to see how that all works in a web app.

Adding data is nice but of course we also want to get that data back. Nothing easier than that! In this lecture, you'll learn how to scan your DynamoDB tables from Lambda.

We already made sure that Lambda has the right permissions to access DynamoDB, but we can do far better and only provide the permissions Lambda actually needs. Time to do that!

We're scanning a DynamoDB table - the yielded data can now be restructured inside of Lambda. This lecture explores how we may do that.

Scanning gives us ALL items. What if we only want one specific item? This lecture shows how that works.

With all Lambda functions finished, it's now time to test it all from the web and see if it all works as expected. We'll also take a look at how the request needs to be sent.

Adding and getting data is nice but ultimately, we also want to be able to delete data. In this lecture, we'll prepare the permissions for that!

We improved the permissions but Lambda now is not able to create logs. If you do want it to do so, have a look at this article.

We added and retrieved data, now it's time to also delete data which is stored in DynamoDB.

With all methods implemented, it's time to do some polishing and map some DynamoDB responses into "better" ones.

Let me wrap this module up and summarize what we learned.

Students will understand how you can add authentication to an existing API via API Gateway and how you can easily add a full user auth workflow using AWS Cognito.

Let me introduce you to this module.

This lecture dives into how we may add authorization to API Gateway endpoints.

When we talk about protecting API Gateway Endpoints, we of course have to look at the features it offers us. Custom Authorizers are one of these features. Let's learn what these are about!

Now that we learned what custom authorizers are, it's time to dive into building our first custom authorizer function.

When creating custom authorizers, there is a set of input data you will receive and a certain format of output data you should provide. Learn more about that in this lecture.

Make sure to read this lecture to avoid errors when setting up the cognito authorizer.

We got our own authorizer function finished, with that, it's time to use it!

It's great that we can control who's allowed to access our resources and who's not. But it would be even better if we could also retrieve the user who was granted access!

With the basics about authorization explained, it's time to do the next step and see how we can also add a complete auth (sign up + sign in) flow to our existing apps. Learn how AWS Cognito helps you with that!

We're using AWS Cognito in this module - time to share some useful links.

AWS Cognito actually consists of two parts. Learn more about these parts in this lecture!

With the basics about Cognito (and Cognito User Pools) set, let's now dive into creating our first User Pool!

AWS Cognito handles a lot of things for your, it's key to understand what it does though! This lecture explores the Cognito Auth Flow.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Suitable for students with minimal background in cloud computing or serverless engineering
Course titles cover foundational knowledge and skills useful in industry
Covers how to build, secure, and run APIs without managing any servers using AWS API Gateway and Lambda

Save this course

Save AWS Serverless APIs & Apps - A Complete Introduction to your list so you can find it easily later:
Save

Reviews summary

Aws serverless apis & apps - a complete introduction

This course is an introduction to building serverless applications with AWS. The instructor combines theoretical and practical knowledge in a hands-on approach, covering essential AWS services and their integration. Developers will learn about API Gateway, Lambda, DynamoDB, Cognito, S3, CloudFront, Route53, and CloudWatch, and how to connect these services to create a complete serverless application. The course also includes discussions on security, testing, and deployment strategies. Despite some outdated content, the course is highly rated for its comprehensive and engaging approach to AWS serverless development.

Activities

Coming soon We're preparing activities for AWS Serverless APIs & Apps - A Complete Introduction. These are activities you can do either before, during, or after a course.

Career center

Learners who complete AWS Serverless APIs & Apps - A Complete Introduction will develop knowledge and skills that may be useful to these careers:
Backend Developer
A Backend Developer is responsible for the server-side logic and data management of a web application. This course is highly relevant to Backend Developers as it covers the fundamentals of serverless development using AWS API Gateway and Lambda. By mastering these technologies, Backend Developers can create and manage serverless applications that are scalable, cost-effective, and easy to maintain.
Cloud Architect
A Cloud Architect designs and manages cloud computing solutions. This course is highly relevant to Cloud Architects who want to gain expertise in serverless development. By learning how to build and deploy serverless applications, Cloud Architects can create more cost-effective and scalable cloud solutions.
Software Architect
A Software Architect designs the overall structure of a software application or system, ensuring efficiency, reliability, and scalability. This course provides a strong foundation in Serverless computing, which is an emerging trend in software development. By understanding Serverless principles and technologies, Software Architects can design and build more efficient and scalable applications.
Full-Stack Developer
A Full Stack Developer is responsible for both the front-end and back-end development of a web application. This course is valuable for Full Stack Developers who want to gain expertise in serverless development. By learning how to build and deploy serverless applications, Full Stack Developers can create more efficient and scalable web applications.
Cloud Engineer
A Cloud Engineer is responsible for the implementation and management of cloud computing solutions. This course is valuable for Cloud Engineers who want to learn about serverless development. By understanding how to build and deploy serverless applications, Cloud Engineers can improve the efficiency and reliability of cloud deployments.
Data Engineer
A Data Engineer is responsible for the design, construction, and maintenance of data pipelines. This course is relevant to Data Engineers who want to learn about serverless data processing. By understanding how to build and deploy serverless data pipelines, Data Engineers can create more efficient and scalable data processing solutions.
Systems Engineer
A Systems Engineer is responsible for the design, integration, and maintenance of complex systems. This course is relevant to Systems Engineers who want to learn about serverless development. By understanding how to build and deploy serverless systems, Systems Engineers can create more efficient and scalable solutions.
DevOps Engineer
A DevOps Engineer is responsible for bridging the gap between development and operations teams. This course is beneficial for DevOps Engineers who want to learn about serverless development. By understanding how to provision and manage serverless applications, DevOps Engineers can improve the efficiency and reliability of software delivery pipelines.
Security Engineer
A Security Engineer is responsible for the security of an organization's IT systems. This course is beneficial for Security Engineers who want to learn about serverless security. By understanding how to secure serverless applications, Security Engineers can improve the overall security posture of an organization.
Technical Writer
A Technical Writer creates and maintains technical documentation. This course is relevant to Technical Writers who want to learn about serverless development. By understanding how to build and deploy serverless applications, Technical Writers can create more accurate and up-to-date documentation.
Product Manager
A Product Manager is responsible for the development and launch of new products or features. This course is beneficial for Product Managers who want to learn about serverless development. By understanding the benefits and limitations of serverless computing, Product Managers can make more informed decisions about how to develop and deploy new products or features.
Consultant
A Consultant provides professional advice and guidance to clients on a variety of business issues. This course is beneficial for Consultants who want to learn about serverless development. By understanding the benefits and limitations of serverless computing, Consultants can provide more informed advice to clients on how to use serverless technologies.
Educator
An Educator teaches students at a variety of levels. This course is beneficial for Educators who want to learn about serverless development. By understanding the fundamentals of serverless computing, Educators can incorporate these concepts into their teaching and help students prepare for careers in the tech industry.
Researcher
A Researcher conducts scientific research to advance knowledge in a particular field. This course may be useful for Researchers who want to learn about serverless computing. By understanding the benefits and limitations of serverless technologies, Researchers can explore new ways to conduct research and analyze data.
Analyst
An Analyst gathers and analyzes data to provide insights and recommendations. This course may be useful for Analysts who want to learn about serverless computing. By understanding how to build and deploy serverless applications, Analysts can create more efficient and scalable data pipelines and analytics solutions.

Reading list

We've selected eight books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in AWS Serverless APIs & Apps - A Complete Introduction.
Offers a deep dive into the practices and principles of site reliability engineering (SRE), as implemented at Google. Although not specific to AWS, it provides valuable insights into building and operating highly reliable distributed systems.
Although not specifically focused on AWS, this book provides valuable insights into designing and building data-intensive applications. It covers topics such as data consistency, scalability, and fault tolerance, which are essential considerations for serverless architectures.
Covers topics commonly found in the AWS Certified Solutions Architect - Associate (SAA-C03) exam, including Identity and Access Management (IAM), CloudFormation, and Amazon EC2. It's especially useful for those seeking more in-depth knowledge and practical examples of AWS services.
Explores the principles and patterns of microservice architecture, providing guidance on designing and building fine-grained, loosely coupled systems. Its insights are applicable to serverless architectures, where microservices play a crucial role.
Provides a comprehensive overview of the HTTP protocol, the foundation of web and serverless applications. It covers request and response structures, error handling, and advanced topics such as caching and security.
Provides a comprehensive introduction to Python programming language, widely used in AWS Lambda functions and other serverless components. It's especially useful for beginners or those looking to refresh their Python skills.
This book, while not directly related to AWS, offers a compelling narrative that emphasizes the importance of collaboration, communication, and DevOps principles in IT environments. Its insights can be applied to the management and operation of cloud-based systems.
Offers a concise and practical exploration of JavaScript, another essential language for serverless development. It focuses on the good parts of the language, helping readers avoid common pitfalls and write more effective code.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to AWS Serverless APIs & Apps - A Complete Introduction.
AWS Lambda & Serverless Architecture Bootcamp (Build 5...
Most relevant
Build a Serverless App with AWS Lambda - Hands On! 2024...
Most relevant
Serverless Architectures on AWS
Most relevant
Building a Voice-enabled Serverless Website with AWS Polly
Most relevant
Serverless Architectures on AWS
Most relevant
AWS Developer: Lambda Deep Dive
Most relevant
Deploy Machine Learning Model into AWS Cloud Servers
Most relevant
Develop a Serverless Computing App with Azure Static Web...
Most relevant
AWS Certified Developer - Associate (DVA-C02)
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser