EdX

Building Modern Java Applications on AWS (edX)

Offered by AWS,
Building Modern Java Applications on AWS (edX)

In this course, we will be covering how to build a modern, greenfield serverless backend on AWS. In modern cloud native application development, it’s often times the goal to build out serverlessarchitectures that are scalable, are highly available, and are fully managed. This mean, less operational overhead for you and your business, and more focusing on the applications and business specific projects that differentiate you in your marketplace. In this course, we will be covering how to build a modern, greenfield serverless backend on AWS.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

Building brand new applications on AWS is a different task than lifting and shifting existing applications into AWS. When you have an existing application that you need to move to AWS, you might first look to using Amazon EC2 as your virtual machines, or maybe you might look into using docker containers and container hosting services like Amazon Elastic Container Service or Amazon Elastic Kubernetes Service. Those are all great application hosting options, but in most cases, they still require you to have some kind of pulse on the underlying infrastructure hosting your application.
In this class, we will explore how to build an API driven application using Amazon API Gateway for serverless API hosting, AWS Lambda for serverless compute, and Amazon Cognito for serverless authentication. We will follow an API driven development process and first mock up what the API will look like. We will cover all the ins and outs of the service Amazon API Gateway, and as you’ll learn- it does a lot more than just hosting an API.
Then we will add authentication to the API using Amazon Cognito. You’ll learn about how the authorization flow works with cognito, and how to build it into your APIs. From there, we will add a Lambda backend that will be triggered by API Gateway. The lambda functions will be using the AWS SDKs to perform various data processing tasks. You’ll learn about the different configurations that exist for Lambda, and we will show you how to create and manage lambda functions. Some of the features of our API will require multiple lambda functions to execute in a specific order, like a workflow, and we will use AWS Step Functions to create a serverless workflow. Finally, we will talk about how to optimize your APIs at every layer using AWS features.

What you'll learn

  • How to build a modern, greenfield serverless backend on AWS
  • How to build an API driven application using Amazon API Gateway for serverless API hosting
  • How to build an API driven application using AWS Lambda for serverless compute
  • How to build an API driven application using Amazon Cognito for serverless authentication

Prerequisites:
We expect that you have basic knowledge of AWS already. Some examples of concepts you should be familiar with are: you should know the basics of the AWS Global infrastructure, like what regions and availability zones are. You also should know the at a high-level AWS Identity and Access Management, or IAM, and how it is used to control access to AWS resources. You should also understand what an Amazon EC2 instance is, what Amazon S3 is, what a VPC is, as well as other basic AWS terminology.

Syllabus

Week 1
Architecting for the Cloud
What we are building
Introduction to AWS Cloud9
AWS Command Line Interface (CLI) and Application Programming Interfaces (APIs)
AWS APIs
AWS CLI
Section Reading
AWS SDK Exploration (Java)
AWS Credentials in Cloud9
Introduction to the Serverless Application Model (SAM)
AWS Toolkit for (Cloud9/IntelliJ/PyCharm)
Section Reading
Quiz
Lab 1: Create a static website in Amazon S3

Week 2
Introduction to API Driven Design
API driven development
What is Amazon API Gateway
Amazon API Gateway terminology
Section Readings
Models and Mapping
Creating an API with Mock integration
Using Mappings
Using Models
Section Readings
Publish API
Using Postman to create requests
Section Readings
Lab 2: API
API Authentication
Introduction to Amazon API Gateway authentication
Amazon API Gateway access controls
Amazon API Gateway authentication and authorization mechanisms
Amazon Cognito
Introduction to Amazon Cognito
Using Amazon Cognito to sign in and call Amazon API Gateway
Section Readings
Quiz
Lab 3 Cognito

Week 3
Serverless Computing and AWS Lambda
Introduction to AWS Lambda
AWS Lambda Execution
AWS Lambda permisions
Section Readings
Triggers, Push, Pull model
AWS Lambda execution context and reuse
AWS Lambda Compliance
Asynchronous vs Synchronous Responses
Section Readings
Versions and Aliases
Creating a lambda function using the AWS CLI
Creating and Debugging a AWS Lambda Function using the AWS Toolkit
Section Readings
Lab 4: AWS Lambda
Quiz

Week 4
Orchestration
Creating a serverless workflow
Introduction to AWS Step Functions
Step Functions API exploration
Step Function State types
Section Readings
Step Function Service Integrations
Amazon API Gateway and Step function Integration
Callback patterns
Step Function Activities
Standard vs Express Step functions
Section Readings
Other Orchestration and messaging Services
Event Driven Architectures
SQS, SNS, EventBridge
Section Reading
Lab 5: Process
Quiz

Week 5
Observability
Introduction to Observability
Introduction to Amazon X-Ray
X-Ray, API Gateway, and Lambda
Using the AWS X-Ray SDK with (Java)
Section Readings
API Gateway and Lambda Logs
Amazon CloudWatch Logs integration with API Gateway, Step Functions, and Lambda
Configuring CloudWatch Logs in API Gateway, Step Functions, and Lambda
Section Readings
Quiz

