Rekomendasi untuk mengoptimalkan biaya komponen

Berlaku untuk rekomendasi daftar periksa Pengoptimalan Biaya Azure Well-Architected Framework ini:

CO:07 Optimalkan biaya komponen. Secara teratur menghapus atau mengoptimalkan komponen beban kerja warisan, tidak diperlukan, dan kurang digunakan, termasuk fitur aplikasi, fitur platform, dan sumber daya.

Panduan ini menjelaskan rekomendasi untuk mengoptimalkan biaya komponen beban kerja. Mengoptimalkan biaya komponen mengacu pada proses mengevaluasi dan meningkatkan efisiensi biaya elemen individu dalam beban kerja. Ini menekankan tinjauan berkelanjutan dan potensi penghapusan atau peningkatan komponen yang ketinggalan zaman, tidak perlu, atau jarang digunakan, seperti fitur aplikasi, fitur platform, dan sumber daya. Ini juga mencakup pengoptimalan biaya lingkungan pemulihan bencana dan cara menghindari pengenalan komponen yang tidak optimal. Panduan dalam artikel ini berlaku untuk beban kerja yang ada yang tidak dalam fase desain. Mengabaikan pengoptimalan komponen reguler dapat menyebabkan biaya yang meningkat, limbah sumber daya, dan beban kerja yang tidak efisien yang menguras waktu dan uang.

Definisi

Istilah Definisi
Fitur aplikasi Kemampuan berbeda dalam perangkat lunak aplikasi yang memungkinkan pengguna untuk melakukan tugas tertentu atau mengakses informasi tertentu.
Fitur platform Fungsionalitas atau kemampuan tertentu yang disediakan oleh platform. Ini dapat bervariasi tergantung pada platform, tetapi umumnya, fitur platform dirancang untuk meningkatkan pengalaman pengguna, meningkatkan produktivitas, atau mengaktifkan tugas atau tindakan tertentu.
Sumber daya Satu entitas atau komponen yang dapat Anda buat, konfigurasikan, dan gunakan dalam penyedia layanan cloud.

Strategi desain utama

Mengoptimalkan komponen beban kerja adalah tentang menyempurnakan berbagai elemen beban kerja, termasuk fitur aplikasi, kemampuan platform, dan sumber daya. Tujuannya adalah untuk memastikan beban kerja menggunakan semua komponen secara efisien dan hemat biaya. Strategi termasuk menghapus, memodifikasi, dan menghindari komponen yang menyebabkan Anda menghabiskan lebih dari yang Anda butuhkan. Proses pengoptimalan biaya komponen memastikan Anda mengalokasikan sumber daya ke fitur dan komponen yang memberikan nilai paling besar, menghindari pengeluaran yang tidak perlu.

Mengoptimalkan fitur aplikasi

Mengoptimalkan fitur aplikasi adalah proses menghapus, menginvestasikan kembali, atau memonetisasi fitur aplikasi berdasarkan nilai. Ini memastikan Anda mengalokasikan sumber daya ke fitur aplikasi yang memberikan nilai paling besar kepada pelanggan. Mengoptimalkan fitur aplikasi membantu menghindari investasi pada fitur yang berkontribusi pada utang teknis atau tidak menghasilkan pengembalian investasi yang cukup.

Mengevaluasi nilai fitur aplikasi

Untuk menentukan nilai fitur, pertimbangkan efeknya pada aplikasi keseluruhan dan nilai yang diberikannya kepada pelanggan. Beberapa faktor yang perlu dipertimbangkan meliputi:

  • Kebutuhan pelanggan: Menilai seberapa baik fitur memenuhi kebutuhan dan harapan pelanggan. Umpan balik, survei, dan data penggunaan pelanggan dapat berharga dalam memahami nilai yang dirasakan.

  • Tujuan bisnis: Mengevaluasi bagaimana fitur selaras dengan tujuan strategis bisnis. Pertimbangkan bagaimana fitur mendukung pembuatan pendapatan, kepuasan pelanggan, atau keunggulan kompetitif.

  • Pengaruh terhadap pengalaman pengguna: Tentukan efek yang dimiliki fitur pada peningkatan pengalaman pengguna dan meningkatkan kegunaan atau produktivitas.

  • Diferensiasi: Menilai apakah fitur tersebut memberikan nilai jual yang unik atau keunggulan kompetitif dibandingkan dengan aplikasi lain di pasar.

