Overview
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.
Syllabus
- Module 1: Welcome to the Course
- This module starts with how to develop applications in a team. An application engineer doesn’t work alone, and you learn how an engineer interacts with roles such as architects, product managers, quality assurance (QA), support, and DevOps teams. Next, you learn the basics of Python programming. The goal is to get you to the level where you can read and understand some basic Python code. If you already know a programming language, many of the features of Python will look similar to the programming languages you already know.
- Module 2: Architecture Comparison
- This module focuses on software architecture. You learn about AWS Lambda as a home for your application code. You also investigate three different types of application architecture: microservices architecture, monolithic architecture, and service-oriented architecture. You walk through a conceptual ecommerce application, and compare how to build an application based on each architecture type. Next, you learn how to expose your application logic as an application programming interface (API). In a lab environment, you deploy a Lambda function and an Amazon API Gateway API by using the AWS Serverless Application Model (AWS SAM).
- Module 3: Database
- In this module, you learn about using a database for your application data. You explore both relational databases with Amazon Relational Database service (Amazon RDS), and NoSQL databases with Amazon DynamoDB. You learn about the differences between relational databases and NoSQL databases, and when you would choose one type of database instead of the other. You also explore different examples of how to access relational databases and DynamoDB from a Python application.
- Module 4: Messaging Services
- This module introduces you to another way that you can integrate your applications: by using messaging and event buses. You learn how to integrate applications by creating a topic in Amazon Simple Notification Service (Amazon SNS) and adding multiple subscribing applications. You then explore how an application sends messages to an Amazon Simple Queue Service (Amazon SQS) queue, and how consumer applications retrieve messages from that queue. Next, you investigate event-driven applications, which are another type of application architecture. You learn how an application can be designed as a series of both events, and applications that create and respond to these events. Finally, you learn how an application can receive, filter, transform, route, and deliver events by using Amazon EventBridge.
Taught by
Russell Sayers and Morgan Willis