Week 6
Optimization
Introduction to edge-optimized endpoints
API Gateway Response caching
Lambda at the Edge
Section Readings
Lambda Performance
Lambda Layers
Lambda best practices
Section Readings
API Gateway optimization
API Gateway Proxy for AWS APIs
API Gateway HTTP APIs
Section Readings
Lab 6: Optimizing
Quiz
Course Wrap-up
Final Readings
Final Assessment

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Introduction to Java Programming: Fundamental Data Structures and Algorithms (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introduction to Java Programming: Fundamental Data Structures and Algorithms (edX)

Learn to enhance your code by using fundamental data structures and powerful algorithms in Java. In this introductory course, you will learn programming with Java in an easy and interactive way. You will learn about fundamental data structures, such as lists, stacks, queues and trees, and presents algorithms for inserting, deleting, searching and sorting information on these data structures in an efficient way.

Self Paced
Self-Paced
Introduction to Object-Oriented Programming with Java I: Foundations and Syntax Basics (edX) EdX
Georgia Institute of Technology,GTx

Introduction to Object-Oriented Programming with Java I: Foundations and Syntax Basics (edX)

Learn the foundational basics of the Java programming language. This course provides an introduction to the Java programming language. It gives students a foundational overview and history of Java, and students will learn about the language’s basic syntax. At the end, they will be able to develop interactive console programs with basic data processing and formatting capabilities.

Self Paced
Self-Paced
Java Programming Fundamentals (edX) EdX
Galileo University,GalileoX

Java Programming Fundamentals (edX)

Your career as a program developer starts here. Gain entry-level programing skills in Java language, and prepare yourself to handle any task that is required in any programming job. Java is one of the most in-demand programming languages today. This course is designed to provide students the basic skills and knowledge on Java.

Self Paced
Self-Paced
Cloud Cost Management: Optimization Strategies (edX) EdX
AWS

Cloud Cost Management: Optimization Strategies (edX)

Cloud cost management is the organizational planning that allows an enterprise to understand and manage the costs and needs associated with its cloud technology. In particular, this means finding cost-effective ways to maximize cloud usage and efficiency. AWS has a set of services, tools and resources to help the customers with cost management and optimization. This course will highlight the solutions and best practices to get started with optimizing AWS cost and capacity.

Self Paced
Self-Paced
Introduction to Java Programming - Part 2 (edX) EdX
The Hong Kong University of Science and Technology - HKUST,HKUSTx

Introduction to Java Programming - Part 2 (edX)

The first MOOC to teach the fundamental elements of Java programming and data abstraction. Do you want to become a better problem solver? This Java course will provide you with a strong understanding of basic Java programming elements and data abstraction using problem representation and the object-oriented framework.

Self Paced
Self-Paced
Foundations of Data Science (edX) EdX
Indian Institute of Management, Bangalore,IIMBx

Foundations of Data Science (edX)

Learn the fundamental concepts in probability, statistics, optimization and linear algebra which form the foundations for data science. Data Science along with artificial intelligence (AI) and its various components such as statistical learning (SL), machine learning (ML) and deep learning algorithms (DL) are recognized as main drivers of organizational value creation. According to Dr Jim Gray, Data Science is the fourth paradigm which drives innovative solutions to organizational problems.

This course is archived
5-12 Weeks
Machine Learning Operations 2 (MLOps2-AML): Data Pipeline Automation & Optimization using Microsoft Azure Machine Learning (AML) (edX) EdX
Statistics.comX,Statistics.com

Machine Learning Operations 2 (MLOps2-AML): Data Pipeline Automation & Optimization using Microsoft Azure Machine Learning (AML) (edX)

Most data science projects fail. There are various reasons why, but one of the primary reasons is the challenge of deployment. One piece to the deployment puzzle is understanding how to automate your pipeline’s functions and continuously optimize its performance, which is why we developed this course, MLOps2: Data Pipeline Automation & Optimization using Microsoft Azure Machine Learning (AML).

Self Paced
Self-Paced
AWS Cloud Technical Essentials (edX) EdX
AWS

AWS Cloud Technical Essentials (edX)

Kick off your cloud career by learning the fundamentals of AWS products, services, and solutions and basic concepts of database, storage, networking, security and cloud computing. Are you in a technical role and want to learn the fundamentals of AWS? Do you aspire to have a job or career as a cloud developer, architect, or in an operations role? If so, this course is an ideal way to start, as it requires no prior knowledge of cloud computing or AWS products and services.

Self Paced
Self-Paced
Introduction to Java Programming: Writing Good Code (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introduction to Java Programming: Writing Good Code (edX)

Learn to program in an easy and interactive way and enter the fascinating world of computer science. This is an introductory course to learn programming with Java designed to teach how to code good programs in Java, understanding “good” as both correct and efficient. Basic principles of software engineering will be introduced to make it easier for our future self and others to reuse code. Ethical issues and the intellectual property of our programs will also be addressed in the last part of this course. Examples and case studies will be provided, so that learners can implement simple but increasingly complex programs in Java.

Self Paced
Self-Paced