Pengantar
Dalam berbagai layanan AWS yang luas, Amazon ECS, sebuah layanan orkestrasi kontainer, telah mendapatkan perhatian sebagai dasar pengembangan aplikasi modern. ECS adalah layanan yang dikelola yang dirancang untuk memfasilitasi operasi kontainer, dan saat menggunakan ECS, pengguna harus memutuskan antara dua opsi data plane: ECS di EC2 dan ECS di Fargate. Artikel ini membandingkan opsi EC2 dan Fargate untuk data plane dari ECS.
ECS di EC2
Dalam arsitektur ECS di EC2, ECS berfungsi sebagai plane kontrol, sementara EC2 berfungsi sebagai plane data. Tugas ECS diluncurkan pada instans EC2, di mana kontainer dieksekusi.
Pertimbangan Biaya
Biaya menggunakan ECS di EC2 terutama terdiri dari dua bagian:
-
Biaya Penggunaan Layanan
Ini berkaitan dengan penggunaan instans EC2 dan volume EBS. Secara khusus, instans EC2 dikenakan biaya berdasarkan waktu mereka berjalan. Perencanaan kapasitas yang tepat dapat membantu mengelola biaya secara efektif. -
Biaya Operasional
Ini termasuk biaya yang terkait dengan pemeliharaan instans EC2. Tugas seperti menerapkan pembaruan OS dan patch keamanan menjadi tanggung jawab pengguna.
Skalabilitas
ECS di EC2 menawarkan fitur-fitur skalabilitas berikut:
-
Kecepatan Penyampaian
Menyimpan cache gambar pada host EC2 memungkinkan penyampaian cepat kontainer baru. -
Skalabilitas Horizontal
Skalabilitas terbatas pada kapasitas yang dialokasikan, sebagaimana ditentukan oleh perencanaan kapasitas. -
Ekspansi Sumber Daya
Menyesuaikan ukuran instans EC2 atau memilih keluarga instans memungkinkan modifikasi dan ekspansi sumber daya dengan mudah.
Keandalan
Pemecahan masalah operasional dan penyelidikan masalah pada EC2 memungkinkan melalui:
-
Akses SSH
Jika masalah muncul, pengguna dapat mengakses langsung instans EC2 melalui SSH untuk penyelidikan. -
System Manager
AWS System Manager memungkinkan akses ke instans EC2 tanpa menggunakan SSH.
ECS di Fargate
Dalam ECS di Fargate, ECS berfungsi sebagai plane kontrol, dan Fargate berperan sebagai plane data. Dengan konfigurasi ini, pengelolaan server fisik menjadi tidak diperlukan, dan Tugas ECS dapat dieksekusi langsung di Fargate.
Pertimbangan Biaya
Biaya yang terkait dengan menggunakan ECS di Fargate berkaitan dengan faktor-faktor berikut:
-
Biaya Penggunaan Layanan
Ini terutama melibatkan biaya penggunaan Fargate. Biaya dikenakan berdasarkan penggunaan sumber daya vCPU dan memori. Periode penagihan dimulai dari pengambilan gambar hingga Tugas ECS berakhir. Biaya penggunaan umumnya sekitar 20-30% lebih tinggi dibandingkan dengan EC2. -
Biaya Operasional
Karena sifatnya yang tanpa server, biaya yang terkait dengan pemeliharaan dan manajemen infrastruktur tradisional secara signifikan berkurang.
Skalabilitas
ECS di Fargate menawarkan karakteristik skalabilitas berikut:
-
Kecepatan Penyampaian
Setiap kontainer terkait dengan Antarmuka Jaringan Elastis (ENI), yang menyebabkan laten sedikit pada saat tertentu. Selain itu, absennya penampungan gambar mengharuskan pengambilan gambar dengan setiap peluncuran kontainer. -
Skalabilitas Horizontal
Fargate secara otomatis menangani penyediaan sumber daya, memungkinkan skalabilitas cepat.
Keandalan
Pemecahan masalah operasional dan penyelidikan masalah pada ECS di Fargate memungkinkan menggunakan ECS Exec. ECS Exec memungkinkan menjalankan perintah langsung pada kontainer yang berjalan di Fargate.
Memilih Antara EC2 dan Fargate
EC2 dan Fargate masing-masing memiliki kasus penggunaan yang berbeda.
Perlu Menyimpan Jumlah Data Besar Secara Lokal
Beberapa aplikasi, terutama yang melibatkan konsep seperti blockchain, memerlukan penyimpanan jumlah data yang signifikan secara lokal. Dalam kasus seperti ini, EC2 cocok karena fleksibilitas dan skalabilitas penyimpanan fisiknya.
Kebutuhan untuk Pembelajaran Mesin
Pelatihan model pembelajaran mesin dan inferensi memerlukan sumber daya komputasi yang substansial. Terutama ketika perangkat keras khusus seperti GPU diperlukan, pemilihan jenis instans EC2 dapat memenuhi persyaratan ini. Karena Fargate saat ini tidak mendukung GPU, EC2 lebih cocok untuk kasus penggunaan seperti ini.
Keinginan untuk Efisiensi Sumber Daya Tinggi
Mencapai "efisiensi sumber daya tinggi" saat menjalankan layanan di EC2 mengacu pada penggunaan CPU dan memori yang dialokasikan tanpa pemborosan. Spesifikasi yang optimal dari jenis instans berdasarkan kebutuhan pemrosesan sangat penting untuk mencapai efisiensi sumber daya tinggi. Fargate menghilangkan kebutuhan untuk menentukan jenis instans, karena secara otomatis mengoptimalkan sumber daya.