Jenis instance AWS EC2: Tantangan dan praktik terbaik untuk menghosting aplikasi Anda di AWS

Mitra bisnis yang merencanakan strategi baru

Ketika datang ke hosting aplikasi di Amazon Web Services (AWS), salah satu keputusan terpenting yang perlu Anda buat adalah jenis instance Amazon Elastic Compute Cloud (EC2) mana yang harus dipilih. Instance EC2 adalah mesin virtual yang memungkinkan Anda menjalankan aplikasi di AWS. Instance datang dalam berbagai ukuran dan konfigurasi—dikenal sebagai keluarga instance—masing-masing dirancang untuk tujuan tertentu. Memilih penawaran instance dan ukuran instance yang tepat untuk aplikasi Anda sangat penting untuk mengoptimalkan kinerja dan mengurangi biaya. Namun, karena profil permintaan setiap aplikasi unik — dan dapat berubah seiring waktu — tugas ini jauh lebih mudah dinyatakan daripada diselesaikan. Instance 2xlarge dari keluarga tertentu mungkin tidak diperlukan, tetapi ketika tim aplikasi melakukan operasi cloud dengan mempertahankan waktu aktif, ukuran instance yang lebih besar dan lebih mahal menjadi menarik — yaitu, sampai tagihan cloud melonjak.

Dalam postingan blog ini, kami akan Jelajahi tantangan dalam memilih jenis instance Amazon EC2 terbaik untuk aplikasi Anda dan memberi Anda beberapa praktik terbaik tentang cara membuat keputusan yang tepat. Selain itu, kami akan menjelaskan bagaimana solusi seperti IBM Turbonomic dapat membantu ukuran yang tepat aplikasi cloud AWS Anda menggunakan machine learning, auto-scaling, dan Otomatisasi. Jika Anda terbiasa dengan Turbonomic dan ingin mulai mengoptimalkan lingkungan AWS Anda sekarang, mul ailah uji coba 30 hari gratis Anda hari ini.

Memahami Jenis Instance Amazon EC2

instance EC2 diklasifikasikan berdasarkan karakteristiknya seperti CPU, memori, penyimpanan, dan kapasitas jaringan. Setiap jenis instance dirancang untuk mengoptimalkan beban kerja tertentu seperti komputasi tujuan umum, aplikasi intensif memori, atau tugas komputasi intensif. Berikut adalah beberapa contoh tipe instance EC2 dan contoh penggunaan utamanya:

  • Instance Tujuan Umum (seri A, T, M, dan C): Jenis instance tujuan umum dirancang untuk berbagai beban kerja, termasuk server web, basis data kecil, dan lingkungan pengembangan dan pengujian. Grup ini mencakup instance m5, generasi terbaru instance Tujuan Umum yang didukung oleh prosesor Intel Xeon® Platinum 8175M atau 8259CL. instance ini memberikan keseimbangan sumber daya komputasi, memori, dan jaringan, dan merupakan pilihan yang baik untuk banyak aplikasi.
  • Instance yang Dioptimalkan Komputasi (seri C dan R): Berbagai instance ini dibuat untuk beban kerja komputasi ekstrem, mulai dari komputasi dengan kinerja tinggi hingga pemrosesan batch dan pemodelan ilmiah. Berbagai instance ini memaksimalkan daya komputasi menggunakan GPU dan CPU dengan jumlah inti yang tinggi.
  • Instance yang Dioptimalkan Memori (seri X, Z, dan R): instance memori tinggi ini dioptimalkan untuk beban kerja intensif memori seperti basis data berkinerja tinggi, cache dalam memori terdistribusi, dan pemrosesan data waktu/analitik big data.
  • Instance yang Dioptimalkan penyimpanan (seri I, D, dan H): Berbagai instance ini dioptimalkan untuk beban kerja intensif penyimpan seperti big data, pergudangan data, dan pemrosesan log. Solusi ini memanfaatkan caching berkapasitas tinggi dan solid state drives (SSD) untuk mendukung aktivitas baca dan tulis yang intens dari beban kerja.

Tantangan dalam Memilih Jenis Instance EC2 yang Tepat

