We may earn an affiliate commission when you visit our partners.
Russell Sayers and Morgan Willis

This course gives you a thorough introduction to the python programming language. You'll start by learning the definition of python, its history, semantics, and how it works. The first week concludes by writing a python script to solve a problem. In Week 2, you'll learn about Serverless Architectures and understand the differences between microservices, service-oriented and monolith architectures. You'll build a microservices architecture by learning how to use the following tools: AWS Lambda, Amazon API Gateway, and Cloud9. It's then time to go deep with AWS Databases. You'll see Amazon RDS and Amazon DynamoDB in action, visualizing the important role they play in developing applications in python. The course's final week will cover application integration services. Amazon's Simple Notification Service (SQS), Simple Queue Service (SQS), and EventBridge take center stage as important “glue” components for scalable, cloud-based applications. You'll close the course with a hands-on project, writing some code to use some hardcoded data to write to dynamodb and then convert that into a lambda function.

What's inside

Learning objectives

  • Introductory level python programming and python packages
  • Explain the different roles in an organization building software
  • Differentiate microservice and monolithic architectures
  • Explain the benefits of a microservice architecture
  • Deploy an api with aws lambda for serverless compute, and amazon api gateway for api hosting
  • Integrate aws services into your application using the aws sdk for python boto3
  • Evaluate use cases for storage and database services: amazon s3, amazon dynamodb, and amazon relational database serice
  • Describe how to integrate applications and services using amazon simple queue service queues, amazon simple notification service topics, and amazon eventbridge buses.

Syllabus

Week 1: Welcome to the courseVideo: Instructor IntroductionsVideo: Developing in a teamReading: Discussion PromptSubsection: The Python Programming LanguageVideo: Module 1 Introduction - Python PrimerVideo: Python Hello WorldVideo: Python Variables and TypesVideo: Python ConditionalsVideo: Python LoopsVideo: Python FunctionsVideo: Python Lists and DictionariesVideo: Putting it all togetherVideo: Module 1 Wrap Up
Read more
Week 2: Architecture ComparisonVideo: Module 2 IntroductionVideo: Microservice applications vs service oriented vs monolithSubsection: Build a Microservice APIVideo: AWS Lambda foundational conceptsVideo: Host APIs API GatewayVideo: Working with AWS services using the SDKLab: Creating a Lambda FunctionVideo: Module 2 Wrap up
Week 3: Amazon RDSVideo: Module 3 IntroductionVideo: Introduction to Amazon Relational Database ServiceVideo: Integrating Amazon RDSSubsection: Amazon DynamoDBVideo: Amazon DynamoDB IntroVideo: Integrating Amazon DynamoDBVideo: Module 3 Wrap upLab: Integrate Amazon RDS
Week 4: Messaging ServicesVideo: Module 4 IntroductionVideo: Messaging with Amazon Simple Notification Service (SNS)Video: Messaging with Amazon Simple Queue Service (SQS)Lab: Write to an SQS queueSubsection: Event BusesVideo: Module 4 Wrap upVideo: Event Buses with Amazon EventBridgeSubsection: Graded Project and Course ClosingAssessment: Final AssessmentVideo: Graded ProjectLab: Graded Project

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Uses AWS Lambda and API Gateway, which are essential for building serverless applications and microservices, and are highly sought after in cloud computing
Covers Amazon RDS and DynamoDB, which are widely used database services for building scalable and reliable applications in the cloud
Explores Amazon SQS, SNS, and EventBridge, which are key components for integrating applications and services in a distributed, cloud-based environment
Presented by Amazon Web Services, which is a leading provider of cloud computing services and a major player in the tech industry
Requires familiarity with the AWS SDK for Python (boto3), which may require additional setup and configuration for learners unfamiliar with AWS
Uses Cloud9, which is an older IDE that has been superseded by newer tools, such as VS Code and GitHub Codespaces

Save this course

Save Developing Applications in Python on AWS to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Developing Applications in Python on AWS with these activities:
Review Python Fundamentals
Reinforce your understanding of core Python concepts like variables, data types, loops, and functions to prepare for the course's application-focused content.
Browse courses on Python Basics
Show steps
  • Review online Python tutorials and documentation.
  • Complete basic Python exercises on platforms like HackerRank or LeetCode.
  • Write small Python scripts to practice fundamental concepts.
