Serverless Architecture Use Cases

Riyaz Sayyad
A free video tutorial from Riyaz Sayyad
Best Selling Instructor, Tech Evangelist at Rizmax Software
4.5 instructor rating • 3 courses • 38,437 students

Learn more from the full course

AWS Lambda & Serverless Architecture Bootcamp (Build 5 Apps)

AWS Serverless with AWS Lambda, API Gateway, Amazon DynamoDB, Step Functions, SAM, the Serverless Framework, CICD & more

25:23:00 of on-demand video • Updated December 2019

  • Master AWS Lambda, API Gateway, DynamoDB, and Step Functions from the ground up (Full of Demos and Hands On)
  • Streamline your development and deployment with AWS SAM as well as the Serverless Framework
  • Automate serverless deployment with AWS CI/CD tools like CodeCommit, CodeBuild and CodePipeline
  • Build Serverless REST API, Web App, Android and iOS Mobile Apps, Alexa Skill, IoT App and more
  • Integrate different services like S3, Kinesis, SNS, SQS and more in your serverless projects
  • Implement OAuth 2.0 Authentication and Authorization with AWS Cognito
  • Document your serverless APIs using API Gateway and Swagger
  • Learn Serverless Best Practices
English Let’s look at some of use cases for serverless applications. The serverless architecture allows us to build just about any type of application or back-end service that you can think of. Let’s go over some of the most common use cases where you can use serverless architecture. The first and the most prominent one is application backends. Serverless allows you to build backends for Web, Mobile or even IoT applications. And later in this course, we’ll build all these three types of backends together, with hands on. Serverless web applications and their backends typically make use of AWS Lambda, API Gateway, DynamoDB, S3 or even Step Functions as needed. End-users might interact with your applications through web, mobile smartphones, or even IoT devices. These frontends act as event sources to trigger our lamda code. Each incoming request from the end user is typically received by one of the endpoints exposed by API Gateway. API Gateway then triggers a call to Lambda function and Lambda function then coordinates with different web services like S3 or DynamoDB to generate a response and then return that response back to the end user, possibly through the same channel like API Gateway. Amazon S3 can also be used to create the app front-end in this case. These frontends are wired to the serverless backends by means of APIs that we create using the API Gateway. Such applications could have very unpredictable usage patterns with, for example periods of extremely high user traffic followed by minimal to no traffic. And your application must be geared to handle these spikes in traffic without the need for any expensive infrastructure. With AWS Lambda, your applications can scale on demand and you pay only for what you use. And in most cases, such serverless applications require almost zero administration. Another use case for serverless architecture is real-time data processing systems or streaming data processing systems. You can use Amazon Kinesis or Kinesis Firehose with Lambda, DynamoDB and S3 to create your real-time data processing systems. These systems typically have variable workloads and serverless approach helps here by helping with the automatic scaling during high workloads and then scaling down and saving costs during the idle time. Amazon Kinesis is a service that lets you collect, process and analyze real-time streaming data from multiple sources, at absolutely any scale. And, you can literally process terabytes of data every hour, coming in from thousands and thousands of sources simultaneously. For example, social media streaming data from several sources can be loaded into Kinesis simultaneously and then processed in real-time using AWS Lambda and DynamoDB. Kinesis also provides Data Analytics services that can be used to build Real-time Analytics applications. Later in the course, we go through the hands on demos where we’ll process streaming data from Kinesis as well as from DynamoDB streams using AWS Lambda.