Memilih jenis instance EC2 yang tepat untuk aplikasi Anda bisa menjadi tugas yang menakutkan. Berikut adalah beberapa tantangan yang mungkin Anda hadapi:

  • Kompleksitas: Dengan begitu banyak penawaran instance untuk dipilih, mungkin sulit untuk menentukan mana yang paling cocok untuk aplikasi Anda. Amazon juga rutin merilis tipe instance baru, sehingga instance yang cocok untuk aplikasi Anda sekarang mungkin tidak lagi menjadi pilihan terbaik beberapa bulan mendatang.
    • Bagaimana Turbonomic membantu: Turbonomic terus menyerap spesifikasi seluruh katalog layanan AWS dan memetakan profil konsumsi sumber daya beban kerja Anda—baik puncak dasar maupun berbasis persentil—ke jenis instance yang paling sesuai.
  • Jenis Beban Kerja: Jenis beban kerja apa yang akan dijalankan aplikasi Anda? Apakah ini beban kerja komputasi intensif, atau memerlukan banyak memori atau kapasitas penyimpanan? Setelah Anda memiliki pemahaman yang jelas tentang beban kerja Anda, Anda dapat mempersempit opsi menjadi jenis instance yang dioptimalkan untuk beban kerja Anda.
  • Persyaratan Kinerja: Apakah Anda memerlukan jenis instance berkinerja tinggi untuk menangani beban kerja besar atau jenis instance yang lebih kecil untuk menangani beban kerja ringan? Apakah beban kerja ini digunakan untuk aplikasi latensi rendah pelanggan yang membutuhkan respons cepat, atau hanya untuk aplikasi administrasi internal? Persyaratan lokalitas data apa yang harus Anda patuhi? Perlu diingat bahwa kinerja jenis instance dapat bervariasi bergantung pada wilayah dan pola penggunaan aplikasi Anda.
    • Cara Turbonomic bekerja: Menentukan jenis beban kerja di seluruh lingkungan hosting adalah tugas yang signifikan, tetapi menjadi mudah dengan bantuan perangkat lunak pengoptimalan biaya cloud. Turbonomic secara otomatis mendeteksi penggunaan saat ini dan historis dari vCPU, memori, akses penyimpanan (IOPS), throughput jaringan, throughput I/O, kapasitas penyimpanan, cakupan instance yang disediakan, vMemory basis data, vCPU basis data, kapasitas penyimpanan basis data, throughput I/O basis data, inventaris RI, dan cakupan RI—serta menentukan kelompok instance dan tipe instance terbaik untuk mendukung workload tersebut.
  • Skalabilitas: Anda perlu memastikan bahwa jenis instance yang Anda pilih dapat menaikan atau menurunkan skala sesuai kebutuhan untuk menangani perubahan lalu lintas dan beban kerja. Selain itu, Anda perlu mengetahui bagaimana aplikasi yang akan dihosting oleh setiap instance EC2 dirancang untuk menskalakan. Jika aplikasi terdiri dari layanan mikro, skalabilitas dan persyaratan kinerja harus dipertimbangkan bersama.
    • Bagaimana Turbonomic membantu: Bergantung pada bagaimana setiap aplikasi dirancang untuk menskalakan, Turbonomic dapat mendorong tindakan naik/menurunkan skala paling ekonomis yang tersedia, serta memastikan tindakan naik/turunnya kapasitas dilakukan dengan cara yang paling hemat biaya.
  • Biaya: Biaya adalah salah satu pertimbangan dan tantangan paling penting saat memilih jenis instance EC2. Anda perlu mempertimbangkan biaya per jam dari jenis instance, serta biaya tambahan apa pun untuk transfer data, penyimpanan, dan layanan AWS lainnya. Selain itu, berbagai model Harga termasuk instance yang disediakan dan paket hemat menambah kompleksitas perhitungan biaya.

Praktik Terbaik untuk Memilih Jenis instance EC2 Terbaik

Sekarang setelah Anda memahami tantangan paling umum dalam memilih instance EC2 terbaik, berikut adalah beberapa praktik terbaik yang kami dorong untuk diikuti oleh klien dan mitra kami.

1. Pahami Beban Kerja Anda

