Proses dan budaya - Pilar Efisiensi Kinerja

Proses dan budaya

Saat merancang beban kerja, ada prinsip dan praktik yang dapat Anda adopsi untuk membantu Anda menjalankan beban kerja cloud berkinerja tinggi yang efisien dengan lebih baik. Area fokus ini menawarkan praktik terbaik untuk membantu mengadopsi budaya yang mendorong efisiensi kinerja beban kerja cloud.

Pertimbangkan prinsip-prinsip utama berikut untuk membangun budaya ini:

  • Infrastruktur sebagai kode: Tetapkan infrastruktur Anda sebagai kode menggunakan pendekatan seperti templat AWS CloudFormation. Penggunaan templat memungkinkan Anda untuk menempatkan infrastruktur di kontrol sumber bersama dengan konfigurasi dan kode aplikasi Anda. Ini memungkinkan Anda untuk menerapkan praktik yang sama yang Anda gunakan untuk mengembangkan perangkat lunak di infrastruktur Anda sehingga Anda dapat mengulang dengan cepat.

  • Alur deployment: Gunakan alur integrasi berkelanjutan/deployment berkelanjutan (CI/CD) (misalnya, tempat penyimpanan kode sumber, sistem pembangunan, deployment, dan otomatisasi pengujian) untuk melakukan deployment infrastruktur Anda. Ini memungkinkan Anda untuk melakukan deployment dengan cara yang dapat diulang, konsisten, dan murah saat Anda melakukan pengulangan.

  • Metrik yang ditetapkan dengan baik: Atur dan pantau metrik untuk mencatat indikator performa utama (KPI). Kami menyarankan Anda menggunakan metrik teknis dan metrik bisnis. Untuk situs web atau aplikasi seluler, metrik utama menangkap waktu ke bita pertama atau rendering. Metrik lain yang umumnya berlaku antara lain, hitungan thread, laju pengumpulan sampah, dan keadaan tunggu. Metrik bisnis, seperti biaya kumulatif agregat per permintaan, dapat memberikan peringatan kepada Anda tentang berbagai cara untuk menghemat biaya. Pertimbangkan dengan hati-hati bagaimana Anda akan menafsirkan metrik. Misalnya, Anda dapat memilih nilai maksimum atau persentil 99 dan bukannya nilai rata-rata.

  • Lakukan uji performa secara otomatis: Sebagai bagian dari proses deployment Anda, otomatis mulai uji performa setelah lulus pengujian yang lebih cepat. Otomatisasi harus menciptakan lingkungan baru, menyiapkan kondisi awal seperti data uji, kemudian jalankan serangkaian uji beban dan tolok ukur. Hasil dari pengujian-pengujian ini harus dikaitkan kembali dengan pembangunan sehingga Anda dapat melacak perubahan performa seiring waktu. Untuk pengujian yang lama, Anda dapat membuat ini sebagai bagian dari alur yang asinkron dari sisa pembangunan. Atau, Anda dapat menjalankan uji performa semalaman menggunakan Instans Spot Amazon EC2.

  • Pembuatan beban: Anda harus membuat serangkaian skrip pengujian yang mereplikasi perjalanan pengguna sintetis atau tercatat sebelumnya. Skrip ini harus idempoten dan tidak digabungkan, dan Anda mungkin perlu menyertakan pra-pemanasan skrip untuk menghasilkan hasil yang valid. Sejauh dapat dilakukan, skrip pengujian Anda harus mereplikasi perilaku penggunaan dalam produksi. Anda dapat menggunakan solusi perangkat lunak sebagai layanan (SaaS) atau perangkat lunak untuk membuat beban. Pertimbangkan untuk menggunakan solusi AWS Marketplace dan Instans Spot — hal-hal tersebut bisa menjadi cara yang hemat biaya untuk menghasilkan beban.

  • Visibilitas performa: Metrik utama harus dapat dilihat oleh tim Anda, khususnya metrik untuk setiap versi pembangunan. Ini memungkinkan Anda untuk melihat setiap tren positif atau negatif yang signifikan seiring waktu. Anda juga harus menampilkan metrik atas jumlah kesalahan atau pengecualian untuk memastikan Anda menguji sistem yang berfungsi.

  • Visualisasi: Gunakan teknik visualisasi yang membuat jelas di mana terjadi masalah performa, hotspot, keadaan tunggu, atau penggunaan rendah. Lapisi diagram arsitektur dengan metrik performa — kode atau grafik panggilan dapat membantu mengidentifikasi masalah dengan cepat.

  • Proses peninjauan rutin: Arsitektur dengan performa buruk biasanya merupakan akibat dari tidak adanya proses peninjauan performa, atau proses peninjauan performa yang bermasalah. Jika arsitektur Anda memiliki performa buruk, implementasi proses peninjauan performa memungkinkan Anda untuk mendorong peningkatan berulang.

  • Optimisasi berkelanjutan: Adopsi budaya untuk terus mengoptimalkan efisiensi kinerja beban kerja cloud Anda.