Review 'Python Crash Course'
Solidify your Python knowledge with a comprehensive guide that covers the basics and introduces practical projects.
Show steps
  • Read the first half of the book covering Python fundamentals.
  • Complete the exercises at the end of each chapter.
  • Attempt one of the projects in the second half of the book.
Build a Simple REST API with Flask
Gain practical experience building APIs, a crucial skill for developing applications on AWS, by creating a simple REST API using the Flask framework.
Browse courses on REST API
Show steps
  • Set up a Flask development environment.
  • Define API endpoints for basic CRUD operations.
  • Implement data storage using a simple data structure (e.g., a list or dictionary).
  • Test the API endpoints using a tool like Postman or curl.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Follow AWS Lambda Tutorials
Deepen your understanding of AWS Lambda by following tutorials on creating and deploying Lambda functions, which are central to serverless application development.
Browse courses on AWS Lambda
Show steps
  • Find tutorials on the AWS website or other reputable sources.
  • Follow the steps to create a simple Lambda function.
  • Deploy the Lambda function using the AWS Management Console or AWS CLI.
  • Test the Lambda function with sample input.
Document Your Learning Journey
Reinforce your understanding and improve retention by documenting your learning process, including challenges faced, solutions found, and key takeaways.
Show steps
  • Create a blog or online notebook.
  • Write about each module, summarizing key concepts.
  • Document any code you write and explain its functionality.
Contribute to a Python AWS SDK Project
Deepen your understanding of the AWS SDK for Python (Boto3) by contributing to an open-source project that utilizes it, gaining practical experience with real-world applications.
Browse courses on AWS SDK
Show steps
  • Find an open-source project that uses Boto3.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.
Design a Serverless Application Architecture Diagram
Solidify your understanding of serverless architectures by designing a diagram that illustrates the components and interactions of a serverless application on AWS.
Browse courses on Serverless architecture
Show steps
  • Choose a specific use case for a serverless application.
  • Identify the AWS services needed to implement the application.
  • Create a diagram using a tool like draw.io or Lucidchart.
  • Document the purpose of each component and how they interact.

Career center

