
Master serverless development on AWS by building and deploying Python lambdas, using SAM, and connecting to DynamoDB with API gateway, S3, and SNS while mastering logging, error handling, and security.
Explore a hands-on, sectioned course to master AWS Lambda for Python developers, with quizzes, assignments, and a practical software setup.
Clone the course repository on GitHub to access all the completed projects, download them, and run them for reference and hands-on practice.
Work on the section assignments from scratch, download the pdf with code and configuration from the lecture resources, and submit your solutions for review.
Download the slides from the lecture resources section, available in Keynote for Mac and ppt for Windows.
Join a complete Python-based hands-on course that builds several AWS Lambda functions from scratch, focusing on Python runtime and note to ignore Java runtime references in slides.
Serverless programming uses cloud components to solve business problems without managing infrastructure, paying only for usage. Use lambda functions and nano services for custom code, with scalability and reliability.
Explore nano services, one-task functions in a serverless, AWS-led context; learn their event-driven or asynchronous nature and how to leverage the AWS serverless repository.
Explore how AWS Lambda serves as a compute service in the serverless platform, executing a handler function in response to events. Manage permissions via IAM resource policy and roles.
Explore function as a service with AWS lambda, where event-driven functions run on demand, scale automatically, and cost only for actual execution.
Explore use cases for AWS Lambda across serverless architectures, from RESTful backends with API gateway and DynamoDB to data processing from streams and infrastructure automation with CloudFormation.
Create your first AWS Lambda function from the console with Python runtime and a default execution IAM role. Test, deploy, and review CloudWatch Logs to understand triggers and performance.
Explore Lambda workflow from creation with the console, CLI, SAM CLI, and SDK, and see how Lambda provisions the runtime and triggers from services such as S3 and API Gateway.
Explore invocation types and modes for AWS Lambda, including console test, CLI, and SDK triggers, and examine event sources, synchronous and asynchronous calls, and polling as a third mode.
Install and import boto3 to enable a Python lambda to interact with S3, Dinamo, DB, API, Gateway, and SNS.
Learn how AWS Lambda runs code on events, scales automatically across availability zones, and is priced by memory and execution time with GB-seconds and a free tier.
Set up tools for hands-on serverless development: create an AWS account, configure IAM and the SAM CLI, install Postman and a code editor, focusing on YAML and Python IDEs.
Set up an AWS account to access free tier services for a year, learn the activation steps, payment method, and login process essential for serverless Python development.
Learn how AWS SAM simplifies creating, deploying, and managing serverless apps with lambda, IAM roles, and supporting resources like DynamoDB, SNS, and SQS via a concise template.yaml.
Create an IAM user in the AWS console, grant console and programmatic access, set a password, attach administrator permissions, and generate access keys for the CLI using the SAM CLI.
Install AWS CLI and AWS SAM CLI on Windows, Mac, and Linux, verify with aws --version and sam --version, and use sam build and sam deploy for Python projects.
Configure the AWS CLI by running aws configure, entering your access key id and secret access key, then set the region and output format to use aws and sam commands.
Install Python and your preferred ide to begin serverless aws lambda development, download Python from python.org, and set up PyCharm community edition.
Install Postman to test your microservices RESTful API using a complete API development environment. Learn to launch, configure requests with headers, JSON body, and authentication across Windows, Linux, and macOS.
Install Visual Studio Code, a free open source IDE from Microsoft, to edit YAML files for serverless development; download the installer for Windows, Mac, or Linux, and launch the editor.
Learn YAML syntax for serverless AWS Lambda, defining simple values, lists, and maps in sam configuration files later converted to cloud formation templates.
Explore AWS Lambda serverless essentials by navigating the AWS Lambda documentation, including the developer guide and API reference for permissions, examples in Java and Python, and monitoring, troubleshooting, and security.
Learn to create a serverless project with the SAM CLI by selecting a quickstart template, choosing the hello world option, and configuring the Python runtime with the new quickstart prompt.
Create a serverless python aws lambda project using the sam cli, choosing the quickstart hello world template with runtime python 3.8, and explore the generated code, tests, and template.yaml.
Build and deploy a serverless python app using sam build and sam deploy, pulling dependencies from requirements.txt and packaging sources into the .aws-sam/build directory.
Deploys a SAM project to AWS Lambda using sam deploy --guided for the first time, creates the IAM role and API Gateway, and provisions a CloudFormation stack via samconfig.toml.
Trigger and test a lambda function end-to-end with the API gateway, review the stack resources, edit code, and deploy via the template.yaml in a serverless setup.
Learn how to pass parameters to AWS Lambda functions in Python using the event data, return hello with the event, and test changes via deployment and test events.
Explore the template.yaml anatomy in aws sam, including version, transform, and the resources block, and how it defines lambda functions with code uri, handler, and runtime, transforming to cloudformation.
Test AWS lambda functions locally with sam local invoke and docker, without redeploying to the cloud. Use template.yaml and event.json to run the hello world function and view logs locally.
Test a local api gateway with sam local start api to simulate AWS api gateway, then re-add the api gateway in template YAML and test endpoints with curl or Postman.
Access lambda logs from your local machine using sam logs to tail cloud watch logs for a hello world function, filtering by function and stack name.
Discover how the IAM execution role determines which resources the Lambda can use, and how the resource policy controls which components can trigger the Lambda, with SAM CLI provisioning.
Delete the entire AWS cloud formation stack named first lambda for the serverless project using the clean up commands. Recreate the stack quickly with sam deploy after deletion.
Explore how a lambda function uses the event and the context object to pass and return data in simple, list, and dictionary types, and configure environment variables in template.yaml.
Discover how to pass and return simple types in an AWS Lambda function in Python, printing and returning the event, and testing with integers and floats via SAM.
Demonstrate serverless development with AWS Lambda for Python developers by filtering a student score map with a list of names from the event and returning matching scores.
Explore how Python dictionaries serve as the event object in AWS Lambda, process maps and lists, and test locally with SAM to see input, transformation, and output.
Explore the lambda context object to access the function ARN, invoked function ARN, start request id, log stream, memory limits, and time remaining, guiding dynamic behavior during execution.
Configure AWS Lambda timeouts to ensure your functions finish within the allocated window, adjusting from the default three seconds in template.yaml to a maximum of fifteen minutes.
Learn to configure and read environment variables in AWS Lambda for Python developers by defining REST API URL and DB name in template.yaml and retrieving them with os.getenv.
Learn to remotely invoke your AWS lambda from a local machine using the AWS CLI. Distinguish asynchronous (event) and synchronous (request response) invocations and review CloudWatch logs.
Discover cold start basics in AWS Lambda by comparing local and global random values and observing how the runtime may reuse memory across invocations.
Learn to build a serverless API using lambda functions and API gateway, invoking lambdas synchronously to create and retrieve orders stored in DynamoDB.
Review a template.yaml for cloud formation that creates two Lambda functions and an API gateway with post and get endpoints on a DynamoDB orders table.
Learn the basics of DynamoDB, a serverless, unstructured database for Lambda applications, including tables, items, attributes, partition keys, and optional sort keys, plus event source and streams triggers.
Api gateway triggers lambda to store order data in Dynamo DB using boto3 put_item, and query by id with a key condition expression.
Learn how AWS Lambda security uses IAM roles and policies to grant DynamoDB CRUD access. Configure resource policies to allow API Gateway triggers and enforce minimal privileges.
Explore the SAM template for building a serverless backend with AWS Lambda and API Gateway, creating the DynamoDB orders table and two Lambda functions for create and read operations.
Learn how CloudFormation intrinsic functions like Ref, GetAtt, and Sub enable dynamic resource references and attribute retrieval during sam deployments, using placeholders for names and arns.
Create orders-api project with AWS SAM and Python runtime, clean template.yaml by removing output and events, and rename codeuri to orders_api. Open in PyCharm to prep for API gateway binding.
Create order lambda in the orders api; parse api gateway event body as json to an order object, and return a 201 response with a message 'order created'.
Configure API Gateway as a trigger for a Python Lambda using the SAM events block, expose the /orders POST endpoint, and create an order.
Deploy and test the orders API by building and deploying with Sam, validating the API gateway, Lambda, and CloudFormation resources, then test with Postman and view logs.
Create a read orders lambda in python to return a static order via api gateway, exposing a get /orders/{id} endpoint with a MacBook Pro and quantity 100.
Test the read orders API in a serverless AWS environment by building and deploying with Sam, then verify the GET /orders/{id} via API Gateway.
Learn to locally emulate the AWS API gateway with sam local start-api, test endpoints like /orders and /orders/{id} on port 3000, and view lambda logs in your console using docker.
Learn to configure the Globals section in template.yaml to apply common properties to all lambda functions, such as runtime, timeout, and environment variables, across resources.
Create the DynamoDB orders_table resource with a numeric Id. Expose the final table name via Ref as an environment variable order_table for the lambdas.
Implement a Lambda create item function that imports boto3, reads the orders table name from the environment, and writes the incoming order to DynamoDB with table.put_item, logging the response.
Read API retrieves a DynamoDB item by order id from path parameters, converting the id to int and using simplejson for decimals, then returns the item.
Configure resource policies for Lambda functions using the SAM template to grant DynamoDB permissions. Restrict operations to the orders table, enabling only create, read, update, and delete as needed.
Deploy and test a serverless API with AWS Lambda and DynamoDB, validating end-to-end functionality via API gateway and Postman.
Learn to use the outputs block in template.yaml to render a dynamic api gateway url during sam deploy, via the substitute function with Serverless Rest API and AWS Region placeholders.
Use the GetAtt intrinsic function to fetch the Arn of the create order lambda function and its Iam role in template.yaml, then deploy with Sam and inspect outputs.
Refactor the lambda to define DynamoDB resources globally and reuse the same connection across invocations. Load the table name from environment variables and apply the same approach in read.py.
Trigger a lambda asynchronously via S3, parse a json of checked-out patients, publish one SNS message per patient, then a second lambda, triggered by SNS, prints to CloudWatch logs.
Explore S3, the simple storage service, using object-based storage and buckets, with versioning and encryption, and learn how SAM enables S3-triggered Lambda functions.
Discover how to use Boto3 with S3 and SNS in Lambda to read an S3 object, extract bucket name and key, decode JSON data, and publish per-patient events to SNS.
Explore the SAM template for an asynchronous workflow: create an S3 bucket and SNS topic, wire two Lambda functions (S3 trigger and SNS trigger), and configure dynamic names and permissions.
Create the patient checkout project with sam using the quickstart template and python option, rename HelloWorld to patient_check_out, then open in PyCharm and prepare template.yaml.
Implement a patient checkout lambda that triggers on S3 uploads, reads the uploaded file with boto3, decodes and parses JSON checkout events, and prints them for now.
Configure a Python-based AWS Lambda function, create a dynamic S3 bucket resource, and set an S3 event trigger for object creation with a read policy.
Build, deploy, and test a serverless app using AWS SAM, creating a patient checkout stack, deploying to S3, and validating a Lambda function triggered by S3 events through logs.
Create an sns topic in the template, expose its name as a lambda environment variable, and grant sns:Publish permission using getAtt to reference the topic name.
Create an SNS client with boto3, read the topic name from environment, serialize each event with json.dumps, and publish to the topic arn with json message structure.
Create and configure a bill management lambda in Python that handles SNS events, extracts the message from the event, and prints it, updating template.yaml to use the existing topic.
Deploy and test a complete serverless workflow with aws lambda for python developers. Deploy two lambdas, patient checkout and bill management, via sam deploy, with s3 upload and sns triggers.
Learn to replace print statements with Python's logging module in AWS Lambda, configuring a logger, levels, and info logs to capture file key and bucket details in CloudWatch.
Learn to handle errors gracefully in AWS lambda by simulating a JSON syntax error in a JSON file stored in S3, review CloudWatch logs for the details, and practice try/except.
Learn how to handle errors gracefully in Lambda functions across synchronous, asynchronous, and polling triggers. Implement try-except handling, http status codes, retries, and dead letter queues to avoid losing events.
Configure a dead letter queue for a lambda function by defining a topic named patient in the template YAML, setting DLQ type to SNS or SQS with the target ARN.
Create an error lambda that handles SNS messages from the dead letter queue, logs details to CloudWatch, and reprocesses or forwards failures using the bill management function.
Deploy and test the dead letter queue and error handler lambda with sam build and sam deploy, configure maximum retry attempts in template.yaml, and verify results in CloudWatch logs.
Convert a synchronous API gateway Lambda flow into asynchronous processing by inserting an SQS queue, tracking requests with a unique id, and letting Lambda poll batches from the queue.
Build a serverless AWS Lambda use case that processes hospital patient claims from an SQS queue, logs to CloudWatch, and configures batch size and the queue ARN via the template.
Create and configure a claim management lambda triggered by an SQS event, linking a new queue and batch size in template.yaml. Log message processing to CloudWatch.
Deploy and test your Lambda function using SAM build and SAM deploy, then trigger it via an SQS queue and review logs in CloudWatch.
Share your achievement on LinkedIn, tag me, and leave a rating and review to help others decide and improve my courses, and check the bonus lecture for maximum discounted coupons.
Are you a Python developer interested in learning Serverless Programming in detail then this course is for you .Are you an experienced Python developer who wants to master the fundamentals of AWS Lambda Functions and use them to create Serverless projects then this course is for you as well.
AWS Lambdas combine Nano Services and Function as a service (FaaS) to deliver Serverless programming model while using various other managed components in AWS. Look at any project that is on AWS it will be using AWS Lambda functions. This course is designed for developers with some knowledge of AWS and Python Development.
You will start this course by:
Master the fundamentals of Serverless Programming and AWS Lamdba
Create Lambda Function using the AWS console
Install the tools required to create and deploy Serverless Projects from your command line
Learn the method signature and the data that can be passed to and returned from a Lambda Function
Learn the YAML Syntax required to create SAM template files
Create Projects using SAM CLI
Understand the structure of a Serverless Project
Build and deploy Function as Code(FAAS)
Test the Functions remotely on the cloud and locally
Access the lambda environment information
Create and cleanup the entire infrastructure required for your project with a single command
Create Serverless APIs using API Gateway , AWS Lambda functions and DynamoDB
Learn how to use AWS APIs and SDKs to programatically work with various components
Work on a ASync usecase using S3 and SNS as triggers
Configure Logging using Log4j
Handle Errors gracefully to configure Dead Letter Queues
Learn what Cold Starts are
Scaling Lambda Functions
and more in easy steps