Developing on AWS

The Developing on AWS (DODEVA) course is designed to teach developers how to build, deploy, and maintain applications and services using Amazon Web Services. During the course, participants will learn how to leverage the various features and services of AWS to develop scalable, secure, and reliable solutions. A major goal of the course is to provide participants with a solid understanding of AWS compute services, such as Amazon EC2, AWS Lambda, and Amazon ECS. They will learn how to use these services to build and deploy applications and services efficiently and reliably. The course also focuses on data management and archiving using AWS storage services, such as Amazon S3, Amazon DynamoDB, and Amazon RDS. Participants will learn how to design and implement storage solutions that are appropriate for their application needs and ensure data security. Another major goal of the course is to teach participants how to integrate applications and services using communication and messaging services such as Amazon SNS, Amazon SQS, and AWS AppSync. Additionally, participants will learn how to implement security and identity solutions, such as authentication and authorization, using services such as AWS Identity and Access Management (IAM) and Amazon Cognito. Finally, the course covers techniques to monitor, debug, and optimize the performance of applications developed on AWS. Participants will become familiar with tools and best practices to ensure that their solutions are efficient, reliable, and high-performance. The course helps prepare for the AWS Certified Developer – Associate Certification exam

Course Objectives

Below is a summary of the main objectives of the Developing on AWS (DODEVA) Course :

  1. Understanding AWS Compute Services: Gain a solid understanding of AWS compute services, such as Amazon EC2, AWS Lambda, and Amazon ECS, and use them to efficiently build and deploy applications and services.
  2. Data Management and Storage: Learn to manage and store data using AWS storage services, such as Amazon S3, Amazon DynamoDB, and Amazon RDS, and design suitable and secure storage solutions for applications.
  3. Application and Service Integration: Gain skills in how to integrate applications and services using AWS messaging and communication services, such as Amazon SNS, Amazon SQS, and AWS AppSync.
  4. Implementing Security and Identity Solutions: Learn how to implement security and identity solutions, such as authentication and authorization, using services such as AWS Identity and Access Management (IAM) and Amazon Cognito.
  5. Performance Monitoring and Optimization: Cover techniques to monitor, debug, and optimize the performance of applications developed on AWS, familiarizing yourself with the tools and best practices to ensure efficiency and reliability of your solutions.
  6. Monitoring and troubleshooting serverless applications to ensure reliability and performance.
  7. Designing scalable and resilient serverless architectures to meet application needs.

Course Certification

This course helps you prepare to take the:

AWS Certified Developer – Associate Exam ;

Course Outline

Module 1: Course Overview

  • Logistics
  • Student resources
  • Agenda
  • Introductions

Module 2: Building a Web Application on AWS

  • Discuss the architecture of the application you are going to build during this course
  • Explore the AWS services needed to build your web application
  • Discover how to store, manage, and host your web application

Module 3: Getting Started with Development on AWS

  • Describe how to access AWS services programmatically
  • List some programmatic patterns and how they provide efficiencies within AWS SDKs and AWS CLI
  • Explain the value of AWS Cloud9

Module 4: Getting Started with Permissions

  • Review AWS Identity and Access Management (IAM) features and components permissions
  • to support a development environment
  • Demonstrate how to test AWS IAM permissions
  • Configure your IDEs and SDKs to support a development environment
  • Demonstrate accessing AWS services using SDKs and AWS Cloud9
  • Lab 1: Configure the Developer Environment
  • Connect to a developer environment
  • Verify that the IDE and the AWS CLI are installed and configured to use the application profile
  • Verify that the necessary permissions have been granted to run AWS CLI commands
  • Assign an AWS IAM policy to a role to delete an Amazon S3 bucket

Module 5: Getting Started with Storage

  • Describe the basic concepts of Amazon S3
  • List the options for securing data using Amazon S3
  • Define SDK dependencies for your code
  • Explain how to connect to the Amazon S3 service
  • Describe request and response objects

Module 6: Processing Your Storage Operations

  • Perform key bucket and object operations
  • Explain how to handle multiple and large objects
  • Create and configure an Amazon S3 bucket to host a static website
  • Grant temporary access to your objects
  • Demonstrate performing Amazon S3 operations using SDKs
  • Lab 2: Develop Solutions Using Amazon S3
  • Interact with Amazon S3 programmatically using AWS SDKs and the AWS CLI
  • Create a bucket using waiters and verify service exceptions codes
  • Build the needed requests to upload an Amazon S3 object with metadata attached
  • Build requests to download an object from the bucket, process data, and upload the object back to the bucket
  • Configure a bucket to host the website and sync the source files using the AWS CLI
  • Add IAM bucket policies to access the S3 website

Module 7: Getting Started with Databases

  • Describe the key components of DynamoDB
  • Explain how to connect to DynamoDB
  • Describe how to build a request object
  • Explain how to read a response object
  • List the most common troubleshooting exceptions

Module 8: Processing Your Database Operations

  • Develop programs to interact with DynamoDB using AWS SDKs
  • Perform CRUD operations to access tables, indexes, and data
  • Describe developer best practices when accessing DynamoDB
  • Review caching options for DynamoDB to improve performance
  • Perform DynamoDB operations using SDK
  • Lab 3: Develop Solutions Using Amazon DynamoDB
  • Interact with Amazon DynamoDB programmatically using low-level, document, and highlevel APIs in your programs
  • Retrieve items from a table using key attributes, filters, expressions, and paginations
  • Load a table by reading JSON objects from a file
  • Search items from a table based on key attributes, filters, expressions, and paginations
  • Update items by adding new attributes and changing data conditionally
  • Access DynamoDB data using PartiQL and object-persistence models where applicable

Module 9: Processing Your Application Logic

  • Develop a Lambda function using SDKs
  • Configure activates and permissions for Lambda functions
  • Test, deploy, and monitor Lambda functions
  • Lab 4: Develop Solutions Using AWS Lambda Functions
  • Create AWS Lambda functions and interact programmatically using AWS SDKs and AWS CLI
  • Configure AWS Lambda functions to use the environment variables and to integrate with
  • other services
  • Generate Amazon S3 pre-signed URLs using AWS SDKs and verify the access to bucket
  • objects
  • Deploy the AWS Lambda functions with .zip file archives through your IDE and test as needed
  • Invoke AWS Lambda functions using the AWS Console and AWS CLI

Module 10: Managing the APIs

  • Describe the key components of API Gateway
  • Develop API Gateway resources to integrate with AWS services
  • Configure API request and response calls for your application endpoints
  • Test API resources and deploy your application API endpoint
  • Demonstrate creating API Gateway resources to interact with your application APIs
  • Lab 5: Develop Solutions Using Amazon API Gateway
  • Create RESTful API Gateway resources and configure CORS for your application
  • Integrate API methods with AWS Lambda functions to process application data
  • Configure mapping templates to transform the pass-through data during method integration
  • Create a request model for API methods to ensure that the pass-through data format complies with application rules
  • Deploy the API Gateway to a stage and validate the results using the API endpoint

Module 11: Building a Modern Application

  • Describe the challenges with traditional architectures
  • Describe the microservice architecture and benefits
  • Explain various approaches for designing microservice applications
  • Explain steps involved in decoupling monolithic applications
  • Demonstrate the orchestration of Lambda Functions using AWS Step Functions

Module 12: Granting Access to Your Application Users

  • Analyze the evolution of security protocols
  • Explore the authentication process using Amazon Cognito
  • Manage user access and authorize serverless APIs
  • Observe best practices for implementing Amazon Cognito
  • Demonstrate the integration of Amazon Cognito and review JWT tokens
  • Lab 6: Capstone – Complete the Application Build
  • Create a Userpool and an Application Client for your web application using
  • Add new users and confirm their ability to sign-in using the Amazon Cognito CLI
  • Configure API Gateway methods to use Amazon Cognito as an authorizer
  • Verify JWT authentication tokens are generated during API Gateway calls
  • Develop API Gateway resources rapidly using a Swagger importing strategy
  • Set up your web application frontend to use Amazon Cognito and API Gateway
  • configurations and verify the entire application functionality

Module 13: Deploying Your Application

  • Identify risks associated with traditional software development practices
  • Understand DevOps methodology
  • Configure an AWS SAM template to deploy a serverless application
  • Describe various application deployment strategies
  • Demonstrate deploying a serverless application using AWS SAM

Module 14: Observing Your Application

  • Differentiate between monitoring and observability
  • Evaluate why observability is necessary in modern development and key components
  • Understand CloudWatch’s part in configuring the observability
  • Demonstrate using CloudWatch Application Insights to monitor applications
  • Demonstrate using X-Ray to debug your applications
  • Lab 7: Observe the Application Using AWS X-Ray
  • Instrument your application code to use AWS X-Ray capabilities
  • Enable your application deployment package to generate logs
  • Understand the key components of an AWS SAM template and deploy your application
  • Create AWS X-Ray service maps to observe end-to-end processing behavior of your application
  • Analyze and debug application issues using AWS X-Ray traces and annotations

Course Mode

Instructor-Led Remote Live Classroom Training;

Trainers

Trainers are Amazon AWS accredited instructors and certified in other IT technologies, with years of practical experience in the sector and in training.

Lab Topology

For all types of delivery, the participant can access the equipment and actual systems in our laboratories or directly in international data centers remotely, 24/7. Each participant has access to implement various configurations, Thus immediately applying the theory learned. Below are some scenarios drawn from laboratory activities.

Course Details

Course Prerequisites

  • Attendance at the  AWS Cloud Practitioner Essentials Course , and the  AWS Technical Essentials Course ; Programming experience in at least one language. Attendance at the  Python Developer Course is recommended .

Course Duration

Intensive duration 3 days;

Course Frequency

Course Duration: 3 days (9.00 to 17.00) - Ask for other types of attendance.

Course Date

  • Developing  on AWS Course  (Formula Intensiva) – On Request – 9:00 – 17:00

Steps to Enroll

Registration takes place by asking to be contacted from the following link, or by contacting the office at the international number +355 45 301 313 or by sending a request to the email info@hadartraining.com