Mengevaluasi biaya fitur aplikasi

Sangat penting bagi Anda untuk memahami biaya yang terkait dengan setiap fitur untuk alokasi dan pengoptimalan sumber daya yang efektif. Pertimbangkan berbagai aspek saat mengevaluasi biaya, seperti:

  • Upaya pengembangan: Menilai waktu, sumber daya, dan keahlian yang diperlukan untuk mengembangkan dan memelihara fitur atau fitur di sekitarnya. Fitur yang kurang digunakan sering menjadi sumber utama utang teknis.

  • Pemeliharaan dan dukungan: Pertimbangkan biaya berkelanjutan yang terkait dengan pemeliharaan dan dukungan fitur, termasuk perbaikan bug, pembaruan keamanan, dan pemecahan masalah.

  • Pemanfaatan infrastruktur dan sumber daya: Mengevaluasi efek fitur pada persyaratan infrastruktur, termasuk sumber daya server, penyimpanan, dan bandwidth.

  • Kompleksitas integrasi: Menilai kompleksitas dan biaya integrasi fitur dengan sistem lain atau layanan pihak ketiga.

  • Pertimbangan performa: Mengevaluasi efek fitur pada performa aplikasi, termasuk skalabilitas, waktu respons, dan penggunaan sumber daya.

Meninjau nilai fitur aplikasi dengan pemangku kepentingan

Tinjau nilai fitur aplikasi dengan pemangku kepentingan dengan melibatkan personel utama, seperti manajer produk, pengembang perangkat lunak, dan analis bisnis, untuk menilai nilai fitur tertentu pada tujuan bisnis. Kolaborasi ini sangat penting untuk pengoptimalan biaya karena memberikan wawasan tentang upaya pemeliharaan dan mengidentifikasi fitur yang mungkin menghambat produktivitas atau mengurangi mengembangkan fitur baru yang berharga. Tim pengembangan Anda dapat memberi Anda informasi penting tentang berapa banyak pekerjaan yang diperlukan untuk mempertahankan fitur tertentu. Dorong mereka untuk berbicara tentang fitur yang mungkin lebih bermasalah daripada yang layak, terutama jika fitur-fitur ini mengalihkan tim dari membuat fitur baru.

Menentukan masa depan fitur

Berdasarkan analisis dan evaluasi Anda, tentukan masa depan fitur aplikasi. Menghapus, menginvestasikan kembali, atau memonetisasi fitur aplikasi apa pun yang tidak memberikan pengembalian investasi:

  • Penghapusan: Pertimbangkan akhir masa pakai fitur aplikasi yang direncanakan berdasarkan data. Alasan penghapusan fitur mungkin mencakup permintaan pelanggan yang rendah, biaya pemeliharaan tinggi, kompleksitas, atau redundansi yang tidak sebanding dengan upaya untuk memperbaikinya. Buat rencana untuk penghapusan, yang mungkin melibatkan pemfaktoran ulang kode, memperbarui dependensi, atau mengatur ulang UI.

    Risikoikon risiko: Anda secara tidak sengaja dapat menghapus fitur yang sangat penting bagi pengguna atau skenario tertentu dan mungkin berdampak negatif pada performa, operasi, dan keamanan dalam aplikasi Anda.

  • Menginvetasikan ulang: Beberapa fitur aplikasi mungkin tidak menambahkan nilai yang cukup dalam statusnya saat ini tetapi dapat menambahkan nilai jika Anda menginvetasikannya kembali. Reinvestment berarti mengolah ulang atau mempromosikan fitur aplikasi. Prioritaskan peningkatan yang diidentifikasi berdasarkan nilai dan kelayakannya. Tentukan peta strategi dan garis waktu untuk menerapkan perubahan. Pertimbangkan faktor-faktor seperti sumber daya pengembangan, dependensi, dan efek potensial pada aplikasi.

  • Monetisasi: Ubah fitur aplikasi menjadi peluang yang menghasilkan pendapatan melalui monetisasi. Terkadang fitur memberikan nilai bagi pengguna tetapi tidak sebanding dengan investasi saat ini. Jelajahi peluang untuk memonetisasi fitur-fitur ini, seperti menawarkannya sebagai add-on berbayar terpisah atau melisensikannya ke perusahaan lain.