Langkah pertama dan terpenting dalam memilih jenis instance EC2 yang tepat adalah memahami beban kerja Anda. Setiap aplikasi memiliki persyaratan yang berbeda dalam hal CPU, memori, jaringan, dan penyimpanan, dan penting untuk mengetahui apa yang dibutuhkan aplikasi Anda untuk berjalan dengan lancar.

Misalnya, jika Anda menjalankan aplikasi basis data, Anda mungkin memerlukan sejumlah besar RAM untuk menangani kueri secara efisien. Di sisi lain, jika Anda menjalankan aplikasi komputasi intensif, Anda mungkin memerlukan CPU berkinerja tinggi.

Untuk memahami workload Anda secara lebih mendalam, Anda dapat menggunakan AWS CloudWatch atau berbagai solusi monitoring pihak ketiga untuk mengumpulkan data penggunaan sumber daya. Data ini kemudian dapat digunakan untuk menentukan jenis instance yang optimal untuk aplikasi Anda.

2. Pertimbangkan CPU

CPU adalah salah satu komponen paling penting dari instance EC2, karena menentukan kekuatan pemrosesan instance. Jika aplikasi Anda membutuhkan kinerja CPU yang tinggi, Anda harus mencari jenis instance yang memiliki jumlah CPU dan kecepatan clock yang lebih tinggi.

AWS menawarkan berbagai jenis instance yang dioptimalkan CPU (tautan berada di luar ibm.com), seperti kelompok C5, M5, dan R5, yang dirancang untuk beban kerja komputasi berkinerja tinggi. Berbagai instance ini menampilkan prosesor AWS Graviton3 (tautan berada di luar ibm.com) generasi terbaru yang dibuat khusus (peningkatan signifikan ke Graviton2) dan dioptimalkan untuk aplikasi yang memerlukan pemanfaatan CPU tinggi. Namun, jika aplikasi Anda tidak memerlukan kinerja CPU yang tinggi, Anda dapat memilih jenis instance yang lebih murah tanpa GPU dan jumlah CPU yang lebih rendah, seperti kelompok T3.

3. Pertimbangkan Memori

Memori merupakan komponen penting dalam instance EC2 karena menentukan volume data yang bisa diproses sekaligus. Jika aplikasi Anda memerlukan memori besar, gunakan instance dengan kapasitas memori lebih tinggi.

Namun, jika aplikasi Anda tidak memerlukan banyak memori, Anda dapat memilih jenis instance yang lebih murah yang memiliki kapasitas memori lebih kecil, seperti kelompok T3.

AWS menawarkan berbagai jenis instance yang dioptimalkan untuk memori (tautan berada di luar ibm.com), seperti keluarga X1, R4, dan z1d, yang dirancang untuk beban kerja intensif memori. Instance ini memiliki memori dalam jumlah besar dan dioptimalkan untuk aplikasi yang memerlukan pemanfaatan memori tinggi, seperti basis data dalam memori.

Namun, jika aplikasi Anda tidak memerlukan banyak memori, Anda dapat memilih jenis instance yang lebih murah yang memiliki kapasitas memori lebih kecil, seperti kelompok T3.

4. Pertimbangkan Jaringan

Jaringan adalah komponen penting lain dari instance EC2, karena menentukan seberapa cepat data cepat dapat ditransfer ke dan dari instance. Jika aplikasi Anda memerlukan kinerja jaringan yang tinggi, Anda harus mencari jenis instance yang memiliki bandwidth jaringan yang lebih tinggi.

AWS menawarkan berbagai jenis instance yang dioptimalkan untuk jaringan, seperti C5n dan keluarga HPC komputasi kinerja tinggi, yang dirancang untuk beban kerja intensif jaringan. Instance ini memiliki fitur antarmuka jaringan berkecepatan tinggi dan dioptimalkan untuk aplikasi yang memerlukan pemanfaatan jaringan tinggi.

Namun, jika aplikasi Anda tidak memerlukan kinerja jaringan yang tinggi, Anda dapat memilih jenis instance yang lebih murah yang memiliki bandwidth jaringan yang lebih rendah, seperti keluarga T3.

5. Pertimbangkan Penyimpanan

