Modernizing Applications for the Cloud Era — AWS App2Container

Govind Kumar
axcess.io
Published in
3 min readOct 3, 2023

Introduction: In today’s fast-paced digital landscape, businesses are constantly seeking ways to streamline their application development processes and reduce operational costs. One solution that has gained significant traction is containerization. AWS App2Container (A2C) is an innovative offering from Amazon Web Services that simplifies the transformation of Java and .NET web applications into container formats, facilitating application modernization. In this blog post, we’ll delve into the key benefits of A2C and explore how it works, the types of applications it supports, and its limitations.

Streamlining Application Development and Operational Skills:

The first advantage of using AWS App2Container is its ability to help organizations save on infrastructure and training costs. Traditional application migration and modernization can be complex and resource-intensive. However, A2C streamlines this process by automating many tasks. This eliminates the need for extensive training and minimizes the risk of errors during the migration process. As a result, development teams can focus on building innovative features rather than spending valuable time on migration intricacies.

Accelerating Modernization with Automatic Analysis:

Another standout feature of A2C is its automatic analysis of applications and autogenerated container images. When organizations decide to modernize their applications, they often face the daunting task of manually assessing dependencies, network ports, and configurations. A2C simplifies this process by conducting a thorough analysis of the selected application. It identifies dependencies, including cooperating processes and network port dependencies, and generates container images automatically. This automation not only accelerates the modernization journey but also reduces the likelihood of configuration errors.

Containerize Applications Without Code Changes:

One of the most compelling aspects of AWS App2Container is its ability to containerize applications without requiring code changes. This means that legacy applications running in various environments, such as on-premises data centres, virtual machines, or Amazon EC2 instances, can be seamlessly transformed into containers. This approach ensures that existing code investments are preserved while gaining the benefits of containerization, such as portability and resource utilization.

How AWS App2Container Transforms Applications:

Let’s dive into the technical details of how A2C transforms applications into containers:

  1. Inventory and Analysis: A2C begins by building a comprehensive inventory of ASP.NET and Java applications across different environments. It then conducts a detailed analysis to identify dependencies and network port requirements.
  2. Container Image Generation: Once the analysis is complete, A2C generates container images for the selected applications. For ASP.NET applications, it packages them into Windows containers, while Java applications are packaged into Linux containers.
  3. Integration with AWS Services: A2C seamlessly integrates with various AWS services, including Amazon Elastic Container Registry (ECR), Amazon ECS, and Amazon EKS. It generates ECS task definitions and Kubernetes deployment YAML files, following AWS best practices for security and scalability.
  4. Infrastructure Configuration: A2C doesn’t stop at containerization; it also generates CloudFormation templates to configure the necessary compute, network, and security infrastructure. This ensures a smooth deployment of containerized applications in the AWS cloud.

Supported Application Types:

AWS App2Container currently supports the following application types:

  1. ASP.NET (.NET 3.5+) web applications running in IIS 7.5+ on Windows, which are packaged with Windows containers.
  2. Java applications running on Linux standalone environments like JBoss, Apache Tomcat, and generic Java applications (e.g., Spring Boot, IBM WebSphere, Oracle WebLogic), packaged with Linux containers.

Advantages of Containerization:

Before we wrap up, let’s highlight the advantages of running applications in containers:

  • Portability: Containers enable applications to run consistently across different environments, making them highly portable and reducing compatibility issues.
  • Resource Utilization: Containers are lightweight and share the underlying host OS, leading to efficient resource utilization and cost savings.
  • Simplified Setup: Containers encapsulate all application dependencies, eliminating the need for complex setup and configuration processes.

Conclusion: In conclusion, AWS App2Container is a powerful tool for modernizing legacy applications by transforming them into containers. It streamlines the migration process, accelerates modernization efforts, and allows organizations to leverage the benefits of containerization. By supporting both .NET and Java applications across various environments, A2C provides a versatile solution for businesses seeking to embrace container technology. If you’re looking to modernize your applications and optimize your infrastructure, AWS App2Container is a valuable tool to consider.

--

--

Govind Kumar
axcess.io

Technology Evangelist | AWS Golden Jacket | Practice Lead Cloud Migration @Axcess IO | Cloud Arch. | RHC(SA/E) | AWS (DevOps/Sol. Arch) — Pro. | CCNA