Mengoptimalkan sumber daya beban kerja

Mengoptimalkan sumber daya beban kerja melibatkan penghapusan sumber daya apa pun yang tidak digunakan dan mengoptimalkan sumber daya yang kurang digunakan yang dibutuhkan beban kerja. Upaya ini dapat menghemat uang, menghindari pemborosan, dan memastikan bahwa beban kerja hanya menggunakan sumber daya yang menambah nilai.

Hapus sumber daya beban kerja yang tidak digunakan. Sumber daya yang tidak digunakan disebarkan layanan yang tidak digunakan beban kerja atau proses operasi Anda. Sumber daya ini mungkin diam jangka panjang, tanpa sumber, atau terlupakan. Mereka tidak memberikan pengembalian investasi, dan Anda harus menghapusnya. Penyebab umum sumber daya yang tidak digunakan meliputi:

  • Pemberitahuan.
  • Build demo.
  • Penonaktifan lingkungan.
  • Penonaktifan fitur.
  • Alamat IP.
  • Firewall jaringan.
  • Bukti konsep.
  • Snapshot.
  • Akun penyimpanan.
  • Lingkungan pengujian sementara.
  • Lingkungan triase sementara.

Untuk menghapus sumber daya yang tidak digunakan dalam beban kerja, pertimbangkan langkah-langkah berikut:

  1. Mengambil inventaris: Lakukan inventarsi menyeluruh dari semua sumber daya dalam beban kerja di seluruh lingkungan.

  2. Menemukan sumber daya tanpa sumber daya: Sumber daya dapat menjadi tanpa sumber daya saat tidak lagi diperlukan atau saat sumber daya induknya dihapus. Misalnya, Anda dapat menghapus komputer virtual, tetapi akun penyimpanan terkait tidak dihapus. Tinjau beban kerja Anda untuk mengidentifikasi sumber daya yang tidak perlu atau tanpa sumber daya.

  3. Menghapus komponen diam: Biasanya ada biaya yang terkait dengan sumber daya yang disebarkan. Bahkan jika sumber daya memungkinkan Anda untuk berhenti atau mengalokasikan ulang, Anda mungkin terus membayar sumber daya. Pertimbangkan untuk menghapus sumber daya diam. Jika Anda memerlukan data, cadangkan terlebih dahulu lalu hapus sumber daya. Anda lebih baik menyebarkan ulang sumber daya dan memulihkan data daripada memungkinkan sumber daya tetap menganggur.

Optimalkan sumber daya yang kurang digunakan. Sumber daya yang kurang digunakan mewakili pengeluaran terbuang sia-sia saat Anda membayar kapasitas sumber daya yang tidak sepenuhnya digunakan. Identifikasi dan optimalkan sumber daya ini untuk mengurangi biaya dan mengalokasikan sumber daya secara lebih efektif. Untuk mengevaluasi dan mengoptimalkan biaya sumber daya yang kurang digunakan, ikuti langkah-langkah berikut:

  1. Memantau sumber daya: Gunakan alat untuk memantau berapa banyak CPU, memori, dan penyimpanan yang benar-benar Anda gunakan. Pilih paket terbaik yang sesuai dengan kebutuhan Anda berdasarkan informasi ini.

  2. Menganalisis pemanfaatan: Lihat data untuk mengetahui sumber daya mana yang tidak Anda gunakan. Perhatikan sumber daya yang memiliki penggunaan rendah dari waktu ke waktu atau perbedaan besar dalam penggunaan antara waktu sibuk dan lambat.

  3. Ukuran yang tepat: Periksa apakah ada terlalu banyak sumber daya yang dialokasikan untuk fitur yang tidak digunakan. Jika demikian, sesuaikan ukurannya agar lebih sesuai dengan apa yang sebenarnya Anda butuhkan.

  4. Penskalakan otomatis: Gunakan penskalakan otomatis untuk menyesuaikan sumber daya yang Anda gunakan berdasarkan seberapa sibuk Anda. Pastikan Anda menetapkan batas penskalaan maksimum untuk menghindari lonjakan mendadak yang mungkin mahal dan tidak perlu.

