Mendiagnosis (dan Menghindari) 3 Masalah AWS EC2 Teratas
Ada sejumlah besar bisnis yang membangun aplikasi inti mereka di sekitar penawaran cloud Amazon Web Services, seperti Elastic Compute Cloud (EC2). Pada tahun 2010, Amazon melaporkan tingkat pertumbuhan EC2 sebesar 35%. Ini telah digunakan untuk segala hal mulai dari membuat cluster superkomputer sesuai permintaan untuk penelitian farmasi hingga memperkuat backend untuk aplikasi pengenalan musik Shazam.
EC2 sangat berguna untuk tim TI bisnis yang ingin mengumpulkan daya komputasi besar tanpa membeli infrastruktur fisik, dan bagi mereka yang harus bersiap menghadapi lonjakan permintaan pelanggan secara berkala. Dikatakan demikian, EC2 adalah alat seperti yang lainnya. Ini rentan disalahgunakan atau salah dikonfigurasi, dan jika itu terjadi, bisnis Anda dapat dibiarkan tanpa skala. Berikut adalah cara menghindari kesalahan EC2 yang paling umum sebelum aplikasi Anda mulai mogok.
1. Latensi Penyimpanan yang Membingungkan
Volume penyimpanan Amazon EC2 (disebut Elastic Block Storage, atau EBS) hadir dalam dua jenis. Volume standar menyajikan data dengan kecepatan yang kira-kira sama dengan hard drive desktop standar, tetapi Volume yang disediakan dirancang untuk menyajikan data lebih cepat. Jika Anda membutuhkan throughput dengan kecepatan hingga 4.000 IOPS (operasi input/output per detik), Provisioned volume bisa mendapatkannya untuk Anda—dengan asumsi Anda melewati beberapa rintangan.
Misalnya, instans yang digunakan harus kompatibel dengan jumlah IOPS yang Anda butuhkan. Anda perlu mengatur ukuran blok ke 16KB atau kurang, dan blok harus telah diakses setidaknya sekali. Volume Anda akan melambat jika pencadangan akan dilakukan. Terakhir, Amazon EC2 tampaknya tidak menyertakan alat yang akan memberi Anda data IOPS real-time dari volume tertentu (meskipun ini dapat dihitung menggunakan aplikasi pemantauan pihak ketiga).
Pembatasan terakhir ini dapat menyebabkan beberapa kesulitan. Hal berikut mungkin terjadi:
- IOPS meningkat tanpa sepengetahuan administrator hingga mencapai ambang batas volume,
- Operasi selanjutnya mulai mengantri,
- Seluruh aplikasi kemudian dibatasi tarifnya oleh EBS,
- Aplikasi gagal total.
Memperbaiki masalah ini berarti menemukan cara lain untuk melacak IOPS. Metrik VolumeQueueLength melacak jumlah permintaan I/O yang tertunda. Jika Anda menemukan bahwa volume EBS Anda melambat, dan Anda menemukan VolumeQueueLength terkait yang tinggi, ini mungkin menunjukkan masalah dengan IOPS.
2. Instans EC2 Menganggur
Amazon sekarang dapat mengisi daya per detik untuk penggunaan instans EC2. Untuk beberapa perusahaan—misalnya, mereka yang perlu menggunakan kapasitas fleksibel kurang dari dua menit dalam satu waktu—ini merupakan kesepakatan yang bagus. Untuk contoh lain, itu mungkin mewakili sedikit uang yang terbuang percuma. Lingkungan pengujian yang tersisa, aplikasi berperforma buruk, dan kasus penggunaan lainnya cocok untuk instans EC2 yang kurang dimanfaatkan. Bagaimana cara melacaknya?
Metrik adalah salah satu cara untuk menyelesaikan masalah ini, tetapi metrik adalah target yang bergerak. Aplikasi yang berbeda menggunakan jumlah CPU yang berbeda, misalnya, jadi Anda tidak bisa hanya melihat penggunaan CPU untuk melihat di mana yang berkinerja buruk. Anda perlu menyingkirkan instans di mana semua metrik penggunaan rendah, di mana "rendah" berarti "lebih rendah dari pemanfaatan dasar semua instans EC2 Anda." Instance dengan metrik penggunaan yang rendah secara keseluruhan dapat dikurangi atau digabungkan.
3. Memori EC2 Kebocoran
Instans EC2 mungkin kehabisan memori. Karena beberapa instans EC2 tidak menyertakan volume swap, aplikasi terkait tidak akan dapat mengosongkan memori pada saat yang sama saat sedang dialokasikan. Karena hal ini terjadi pada saat penggunaan aplikasi yang sangat berat, oleh karena itu EC2 mungkin membeku saat sedang menjalani beban kerja puncak—kurang lebih sama sekali mengalahkan tujuan pembelian instans EC2.
Seperti halnya dengan IOPS, mungkin sulit untuk melihat di balik kap EC2 untuk mengetahui aplikasi mana yang menggunakan terlalu banyak memori. Meskipun EC2 akan secara otomatis mematikan proses yang memonopoli memori, praktik yang lebih baik adalah tidak harus mematikan proses ini sejak awal. Anda juga dapat menambahkan lebih banyak instans EC2 agar berfungsi sebagai volume swap, atau sebagai failover jika proses vital dihentikan. Namun, menambahkan instance ini mahal. Ada cara yang lebih baik.
Pantau AWS EC2 dengan AppNeta
Satu hal yang jelas—Instans AWS EC2 tidak memberi administrator banyak alat bawaan untuk melihat kinerja. Pemrograman cerdas, perencanaan untuk failover, dan implementasi pemantauan secara manual hanya dapat membawa Anda sejauh ini. AppNeta menawarkan solusi visibilitas kinerja untuk AWS yang memungkinkan administrator mencari kesalahan secara proaktif.
Lihatlah ke dalam Amazon SDN (ya, itu sebenarnya mungkin) dan pahami kemacetan dan pelambatan dengan kejelasan seketika. Untuk informasi lebih lanjut, coba demo kami hari ini.