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.
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:
Memilih jenis instance EC2 yang tepat untuk aplikasi Anda bisa menjadi tugas yang menakutkan. Berikut adalah beberapa tantangan yang mungkin Anda hadapi:
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.
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.
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.
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.
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.
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.
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.
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.
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.