Setelah Anda melakukan penyesuaian ini, uji untuk memastikan semuanya masih berfungsi sebagaimana mestinya. Terus memantau pemanfaatan sumber daya dan menyesuaikan alokasi sumber daya saat tuntutan beban kerja berubah dari waktu ke waktu. Tinjau dan optimalkan pemanfaatan sumber daya secara teratur untuk menjaga efisiensi biaya dan pengoptimalan performa.

Optimalkan sumber daya pemulihan bencana. Mengoptimalkan lingkungan pemulihan bencana adalah tentang memastikan sumber daya yang dialokasikan untuk pemulihan bencana digunakan secara efisien. Strategi pemulihan bencana yang hangat (aktif-pasif) adalah sumber umum kurangnya penggunaan. Dalam strategi pemulihan bencana yang hangat, satu lingkungan menerima semua beban sementara lingkungan lain menganggur sampai ada skenario bencana. Untuk mengoptimalkan lingkungan pemulihan bencana, pertimbangkan bagaimana pendekatan panas (aktif-aktif), dingin (aktif-nonaktif), atau aktif-penyebaran ulang dapat membantu menghindari sumber daya yang kurang digunakan. Berikut adalah gambaran umum dari tiga pendekatan pemulihan bencana ini:

  • Rencana panas: Lingkungan primer dan sekunder melayani lalu lintas secara bersamaan. Beban kerja Anda dapat menyeimbangkan beban antara lingkungan ini dan menanggapi tuntutan secara real-time. Mendistribusikan beban antara dua lingkungan aktif, memungkinkan Anda menggunakan sumber daya yang lebih murah, mengurangi penyempitan satu titik, dan memanfaatkan kapasitas secara maksimal. Hal ini dapat menyebabkan pengurangan biaya dalam hal pemborongan sumber daya atau menganggur. Pendekatan panas mungkin menuntut lebih banyak investasi dalam sinkronisasi dan menjaga paritas antara kedua lingkungan.

  • Rencana dingin: Model pemulihan bencana dingin melibatkan lingkungan siaga yang tetap tidak aktif sampai bencana memicu kebutuhan akan failover. Karena lingkungan siaga tidak berjalan secara aktif, biaya yang terkait dengan operasi komputasi, penyimpanan, dan jaringan diminimalkan. Pengeluaran Anda berkisar pada penyimpanan cadangan, gambar komputer virtual (VM), atau templat. Failover dalam model dingin dapat memakan waktu lebih lama karena sumber daya perlu di-boot dan data mungkin perlu dipulihkan. Pastikan bahwa waktu pemulihan selaras dengan tujuan waktu pemulihan (RTO) bisnis Anda sebelum berkomitmen pada pendekatan ini.

  • Active-redeploy: Strategi ini menggunakan infrastruktur sebagai kode. Saat peristiwa failover terjadi, Anda menyebarkan lingkungan sekunder, menggunakan templat dan skrip yang telah ditentukan sebelumnya. Tanpa sumber daya komputasi yang telah disebarkan sebelumnya di lingkungan pemulihan bencana, Anda menghemat biaya yang terkait dengan mempertahankan sumber daya yang menganggur. Anda hanya dikenakan biaya selama penyebaran aktual dalam skenario failover. Seperti pendekatan dingin, model ini mungkin memperkenalkan waktu pemulihan yang lebih lama, terutama jika kompleksitas infrastruktur tinggi. Anda harus menguji dan mengukur waktu pemulihan untuk memastikannya memenuhi tujuan waktu pemulihan Anda.

