[Report]Running containerized workloads on AWS Graviton–based instances#Chalk Talk #reinvent

2022.12.09

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Hello, I'm Aayush Jain

This Time at Reinvent session held from November 28 to December 2nd, 2022, "  - " I've attended a Chalk talk so I'll report.on containerized workload on graviton instance

Session Overview

This is a Chalk Talk about "Running containerized workloads on AWS Graviton–based instances".

Containers are the easiest way to take advantage of AWS Graviton’s unparalleled price performance. In this chalk talk, learn how to build, test, and deploy containers for AWS Graviton using a multi-architecture approach that allows you the maximum flexibility to deploy anywhere on AWS with Amazon ECS, Amazon EKS, and AWS Fargate. The talk also provides techniques to help you migrate your existing containers to AWS Graviton.

 

Speakers

Seth Fox, Sr. Manager Solutions Architecture, Amazon Web Services
Michael Fischer, Principal Specialist SA, AWS

 

Session Level

400  - Expert

 

Session type

Chalk Talk

Report

What is AWS Graviton-based instances ?

AWS Graviton is a type of processor specifically designed to run workloads on AWS. It is based on the Arm architecture, a type of RISC (Reduced Instruction Set Computing) architecture designed to be efficient and scalable. AWS Graviton-based instances are designed to provide high-performance, cost-effective computing for a variety of workloads, including web and application servers, game servers, and high-performance computing (HPC) applications. These instances are available in a variety of sizes, from small to large, to meet the needs of different workloads.

Why AWS graviton ?

There are several reasons to use Graviton-based instances of AWS. The main advantages of these instances are as follows
High performance.AWS Graviton-based instances are designed to provide high performance and low latency for a variety of workloads. They are especially suited for compute-intensive workloads such as web servers, application servers, game servers, and HPC applications.
Cost-effectiveness Because AWS Graviton-based instances are based on the Arm architecture, they are more cost-effective than other instances based on the x86 architecture. This means you can reduce compute costs while getting the performance you need.
Ease of Use AWS Graviton-based instances are easy to use and integrate with other AWS services. This means that workloads can be deployed and managed on these instances quickly and easily, without requiring specialized knowledge or expertise.

Wide range of sizes:

AWS Graviton-based instances are available in a wide range of sizes, from small to large, to meet the needs of different workloads. This means that you can choose the instance size that is right for your particular workload and scale up or down as needed.

Customer story:

I use snapchat daily and Mr. Seth showed how snap inc is using graviton and reducing costs by moving to a graviton based instance.

Techniques to help you migrate your existing containers to AWS Graviton

There are several techniques that you can use to help you migrate your existing containers to AWS Graviton-based instances. Some of these techniques include:

  1. Use multi-architecture manifests: As mentioned earlier, a multi-architecture manifest is a manifest file that is used to define a Docker image that can be run on multiple architectures. By using a multi-architecture manifest, you can create a single Docker image that can be run on both x86 and Arm architectures, which will allow you to migrate your existing containers to AWS Graviton-based instances without the need to rebuild your images.

 

  1. A multi-architecture build pipeline is a process for building and deploying software that runs on multiple architectures, such as x86 and Arm. Multi-architecture build pipelines combine continuous integration (CI) and continuous delivery (CD) tools to build software for multiple architectures in parallel. This allows developers to create a single build process that can produce deliverables for multiple architectures without the need to maintain separate build processes for each architecture.

  1. AWS Elastic Container Service (ECS) is a fully managed container orchestration service that allows you to run, manage and scale containers on AWS ECS makes it easy to migrate existing containers to AWS Graviton-based instances by specifying the instance types required for ECS tasks and service definitions ECS automatically launches the required number of Graviton instances and stores containers in placed on these instances.

Questions and Answers:

Q : what is the architecture of graviton

Ans: 64 cores full mesh no numa "non  uniform memory architecture" with no Symmetric multi-threading

Q: do i need to use node affinity to multi-architecture

Ans: Node affinity is a technique that is used in container orchestration to specify the conditions under which a particular container should be scheduled on a particular node (i.e., a physical or virtual machine) in a cluster. Node affinity is typically used to ensure that a container is placed on a node that meets certain requirements, such as having the required hardware or software resources. In the context of multi-architecture environments, you may need to use node affinity to ensure that a container is placed on a node that has the desired architecture.

Q. .net core runs on Arm64

Ans: it runs

Q: i want to migrate to graviton but i don't know if our depedency ready  for

Ans: Instead of migrating the entire load directly to GRAVITON, test with a small load and migrate gradually.

Q: when i should not use graviton?

Ans: when your workload only scale vertically and your workload dont benifits form HPC

Summary

Overall, a multi-architecture manifest, AWS CLI or AWS SDK, and AWS ECS can simplify the process of migrating existing containers to AWS Graviton-based instances. These tools and services can help automate the process and facilitate the management and scaling of containers on these instances. Graviton instances are fast and integrate well with AWS, so we would definitely consider using Graviton-based instances.