AWS App2Container and .NET Workloads

COURSE OVERVIEW

Module 1: Preparation Guide

 LEARNING MODULE

Overview

The App2Container badge demonstrates proficiency with the AWS App2Container (A2C) modernization tool. This preparation guide explains what you need to know to pass the assessment, topic by topic, with resources you can review. You should also have hands-on experience using the tool, either with your own applications or an AWS workshop.

Once you have prepared, advance to Module 2 to take the assessment exam.

Purpose

AWS App2Container (A2C) helps you containerize and migrate existing applications to AWS. A2C is a command line tool you can use to you lift and shift applications that run in your on-premises data centers or on virtual machines, and run them in containers that are managed by Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS), or AWS App Runner.

Infographic: App2Container
A2C User Guide: What is AWS App2Container?
Hello App2Container

Benefits

With App2Container, you can save on infrastructure and training costs, accelerate modernization, and containerize applications without code changes.

AWS App2Container product detail pages

Use Cases

Use cases for A2C include the following:

  • Maintain legacy applications and achieve cost benefits
  • Automate application provisioning
  • Build and deploy containers

AWS App2Container product detail page - Use cases

Supported Applications

App2Container supports Java applications on Linux, ASP.NET (.NET Framework) on Windows, and ASP.NET Core applications on Linux.

  1. .NET Framework ASP.NET IIS web applications can run in Windows Containers on Amazon ECS or Amazon EKS.
  2. Modern .NET web applications can run in Linux Containers on AWS App Runner, Amazon ECS, or Amazon EKS.
  3. Java applications can run in Linux Containers on AWS App Runner, Amazon ECS, or Amazon EKS.

A2C User Guide: Applications you can containerize using AWS App2Container

Process

There is a 4-step process to using App2Container:

  1. Discover and analyze: create application inventory and analyze runtime dependencies
  2. Extract and containerize: Extract an application with dependencies and create a Docker image.
  3. Create deployment artifacts: Generate the Amazon ECS task and Kubernetes pod definitions, and create CI/CD pipelines.
  4. Deploy to AWS: Store the image in Amazon ECR, and deploy to Amazon ECS or Amazon EKS.

AWS App2Container product detail page - How it works
A2C User Guide: How App2Container works

Features

You should understand these features:

  1. Application inventory: App2Container identifies the supported ASP.NET and Java applications running in a virtual machine to build a comprehensive inventory all applications in your environment.
  2. Detailed Dependency Analysis: App2Container analyzes the running application and identifies dependencies including known cooperating processes and network port dependencies.
  3. Seamless deployment: App2Container generates ECS task definitions and Kubernetes deployment YAML for the containerized application following the AWS best practices for security and scalability by integrating with various AWS services such as ECR, ECS, and EKS.
  4. Built-in integration with automation pipelines: App2Container creates CI/CD pipelines for Amazon DevOps services such as CodeBuild and CodeDeploy to build and deploy containers.
  5. Automated application provisioning: App2Container generates CloudFormation templates that configure required compute, network, and security infrastructure to seamlessly deploy containerized applications in AWS.
  6. Modernize a wide range of applications from many sources: App2Container can containerize applications running on-premises, in VMs, in Amazon EC2, or in other clouds.

App2Container Features

Commands

You should know the different app2container commands and their options.

  1. app2container analyze analyzes the specified application and generates a report.
  2. app2container containerize creates a Docker container image for your application.
  3. app2container extract generates an application archive for the specified application.
  4. app2container generate app-deployment generates the artifacts needed to deploy your application container in AWS.
  5. app2container generate pipeline generates the artifacts that you need to create a CI/CD pipeline with CodePipeline, Jenkins, or Microsoft Azure DevOps services.
  6. app2container help lists the commands for App2Container, grouped into the phases where they would normally run.
  7. app2container init performs one-time initialization tasks for App2Container.
  8. app2container inventory records all Java or .NET processes (Linux) or all IIS websites and Windows services (Windows) that are running on the application server.
  9. app2container remote analyze analyzes the specified application on the target application server, and generate a report.
  10. app2container remote configure runs on a worker machine to configure the connections needed to run remote workflows on application servers.
  11. app2container remote extract runs on a worker machine to generate an application archive for the specified application on the target application server.
  12. app2container remote inventory runs on a worker machine to retrieve an inventory of all Java or .NET processes (Linux) or all IIS websites and Windows services (Windows) that are running on the specified application server.
  13. app2container upgrade upgrades your existing installation of App2Container.
  14. app2container upload-support-bundle assists troubleshooting by securely uploading App2Container logs and supporting artifacts to the AWS App2Container support team.

A2C User Guide: App2Container command reference

Hands-on Experience

You should have experience using App2Container to containerize and deploy one or more applications to AWS. You can use the workshop below if you don’t have an application to work with.

Modernize with AWS App2Container Workshop: Containerize your .NET App

 AWS Experience

Beginner or Intermediate

 .NET Experience

Intermediate

 Time to Complete

Up to 3 hours depending on prior experience

 Cost to Complete

$10 USD

 Services Used

Amazon ECS and AWS Fargate, Amazon Elastic Container Registry (ECR), Amazon DynamoDB, Amazon VPC

 Last updated

April 28, 2022

Was this page helpful?

Modules

This tutorial is divided into the following modules. You may go through the modules fully, or skim and review, based on your experience and readiness.

  1. Preparation Guide (3 hours).
  2. Skills Assessment (16 questions, not timed): Assess your AWS App2Container tool for .NET workloads skills.

Skills Assessment