Penyimpanan adalah komponen penting terakhir dari instance EC2, karena menentukan berapa banyak data yang dapat disimpan pada instance. Jika aplikasi Anda membutuhkan banyak penyimpanan, Anda harus mencari jenis instance yang memiliki kapasitas penyimpanan yang lebih besar (Elastic Block Store, atau EBS). Namun, lanjutkan dengan hati-hati-penyimpanan juga merupakan salah satu sumber daya cloud yang paling mahal dan dapat dengan mudah menghasilkan pengeluaran yang tidak perlu melalui volume EBS yang menganggur dan tidak terpasang.

AWS menawarkan berbagai jenis instance yang dioptimalkan untuk penyimpanan, seperti keluarga I3 dan D2, yang dirancang untuk beban kerja intensif penyimpanan. Instance ini fitur penyimpanan SSD dan penyimpanan lokal dalam jumlah besar dan dioptimalkan untuk aplikasi yang memerlukan throughput IOPS tinggi.

Jika kebutuhan penyimpanan aplikasi Anda rendah, Anda dapat menggunakan instance yang lebih ekonomis dengan HDD berkapasitas kecil, misalnya kelompok T3.

6. Pertimbangkan Model Penetapan Harga

AWS menawarkan beberapa model harga untuk instance EC2, termasuk Instance Berdasarkan Permintaan, Instance yang Disediakan, dan instance Spot. Setiap model memiliki kelebihan dan kekurangannya sendiri, dan penting untuk memilih salah satu yang paling sesuai dengan beban kerja dan anggaran Anda.

Instance On-Demand atau sesuai permintaan diberi harga per jam dan tidak memerlukan komitmen di muka. Instance ini paling cocok untuk beban kerja yang memiliki permintaan variabel atau proyek jangka pendek.

Instance yang disediakan memberikan diskon signifikan pada tarif per jam dengan imbalan pembayaran di muka satu kali. Mereka paling cocok untuk beban kerja yang memiliki penggunaan yang dapat diprediksi dan membutuhkan komitmen jangka panjang.

Instance Spot memungkinkan Anda menawar kapasitas EC2 yang tidak terpakai dan dapat memberikan penghematan biaya yang signifikan. Namun, jenis ini paling cocok untuk beban kerja yang dapat menangani interupsi dan memiliki waktu mulai dan akhir yang fleksibel.

7. Uji dan Optimalkan

Setelah Anda memilih jenis instance EC2, penting untuk menguji dan mengoptimalkan aplikasi Anda untuk memastikan bahwa itu berjalan secara efisien. Anda dapat menggunakan alat seperti AWS CloudWatch atau IBM® Instana untuk memantau kinerja aplikasi Anda dan mengidentifikasi hambatan atau area yang perlu ditingkatkan.

Kesimpulan

Memilih jenis instance EC2 yang tepat sangat penting untuk kinerja dan efektivitas biaya infrastruktur AWS Anda. Dengan memahami beban kerja Anda, mempertimbangkan persyaratan CPU, memori, jaringan, dan penyimpanan, memilih model penetapan harga yang tepat, serta menguji serta mengoptimalkan aplikasi Anda, Anda dapat memastikan bahwa Anda mendapatkan hasil maksimal dari instance EC2 Anda. 

Ingatlah bahwa memilih jenis instance terbaik bukanlah keputusan satu kali, karena beban kerja dan kebutuhan infrastruktur Anda dapat berubah seiring waktu. Mengevaluasi dan mengoptimalkan jenis instance EC2 Anda secara berkelanjutan dapat membantu Anda mencapai kinerja optimal dan efektivitas biaya untuk infrastruktur AWS Anda.

IBM® Turbonomic dapat membantu Anda mengelola proses ini secara otomatis dengan terus menilai kebutuhan sumber daya aplikasi AWS Anda dan menghasilkan tindakan spesifik yang menghemat uang dan menjaga ukuran instance EC2 Anda tetap tepat. Turbonomic menggunakan machine learning dan otomatisasi, dengan mudah diintegrasikan dengan akun AWS dan AWS Billing Anda dan menghasilkan tindakan pengoptimalan dalam waktu 30 menit.

Penulis

Christopher Graham

WW Demand Strategy Manager

Turbonomic PLG