What’s in a name? That which we call a rose by any other name would smell as sweet

  • William Shakespeare

Pendahuluan


AWS EC2 (Elastic Compute Cloud) adalah salah komponen di AWS yang sering digunakan ketika kita mendeploy aplikasi yang masih berbasiskan server.

Lebih tepatnya berbasiskan Virtual Machine, yang nanti dikelola diatasnya oleh Hypervisor.

Pendekatan ini adalah pendekatan awal ketika kita melakukan migrasi dari Server Fisik atau Virtual Machine (VM) yang ada di On Premisi/Private Data Center ke Cloud AWS.

Inisiasi awalnya tentunya dengan melakukan pencocokan spesifikasi antara VM yang di On Premise dengan spesifikasi yang ada di tipe AWS EC2 Instance.

Banyak sekali tipe EC instance yang disediakan oleh AWS.

Misalnya :

  • tipe instance m6a
  • tipe instance c6gn
  • tipe instance g5g
  • tipe instance t3a.xlarge
  • tipe instance m5.metal
  • tipe instance m6in.xlarge
  • tipe instance u-3tb1.56xlarge
  • tipe instance inf2.xlarge
  • dll.

Tentunya kita pada awalnya akan bingung menentukan tipe mana yang cocok dengan banyaknya alternatif tersebut.

Tentunya bukan seperti kata William Shakespeare diatas :

Apalah arti sebuah nama ? walaupun kita memberi nama yang berbeda untuk bunga Mawar, ia tetaplah bunga yang wangi semerbak.

  • William Shakespeare

Menentukan tipe EC2 instance bukanlah hanya dengan perasaan saja.

Tetapi tentunya dengan mencobanya, melihatnya, merabanya, menerawangnya.

Haalah.., kok bergesar menjadi uji keaslian uang Rupiah baru 😱 .

Ok..kembali ke topik.

Di dunia teknikal, penamaan EC2 instance ini tentunya perlu ada maknanya, agar dengan sekilas melihatnya, bisa ditentukan apakah tipe EC2 Instance ini bisa menjadi kandidat yang cocok dengan spesifikasi yang sudah kita punyai di server On Premise.



Mari kita mulai !!!


Format dari penamaan Tipe EC2 Instance adalah sebagai berikut :

Kita ambil contoh salah satu tipe instance : c6gd.12xlarge


c 6 g d . 12x large

Penjelasannya :

  • Kode c adalah kode Instance Family

  • Kode 6 adalah kode Instance Generation

  • Kode g adalah kode Processor Family

  • Kode d adalah kode Additional Capability

  • Kode . adalah titik pemisah antara spesifikasi dengan ukuran EC2 instance.

  • Kode 12xlarge adalah kode Ukuran Instance


Untuk kasus diatas, yaitu c6gd.12xlarge, maka tipenya adalah :

  • c adalah kode Instance Family untuk VM yang butuh komputasi/CPU/(compute) yang bagus dan lebih banyak.
  • 6 adalah kode Instance Generation untuk generasi CPU generasi 6.
  • g adalah kode Processor Family untuk prosesor AWS Graviton (tipe ARM) yang dirancang oleh Amazon.
  • d adalah kode Additional Capability menggunakan Non-Volatile Memory Express (NVMe) solid-state drive (SSD) storage.
  • 12xlarge adalah kode Ukuran Instance sebesar 12 kali dari spesifikasi dari ukuran standarnya.

Ada lagi detail yang lain untuk tipe-tipe diatas ?

Tentu saja, kalau kita lihat di offial web nya AWS, maka ada beberapa tipe untuk tiap-tiap kategori diatas :



Instance Family


  • C - optimasi komputasi
  • D - dense storage
  • F — FPGA
  • G - Grafis intensif
  • Hpc - Komputasi kinerja tinggi
  • I - Penyimpanan dioptimalkan
  • Inf — AWS Inferensia
  • M - Spesifikasi umum
  • Mac — macOS
  • P - GPU dipercepat
  • R - Memori dioptimalkan
  • T - Burstable.
  • Trn — Tranium AWS
  • U - Memori tinggi
  • VT - Transkode video
  • X - Memori intensif


Processor Family



  • a - Prosesor AMD
  • g - Prosesor AWS Graviton
  • i - Prosesor Intel


Additional Capability



  • d - Local NVMe SSD storage
  • n - Jaringan dan EBS dioptimalkan
  • e - Penyimpanan atau memori ekstra
  • z - Kinerja tinggi
  • flex – Flex instance

Jadi dari kombinasi penamaan tipe EC2 intance diatas, maka kita bisa memilih sebenarnya, apakah aplikasi kita membutuhkan :

  • Komputasi yang lebih banyak dibandingkan memori ?
  • Perlu memori yang banyak karena misalnya banyak microservice di dalam sebuah VM ?
  • perlu harga CPU yang lebih murah dibandingkan dengan prosesor Intel yang cukup mahal ?
  • Aplikasi kita merupakan aplikasi streaming video ?
  • Atau aplikasi kita memiliki karakteristik memiliki permintaan yang melonjak secara tiba-tiba, misalnya di waktu flash sale atau ticket war ?
  • Atau aplikasi kita sebenarnya lebih banyak melakukan rendering grafis ?
  • dll

Dari daftar spesifikasi Instance Family , Processor Family, dan Additional Capacity diatas, maka kita dapat memilih tipe mana yang cocok dengan aplikasi kita.

Ok, kita geser ke artikel selanjutnya untuk detailnya.