Recommended .NET base container image for running containerized console apps on EKS with Graviton 2 or 3 (considering .Net base image Lambda, but do not use or plan to use Lambda)

0

Looking to Identify if there is a recommended .Net base image for console apps running on EKS containers while utilizing Graviton (Newly launched). Have considered using .Net Lambda base image due to it being managed by AWS and would prefer this route however there is no plan to deploy or utilize lambda functions. Would this be an issue or down sides to consider? In regards to support such as long time support, it wont be a concern as there is a plan to update to the newest versions to stay up to date for security reason.

3 Answers
0

For running containerized .NET console applications on Amazon EKS with Graviton 2 or 3 processors, there are a few considerations to keep in mind.

While using the .NET Lambda base image is possible, it's not the most optimal choice for your use case since you're not planning to use Lambda functions. The Lambda base images are specifically optimized for serverless environments and include components that may not be necessary for your EKS deployment.

Instead, it's recommended to use a more general-purpose .NET base image that's compatible with ARM64 architecture, which is what Graviton processors use. You can consider using the official Microsoft .NET SDK or runtime images that support ARM64.

To take advantage of Graviton instances, you should create multi-architecture container images or target the ARM architecture during the compile step. This will ensure your application is optimized for the Graviton processors.

When building your container image, you can use a multi-stage build process. Start with the .NET SDK image for compilation, and then copy the compiled application to a smaller runtime image for the final container. This approach helps reduce the overall size of your container image.

Regarding long-term support and security updates, your plan to regularly update to the newest versions is a good approach. This will ensure you have access to the latest security patches and performance improvements.

By using Graviton instances for your .NET applications, you can potentially benefit from significant cost savings (up to 45% in some cases) and performance improvements. Graviton 3, the latest generation, offers even better efficiency and performance compared to equivalent x86 instances.

Remember to test your application thoroughly on the ARM64 architecture to ensure compatibility and optimal performance. Also, make sure to use the appropriate EKS node groups that support Graviton instances when deploying your containers.
Sources
Deploy .NET Lambda functions with container images - AWS Lambda
Use Graviton instances and containers - AWS Prescriptive Guidance
Running .NET Applications in the AWS Cloud - Developing and Deploying .NET Applications on AWS

profile picture
answered 5 days ago
profile picture
EXPERT
reviewed 5 days ago
0

In my experience, I see everyone use Alpine as the base image for .NET applications

profile picture
EXPERT
answered 5 days ago
0

I would recommend Alpine base image for ARM64. What kind of application are you planning to run Console Apps or Web Apps

answered 4 days ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions