Korábbi helyemen csináltunk ilyet.
A CPU teljesítmény kb egy szinten volt a mi workloadjaink esetén mint az x86-os esetben. Mivel a Graviton még az AMD-nél is olcsóbb volt, így hatékonyságban az volt a legjobb.
Mi nem futottunk bele egy ARM64 specifikus bugba sem azokkal a containerekkel amiket migráltunk.
A legnagyobb szívás egy olyan 3rd party kóddal volt amit már nem fejlesztettek, mi is épp kivezettük, de egy fél évig még életben kellett tartani és DaemonSet-ként futott minden node-on. Ehhez kellett saját build container és pipeline. A saját cuccokat a fejlesztő csapatok migrálták (volna), ők azt mondták hogy csak bebökték hogy kérnek ARM64 image-et is és kész is volt.
A Kubernetes clusterben minden node-on volt egy CPU architektúra label és emellett a Graviton instance-okon egy Taint is hogy a még nem migrált containerek ne kerüljenek oda. Így egy Deployment preferálhatott Graviton instance-t (affinity), illetve jelezhette hogy azokon is el tud futni (toleration). Nem volt bonyolult.
Végül nem lett teljes migráció mert... nem tudom. A management minden magyarázat nélkül dobta az egészet. Ez egy ilyen szakma...
A spot instance-ok kilövési rátáját meg tudod nézni a https://aws.amazon.com/ec2/spot/instance-advisor/ oldalon. Függ a régiótól és a konkrét instance type-tól is.
Összességében ha nem túl nagy az effort akkor megéri váltani mert olcsóbb és hatékonyabb, de csodát azért ne várj. Mi egy olyan max 10%-os megtakarítást számoltunk az EC2 költségen.