Mengoptimalkan fitur platform

Mengoptimalkan fitur platform melibatkan penghapusan atau pembaruan fitur platform, seperti tingkat performa dan pengaturan konfigurasi, untuk mengoptimalkan biaya. Ini membantu menyelaraskan pengeluaran dengan persyaratan beban kerja dan menghindari pengeluaran yang tidak perlu pada fitur yang tidak diperlukan. Berikut adalah beberapa tips untuk mengoptimalkan biaya fitur platform:

  • Ketahui kemampuan hal-hal yang Anda beli: Sebelum dapat mengoptimalkan, Anda memerlukan inventarisasi layanan yang jelas dan fiturnya di seluruh platform cloud Anda. Pahami fitur dan fungsionalitas platform atau layanan dalam beban kerja Anda. Waspadai tingkat tertentu yang Anda pilih dan fitur yang ditawarkan setiap tingkatan. Misalnya, jika Anda tidak memerlukan penskalaan otomatis atau jaringan tingkat lanjut, paket tingkat bawah mungkin sudah cukup.

  • Menonaktifkan fitur yang tidak digunakan: Mengidentifikasi dan menonaktifkan fitur platform yang membutuhkan biaya. Anda mungkin memiliki rekam jepret penyimpanan yang tidak diperlukan, disk yang tidak digunakan, fitur keamanan redundan, atau kemampuan jaringan yang kurang digunakan.

  • Gunakan versi yang tepat: Versi layanan yang lebih baru dapat memberikan performa serupa dengan harga yang sama. Misalnya, komputer virtual dengan perangkat keras yang lebih baru sering dapat memberikan performa yang sama untuk lebih sedikit uang.

  • Gunakan konfigurasi yang tepat: Anda mungkin membayar lebih banyak ketersediaan atau performa daripada yang Anda butuhkan. Menghilangkan ketersediaan atau performa menjamin bahwa beban kerja tidak diperlukan.

  • Menghilangkan otomatisasi yang tidak diperlukan: Evaluasi proses otomatisasi Anda dan hilangkan otomatisasi yang tidak digunakan yang mungkin dikenakan biaya tambahan.

  • Menghilangkan redundansi alat: Singkirkan alat yang tidak Anda butuhkan atau alat yang menyediakan fungsi yang sama. Evaluasi potensi redundansi dalam alat yang Anda gunakan untuk membangun perangkat lunak, menulis kode, keamanan, dan pemantauan. Misalnya, jika Anda menggunakan GitHub Actions untuk membangun perangkat lunak, Anda tidak perlu membeli alat lain yang membangun perangkat lunak. Sebelum Anda membeli fitur atau alat, periksa apakah sudah ada alat dalam beban kerja Anda yang dapat melakukan pekerjaan tersebut. Hilangkan redundansi alat untuk menghindari uang yang terbuang sia-sia dan manfaatkan yang sudah Anda miliki.

Mencegah komponen yang tidak optimal