Learners who complete Developing Applications in Python on AWS will develop knowledge and skills that may be useful to these careers:
Backend Developer
Backend developers create and maintain the server-side logic and databases that power applications. This course provides you with the tools and skills needed for backend development, focusing on Python and AWS services. Specifically, you will deploy APIs with AWS Lambda and API Gateway, engage with databases like RDS and DynamoDB, and integrate messaging services like SQS and SNS. A backend developer frequently deals with these types of technologies. The course's emphasis on microservices architecture, and working with databases, provides a solid foundation for those interested in backend development.
Software Developer
A software developer designs, develops, and tests software applications. This course directly aligns with this role because it teaches the Python programming language, a core skill for many software developers. You will also learn to build microservices architectures, use serverless compute with AWS Lambda, and integrate databases and messaging services. This knowledge can help you build a foundation to excel as a software developer, allowing you to build scalable and robust applications. The course's emphasis on building microservices, a common architectural pattern in modern software, is especially relevant to this role.
Cloud Engineer
Cloud engineers are responsible for designing, building, and managing cloud computing systems. This course introduces you to the core concepts and services of Amazon Web Services, making learning cloud engineering easier. Through this course, you'll gain experience with AWS Lambda, API Gateway, RDS, DynamoDB, SNS, SQS, and EventBridge, all of which are vital for a cloud engineer. Furthermore, the course's focus on Python and the AWS SDK boto3 directly equips you for this role. A cloud engineer needs to know how to programatically interact with cloud services, and this course may be useful to you.
API Developer
API developers specialize in creating and managing interfaces that allow different software applications to communicate. This course will give you skills that will help you work as an API developer, specifically in its coverage of AWS Lambda, Amazon API Gateway, and the use of the AWS SDK. The course's focus on microservices architecture is directly relevant to API development as well. The course provides a practical approach; you will learn to deploy an API with AWS Lambda and API Gateway. It can help you build a foundation for success in this field.
Full-Stack Developer
A full stack developer works on both the front-end and back-end aspects of applications. The course will help you in your journey toward full stack development. It provides you with the backend skills, such as Python for coding business logic, AWS Lambda for serverless compute, and database integration skills using RDS and DynamoDB. Although this course doesn't cover front-end development, it provides a strong foundation for backend development and provides the skills that may be essential to a modern day full stack developer.
DevOps Engineer
DevOps engineers streamline the software development lifecycle using automation and cloud technologies. The skills you will learn in this course, particularly regarding AWS services, microservices, and serverless architectures, are essential for a DevOps engineer. This course includes content about AWS Lambda, API Gateway, RDS, DynamoDB, and messaging services. The Python programming language covered here also plays a vital role in the DevOps toolchain. A DevOps engineer needs to be proficient in cloud technologies, and this course may be helpful to you.
Cloud Consultant
Cloud consultants provide expert advice on cloud computing strategies. This course introduces you to the fundamentals of AWS, which are essential for a cloud consultant. You'll learn about microservices, serverless architectures, and integrate databases and messaging services using cloud technology. This course's coverage of Python and the AWS SDK may be useful to you as well. It is a great way to begin your path to becoming a cloud consultant.
Solutions Architect
Solutions architects design and plan technology solutions to meet business requirements. This course introduces concepts that align with this role, such as serverless architectures, microservices, and cloud-based databases using AWS. You will learn how to use AWS services like Lambda, API Gateway, RDS, and DynamoDB, which solutions architects use to design cloud solutions. The course's emphasis on practical application, especially with the final project, will help you in your career as a solutions architect.
Automation Engineer
Automation engineers design and implement automated systems. This course helps automation engineers by teaching Python, a popular language, as well as concepts in the cloud. The course's introduction to using Amazon Web Services and its various services may be useful towards your career. You will also learn about microservices architecture, which are often part of modern automated systems. It is a great way to build a foundation for automation.
Cloud Solutions Architect
A cloud solutions architect designs and plans cloud computing systems, considering scalability, security, and integration. This course may be useful to you because it introduces Amazon Web Services and its services. The course's explanation of microservices, serverless architectures, and various AWS services will help cloud solutions architect candidates understand the possibilities with modern, cloud-based systems. The hands-on projects that cover databases and messaging services will help build practical knowledge as well. It can be useful for those looking to become a cloud solutions architect.
Systems Engineer
Systems engineers manage and maintain an organization's computer systems and networks. This course may be useful to a systems engineer because it covers various AWS services and how they integrate. In this course, you will learn to manage databases, messaging services, and APIs in the cloud. The knowledge gained can help you optimize system performance and efficiency, which are daily tasks of systems engineers. Understanding cloud architectures and services is increasingly important for a systems engineer.
Data Engineer
Data engineers design, build, and maintain data infrastructure. This course introduces you to critical elements of data engineering, such as databases, and cloud services. Through this course, you will learn to integrate AWS databases, like Amazon RDS and DynamoDB, and learn about messaging services useful for building data pipelines. While the course does not directly teach data pipeline design, its instruction of AWS cloud services may be useful because data engineers often use these services. It may be helpful for those looking to step into data engineering.
Database Administrator
A database administrator is responsible for the performance, integrity, and security of a company's databases. This course will introduce you to Amazon RDS and DynamoDB, which may be the database technologies you will work with as a database administrator. The course also teaches database integration, which is an important part of working with data. While this course may not be comprehensive enough to make one a database administrator, it may be useful to start your journey when combined with other learnings.
Technical Project Manager
A technical project manager oversees technology-related projects. This course may be useful because it gives an introduction to key technical concepts such as Python, cloud architectures, microservices, serverless compute, and databases on Amazon Web Services. It will allow you to better communicate with developers. Although this course does not teach project management methodology, understanding how developers build systems will greatly benefit those in this role.
Integration Specialist
An integration specialist is responsible for connecting different software systems. This course may be useful as it introduces several AWS integration services, such as Simple Notification Service, Simple Queue Service, and EventBridge. This course also covers how to integrate databases and APIs as well. This knowledge will help you in your career. This course introduces integration technologies, but a more in-depth focused course would be useful to this role.

Reading list

We've selected one 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 Developing Applications in Python on AWS.
Provides a solid foundation in Python programming, covering essential concepts and syntax. It's particularly useful for beginners or those looking to refresh their Python skills before diving into application development on AWS. The project-based approach aligns well with the course's hands-on focus, making it a valuable resource for both learning and reference. It is commonly used as a textbook at academic institutions.

Share

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

Similar courses

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser