Serverless computing is a cloud computing model that enables developers to create and deploy applications without the need to manage servers or infrastructure. One widely used implementation of serverless computing is through AWS Lambda, a compute service provided by Amazon Web Services (AWS). By using AWS Lambda, developers can execute code without the need to provision or maintain servers, only pay for the compute time used by the application, and automatically scale the application based on incoming requests.
When building a serverless application, some of the commonly utilized AWS services include AWS Lambda, AWS DynamoDB, AWS API Gateway, AWS SNS, and AWS SQS.
This guided project has the following topics
||Creating Serverless Application using SAM
||Serverless Synchronous Invocation
||Serverless S3 Asynchronous Invocation
||Serverless SNS Asynchronous Invocation
||Serverless Error Handling
- Familiarity with basics of AWS Services
- Knowledge about Python Programming using BOTO3
By completing this Guided Project, you will learn about
- Developing a serverless application.
- Using AWS Serverless Application Model to build and deploy the project.
- Create a Lambda function and store data in the DynamoDB.
- Configure S3 bucket data upload event as a trigger to the Lambda function.
- Publish the event as SNS Topic
- Configure SNS Topic as trigger to Lambda Function.
- Error Handling in Lambda Functions.
- AWS Serverless Application
- AWS Python Developer
- AWS SAM
Employee Appraisal Management Application
A company aims to create a web application that can manage employee information and publish their score/ratings. To meet their requirements, they plan to utilize AWS services.
To assist the company, we'll develop REST APIs using AWS Lambda to manage employee data in AWS DynamoDB. The employee score (JSON File) will be uploaded to an AWS S3 Bucket. Once uploaded, we'll calculate the employee grade and publish it to AWS SNS Topic. Additionally, an AWS Lambda function will update the employee information in DynamoDB with their grades when the grade is published. The application should have a robust error handling strategy to ensure that the application remains functional at all times.