Mencegah komponen yang tidak optimal adalah tentang secara proaktif memastikan komponen sangat penting dan dioptimalkan sebelum menambahkan atau memodifikasi. Cara terbaik untuk menyingkirkan sampah adalah dengan menghindarinya terlebih dahulu. Gunakan strategi yang mencegah pengeluaran yang tidak perlu dengan mengatasi inefisiensi di root, memastikan beban kerja berjalan hemat biaya sejak awal. Untuk membantu mencegah limbah, pertimbangkan strategi berikut:

  • Temukan akar penyebab sebelum mengubah solusi: Sebelum Anda memperbaiki masalah, pastikan Anda tahu apa yang sebenarnya menyebabkannya. Misalnya, jika situs web Anda lambat, jangan segera beralih ke sistem baru. Pertama, cari tahu mengapa lambat. Anda mungkin mengetahui bahwa masalah sebenarnya adalah sesuatu yang lain, seperti kueri database yang buruk. Perbaiki masalah sebenarnya untuk menghemat waktu dan uang.

  • Terapkan metadata: Terapkan metadata untuk menata dan melacak sumber daya. Anda dapat menggunakan metadata untuk mengategorikan dan mengelompokkan sumber daya, sehingga lebih mudah untuk melacak, menghapus, dan menghindari sumber daya tanpa sumber daya. Buat strategi metadata yang konsisten di seluruh sumber daya. Pertimbangkan untuk menambahkan pemilik, durasi sumber daya yang diantisipasi (misalnya, sunset-30d), atau tag lainnya.

  • Mendokumentasikan perubahan yang tidak biasa: Dokumentasikan setiap perubahan yang dilakukan pada infrastruktur atau konfigurasi Anda yang dilakukan di luar proses kontrol normal beban kerja Anda untuk memotong biaya yang tidak terduga. Misalnya, Anda dapat meningkatkan kapasitas penskalaan sumber daya (naik atau keluar) untuk memenuhi permintaan jangka pendek atau triase masalah tetapi lupa untuk menurunkan skalanya kembali. Buat daftar perubahan yang tidak ada dan gunakan sebagai pengingat untuk mengembalikan perubahan saat tidak lagi diperlukan.

  • Permudah hal-hal: Sederhanakan infrastruktur Anda dan minimalkan kompleksitas untuk membantu mengurangi biaya. Gunakan hanya sumber daya dan layanan yang diperlukan yang memenuhi kebutuhan Anda.

Fasilitasi Azure

Mengoptimalkan fitur aplikasi: Anda dapat menggunakan Azure Monitor dan Application Insights untuk memantau penggunaan aplikasi Anda dan mengidentifikasi area yang atau tidak digunakan. Berdasarkan wawasan yang dikumpulkan, Anda dapat membuat keputusan berdasarkan informasi untuk menghapus atau mengoptimalkan fitur yang tidak digunakan atau kurang digunakan.

Mengoptimalkan sumber daya beban kerja dan fitur platform: Azure Advisor memberikan rekomendasi biaya memberikan rekomendasi untuk mengidentifikasi dan menghilangkan sumber daya yang tidak digunakan. Anda dapat menggunakan Advisor untuk menganalisis penggunaan sumber daya anda dan menerima saran tentang sumber daya untuk menghapus atau menurunkan skala. Buku kerja Pengoptimalan Biaya di Azure Advisor berfungsi sebagai hub terpusat untuk beberapa alat yang paling umum digunakan yang dapat membantu Anda mendorong tujuan pemanfaatan dan efisiensi. Ini menawarkan berbagai rekomendasi, termasuk rekomendasi biaya Azure Advisor. Ini juga membantu mengidentifikasi sumber daya diam dan mengelola komputer virtual yang tidak dialokasikan dengan benar.

Azure Monitor mendukung buku kerja. Dengan buku kerja Azure Monitor, Anda bisa menemukan atau membuat buku kerja yang menemukan dan melaporkan sumber daya tanpa sumber daya di seluruh cakupan yang ditentukan. Anda dapat menggunakan Azure Automation untuk mematikan komputer virtual selama periode tidak aktif. Pematian sumber daya membantu mengurangi biaya dengan meminimalkan penggunaan sumber daya yang menganggur.

Anda dapat menggunakan fitur skala otomatis di Azure untuk menskalakan aplikasi Anda secara otomatis berdasarkan kondisi yang telah ditentukan sebelumnya, sehingga Anda tidak perlu kelebihan kapasitas provisi. Penskalakan otomatis dapat membantu Anda mengalokasikan sumber daya secara efisien dan hemat biaya.

Dari perspektif desain, load balancer Azure dapat mendistribusikan beban di seluruh zona dan wilayah ketersediaan. Load balancer ini dapat membantu menghilangkan sumber daya yang menganggur, misalnya, dalam pendekatan pemulihan bencana.

Daftar periksa Pengoptimalan Biaya

Lihat serangkaian rekomendasi lengkap.