Mengoptimalkan penggunaan resource untuk keberlanjutan

Last reviewed 2026-01-28 UTC

Prinsip dalam pilar keberlanjutan di Google Cloud Framework yang Dirancang dengan Baik ini memberikan rekomendasi untuk membantu Anda mengoptimalkan penggunaan resource oleh workload Anda di Google Cloud.

Ringkasan prinsip

Mengoptimalkan penggunaan resource sangat penting untuk meningkatkan keberlanjutan lingkungan cloud Anda. Setiap resource yang disediakan—mulai dari siklus komputasi hingga penyimpanan data—secara langsung memengaruhi penggunaan energi, intensitas air, dan emisi karbon. Untuk mengurangi dampak lingkungan dari workload Anda, Anda perlu membuat pilihan yang tepat saat Anda menyediakan, mengelola, dan menggunakan resource cloud.

Rekomendasi

Untuk mengoptimalkan penggunaan resource, pertimbangkan rekomendasi di bagian berikut.

Menerapkan penskalaan otomatis dan dinamis

Penskalaan otomatis dan dinamis memastikan penggunaan resource optimal, yang membantu mencegah pemborosan energi dari infrastruktur yang tidak digunakan atau yang terlalu banyak disediakan. Pengurangan energi yang terbuang akan menghasilkan biaya yang lebih rendah dan emisi karbon yang lebih rendah.

Gunakan teknik berikut untuk menerapkan skalabilitas otomatis dan dinamis.

Menggunakan penskalaan horizontal

Penskalaan horizontal adalah teknik penskalaan pilihan untuk sebagian besar aplikasi yang mengutamakan cloud. Daripada meningkatkan ukuran setiap instance, yang dikenal sebagai penskalaan vertikal, Anda menambahkan instance untuk mendistribusikan beban. Misalnya, Anda dapat menggunakan grup instance terkelola (MIG) untuk menskalakan secara otomatis sekelompok VM Compute Engine. Infrastruktur yang diskalakan secara horizontal lebih tangguh karena kegagalan instance tidak memengaruhi ketersediaan aplikasi. Penskalaan horizontal juga merupakan teknik yang hemat resource untuk aplikasi yang memiliki tingkat beban variabel.

Mengonfigurasi kebijakan penskalaan yang sesuai

Konfigurasi setelan penskalaan otomatis berdasarkan persyaratan workload Anda. Tentukan metrik dan nilai minimum kustom yang spesifik untuk perilaku aplikasi. Daripada hanya mengandalkan pemakaian CPU, pertimbangkan metrik seperti kedalaman antrean untuk tugas asinkron, latensi permintaan, dan metrik aplikasi kustom. Untuk mencegah penskalaan yang sering dan tidak perlu atau flapping, tentukan kebijakan penskalaan yang jelas. Misalnya, untuk workload yang Anda deploy di Google Kubernetes Engine (GKE), konfigurasikan kebijakan penskalaan otomatis cluster yang sesuai.

Menggabungkan penskalaan reaktif dan proaktif

Dengan penskalaan reaktif, sistem akan melakukan penskalaan sebagai respons terhadap perubahan beban real-time. Teknik ini cocok untuk aplikasi yang memiliki lonjakan beban yang tidak dapat diprediksi.

Penskalaan proaktif cocok untuk beban kerja dengan pola yang dapat diprediksi, seperti jam kerja harian yang tetap dan pembuatan laporan mingguan. Untuk workload tersebut, gunakan penskalaan otomatis terjadwal untuk melakukan pra-penyediaan resource sehingga dapat menangani tingkat beban yang diantisipasi. Teknik ini mencegah perebutan resource dan memastikan pengalaman pengguna yang lebih lancar dengan efisiensi yang lebih tinggi. Teknik ini juga membantu Anda merencanakan secara proaktif lonjakan beban yang diketahui seperti acara penjualan besar dan upaya pemasaran yang terfokus.

Google Cloud Layanan dan fitur terkelola seperti GKE Autopilot, Cloud Run, dan MIG secara otomatis mengelola penskalaan proaktif dengan mempelajari pola workload Anda. Secara default, jika layanan Cloud Run tidak menerima traffic apa pun, layanan tersebut akan diskalakan ke nol instance.

Mendesain aplikasi stateless

Agar dapat diskalakan secara horizontal, komponen aplikasi harus stateless. Artinya, sesi atau data pengguna tertentu tidak terikat ke satu instance komputasi. Saat Anda menyimpan status sesi di luar instance komputasi, seperti di Memorystore for Redis, instance komputasi apa pun dapat menangani permintaan dari pengguna mana pun. Pendekatan desain ini memungkinkan penskalaan horizontal yang lancar dan efisien.

Menggunakan penjadwalan dan batch

Batch processing ideal untuk workload berskala besar yang tidak mendesak. Tugas batch dapat membantu mengoptimalkan workload Anda untuk efisiensi energi dan biaya.

Gunakan teknik berikut untuk menerapkan penjadwalan dan tugas batch.

Jadwal untuk intensitas karbon rendah

Jadwalkan tugas batch Anda untuk dijalankan di region rendah karbon dan selama periode saat jaringan listrik lokal memiliki persentase energi bersih yang tinggi. Untuk mengidentifikasi waktu dalam sehari yang paling rendah intensitas karbonnya untuk suatu region, gunakan laporan Jejak Karbon.

Menggunakan Spot VM untuk workload nonkritis

Spot VM memungkinkan Anda memanfaatkan kapasitas Compute Engine yang tidak digunakan dengan diskon besar. Spot VM dapat di-preempt, tetapi memberikan cara hemat biaya untuk memproses set data besar tanpa memerlukan resource khusus yang selalu aktif. Spot VM ideal untuk tugas batch fault-tolerant yang tidak terlalu penting.

Menggabungkan dan memparalelkan tugas

Untuk mengurangi overhead saat memulai dan menghentikan tugas satu per satu, kelompokkan tugas serupa ke dalam satu batch besar. Jalankan workload bervolume tinggi ini di layanan seperti Batch. Layanan ini secara otomatis menyediakan dan mengelola infrastruktur yang diperlukan, yang membantu memastikan pemanfaatan resource yang optimal.

Menggunakan layanan terkelola

Layanan terkelola seperti Batch dan Dataflow secara otomatis menangani penyediaan, penjadwalan, dan pemantauan resource. Platform cloud menangani pengoptimalan resource. Anda dapat berfokus pada logika aplikasi. Misalnya, Dataflow secara otomatis menskalakan jumlah pekerja berdasarkan volume data dalam pipeline, sehingga Anda tidak perlu membayar resource yang tidak digunakan.

Mencocokkan kelompok mesin VM dengan persyaratan beban kerja

Jenis mesin yang dapat Anda gunakan untuk VM Compute Engine dikelompokkan ke dalam kelompok mesin, yang dioptimalkan untuk berbagai workload. Pilih kelompok mesin yang sesuai berdasarkan persyaratan workload Anda.

Kelompok mesin Direkomendasikan untuk jenis workload Panduan keberlanjutan
Instance tujuan umum (E2, N2, N4, Tau T2A/T2D): Instance ini memberikan rasio CPU terhadap memori yang seimbang. Server web, microservice, database kecil hingga menengah, dan lingkungan pengembangan. Seri E2 sangat hemat biaya dan hemat energi karena alokasi resource-nya yang dinamis. Seri Tau T2A menggunakan prosesor berbasis Arm, yang sering kali lebih hemat energi per unit performa untuk workload skala besar.
Instance yang dioptimalkan untuk komputasi (C2, C3): Instance ini memberikan rasio vCPU-ke-memori yang tinggi dan performa tinggi per core. Komputasi berperforma tinggi (HPC), pemrosesan batch, server game, dan analisis data berbasis CPU. Instance seri C memungkinkan Anda menyelesaikan tugas intensif CPU lebih cepat, yang mengurangi total waktu komputasi dan konsumsi energi tugas.
Instance yang dioptimalkan untuk memori (M3, M2): Instance ini dirancang untuk workload yang memerlukan memori dalam jumlah besar. Database dan data warehouse dalam memori besar, seperti SAP HANA atau analisis dalam memori. Instance yang dioptimalkan untuk memori memungkinkan konsolidasi workload yang berat memori pada lebih sedikit node fisik. Konsolidasi ini mengurangi total energi yang diperlukan jika dibandingkan dengan menggunakan beberapa instance yang lebih kecil. Memori berperforma tinggi mengurangi latensi akses data, yang dapat mengurangi total waktu yang dihabiskan CPU dalam keadaan aktif.
Instance yang dioptimalkan untuk penyimpanan (Z3): Instance ini menyediakan penyimpanan SSD lokal ber-throughput tinggi dan berlatensi rendah. Data warehousing, analisis log, dan database SQL, NoSQL, dan vektor. Instance yang dioptimalkan untuk penyimpanan memproses set data besar secara lokal, yang membantu menghilangkan energi yang digunakan untuk keluar data jaringan lintas lokasi. Saat menggunakan penyimpanan lokal untuk tugas IOPS tinggi, Anda menghindari penyediaan berlebih beberapa instance standar.
Instance yang dioptimalkan untuk akselerator (A3, A2, G2): Instance ini dibuat untuk workload yang diakselerasi GPU dan TPU, seperti AI, ML, dan HPC. Pelatihan dan inferensi model ML, serta simulasi ilmiah.

TPU dirancang untuk efisiensi energi yang optimal. Chip ini memberikan komputasi yang lebih tinggi per watt.

Instance yang diakselerasi GPU seperti seri A3 dengan GPU NVIDIA H100 dapat secara signifikan lebih hemat energi untuk melatih model besar daripada alternatif khusus CPU. Meskipun instance dengan akselerasi GPU memiliki penggunaan daya nominal yang lebih tinggi, tugas diselesaikan jauh lebih cepat.

Mengupgrade ke jenis mesin terbaru

Penggunaan jenis mesin terbaru dapat membantu meningkatkan keberlanjutan. Saat jenis mesin diupdate, jenis mesin tersebut sering kali dirancang agar lebih hemat energi dan memberikan performa yang lebih tinggi per watt. VM yang menggunakan jenis mesin terbaru dapat menyelesaikan jumlah pekerjaan yang sama dengan konsumsi daya yang lebih rendah.

CPU, GPU, dan TPU sering kali mendapatkan manfaat dari kemajuan teknis dalam arsitektur chip, seperti berikut:

  • Inti khusus: Kemajuan dalam prosesor sering kali mencakup inti atau petunjuk khusus untuk beban kerja umum. Misalnya, CPU mungkin memiliki core khusus untuk operasi vektor atau akselerator AI terintegrasi. Saat tugas ini dialihkan dari CPU utama, tugas akan diselesaikan secara lebih efisien dan mengonsumsi lebih sedikit energi.
  • Pengelolaan daya yang ditingkatkan: Kemajuan dalam arsitektur chip sering kali mencakup fitur pengelolaan daya yang lebih canggih, seperti penyesuaian dinamis voltase dan frekuensi berdasarkan beban kerja. Fitur pengelolaan daya ini memungkinkan chip berjalan dengan efisiensi puncak dan memasuki status daya rendah saat tidak digunakan, sehingga meminimalkan konsumsi energi.

Peningkatan teknis dalam arsitektur chip memberikan manfaat langsung berikut untuk keberlanjutan dan biaya:

  • Performa yang lebih tinggi per watt: Ini adalah metrik utama untuk keberlanjutan. Misalnya, VM C4 menunjukkan rasio harga-performa 40% lebih tinggi jika dibandingkan dengan VM C3 untuk konsumsi energi yang sama. Prosesor C4A memberikan efisiensi energi 60% lebih tinggi dibandingkan prosesor x86 yang sebanding. Kemampuan performa ini memungkinkan Anda menyelesaikan tugas lebih cepat atau menggunakan lebih sedikit instance untuk beban yang sama.
  • Konsumsi energi total yang lebih rendah: Dengan prosesor yang lebih baik, sumber daya komputasi digunakan dalam durasi yang lebih singkat untuk tugas tertentu, sehingga mengurangi penggunaan energi dan jejak karbon secara keseluruhan. Dampak karbon sangat tinggi untuk workload jangka pendek yang membutuhkan komputasi intensif seperti tugas batch dan pelatihan model ML.
  • Penggunaan resource yang optimal: Jenis mesin terbaru sering kali lebih cocok untuk software modern dan lebih kompatibel dengan fitur canggih platform cloud. Jenis mesin ini biasanya memungkinkan pemanfaatan resource yang lebih baik, yang mengurangi kebutuhan untuk penyediaan berlebih dan membantu memastikan bahwa setiap watt daya digunakan secara produktif.

Men-deploy aplikasi dalam container

Anda dapat menggunakan layanan berbasis container yang terkelola sepenuhnya seperti GKE dan Cloud Run sebagai bagian dari strategi Anda untuk komputasi cloud yang berkelanjutan. Layanan ini membantu mengoptimalkan pemanfaatan resource dan mengotomatiskan pengelolaan resource.

Memanfaatkan kemampuan skala ke nol Cloud Run

Cloud Run menyediakan lingkungan serverless terkelola yang secara otomatis menskalakan instance menjadi nol jika tidak ada traffic masuk untuk layanan atau saat tugas selesai. Penskalaan otomatis membantu menghilangkan konsumsi energi oleh infrastruktur yang tidak digunakan. Resource hanya diaktifkan saat memproses permintaan secara aktif. Strategi ini sangat efektif untuk workload yang bersifat terputus-putus atau berbasis peristiwa. Untuk workload AI, Anda dapat menggunakan GPU dengan Cloud Run, yang memungkinkan Anda menggunakan dan membayar GPU hanya saat GPU digunakan.

Mengotomatiskan pengoptimalan resource menggunakan GKE

GKE adalah platform orkestrasi container, yang memastikan bahwa aplikasi hanya menggunakan resource yang dibutuhkan. Untuk membantu Anda mengotomatiskan pengoptimalan resource, GKE menyediakan teknik berikut:

  • Bin packing: GKE Autopilot secara cerdas mengemas beberapa container di node yang tersedia. Pengemasan bin memaksimalkan penggunaan setiap node dan mengurangi jumlah node yang tidak digunakan atau kurang digunakan, yang membantu mengurangi konsumsi energi.
  • Penskalaan otomatis Pod horizontal (HPA): Dengan HPA, jumlah replika container (Pod) disesuaikan secara otomatis berdasarkan metrik yang telah ditentukan sebelumnya seperti penggunaan CPU atau metrik khusus aplikasi kustom. Misalnya, jika aplikasi Anda mengalami lonjakan traffic, GKE akan menambahkan Pod untuk memenuhi permintaan. Saat traffic mereda, GKE akan mengurangi jumlah Pod. Penskalaan dinamis ini mencegah penyediaan resource yang berlebihan, sehingga Anda tidak membayar atau mengaktifkan kapasitas komputasi yang tidak diperlukan.
  • Penskalaan otomatis Pod vertikal (VPA): Anda dapat mengonfigurasi GKE untuk menyesuaikan alokasi dan batas CPU dan memori secara otomatis untuk setiap container. Konfigurasi ini memastikan bahwa container tidak dialokasikan lebih banyak resource daripada yang dibutuhkan, yang membantu mencegah penyediaan resource berlebih.
  • Penskalaan otomatis Pod multidimensi GKE: Untuk workload yang kompleks, Anda dapat mengonfigurasi HPA dan VPA secara bersamaan untuk mengoptimalkan jumlah Pod dan ukuran setiap Pod. Teknik ini membantu memastikan jejak energi terkecil untuk performa yang diperlukan.
  • Penjadwalan yang Mendukung Topologi (TAS): TAS meningkatkan efisiensi jaringan untuk workload AI dan ML di GKE dengan menempatkan Pod berdasarkan struktur fisik infrastruktur pusat data. TAS secara strategis menempatkan beban kerja secara bersamaan untuk meminimalkan hop jaringan. Kolokasi ini membantu mengurangi latensi komunikasi dan konsumsi energi. Dengan mengoptimalkan keselarasan fisik node dan hardware khusus, TAS mempercepat penyelesaian tugas dan memaksimalkan efisiensi energi workload AI dan ML berskala besar.

Mengonfigurasi penjadwalan yang memperhatikan emisi karbon

Di Google, kami terus memindahkan workload kami ke lokasi dan waktu yang menyediakan listrik terbersih. Kami juga menggunakan kembali, atau mengumpulkan, peralatan lama untuk kasus penggunaan alternatif. Anda dapat menggunakan strategi penjadwalan yang memperhatikan emisi karbon ini untuk memastikan bahwa workload dalam container Anda menggunakan energi bersih.

Untuk menerapkan penjadwalan yang memperhatikan emisi karbon, Anda memerlukan informasi tentang kombinasi energi yang mengalirkan listrik ke pusat data di suatu wilayah secara real time. Anda bisa mendapatkan informasi ini dalam format yang dapat dibaca mesin dari repositori Carbon free energy for Google Cloud regions di GitHub atau dari set data publik BigQuery. Data intensitas karbon dan campuran jaringan per jam yang digunakan untuk menghitung set data karbon tahunan Google berasal dari Electricity Maps.

Untuk menerapkan penjadwalan yang memperhatikan karbon, sebaiknya gunakan teknik berikut:

  • Perpindahan geografis: Jadwalkan workload Anda untuk berjalan di region yang menggunakan proporsi sumber energi terbarukan yang lebih tinggi. Pendekatan ini memungkinkan Anda menggunakan jaringan listrik yang lebih bersih.
  • Pergeseran temporal: Untuk workload yang fleksibel dan tidak penting seperti pemrosesan batch, konfigurasikan workload agar berjalan selama jam tidak sibuk atau saat energi terbarukan paling banyak tersedia. Pendekatan ini dikenal sebagai pengalihan temporal dan membantu mengurangi jejak karbon secara keseluruhan dengan memanfaatkan sumber energi yang lebih bersih saat tersedia.

Merancang pemulihan dari bencana yang hemat energi

Persiapan untuk pemulihan dari bencana (DR) sering kali melibatkan penyediaan awal sumber daya redundan di region sekunder. Namun, resource yang tidak digunakan atau kurang dimanfaatkan dapat menyebabkan pemborosan energi yang signifikan. Pilih strategi DR yang memaksimalkan pemanfaatan resource dan meminimalkan dampak karbon tanpa mengorbankan tujuan waktu pemulihan (RTO) Anda.

Mengoptimalkan efisiensi cold start

Gunakan pendekatan berikut untuk meminimalkan atau menghilangkan resource aktif di region sekunder (DR) Anda:

  • Prioritaskan DR dingin: Nonaktifkan resource di region DR atau dalam status diskalakan ke nol. Pendekatan ini membantu menghilangkan jejak karbon resource komputasi yang tidak digunakan.
  • Manfaatkan failover serverless: Gunakan layanan serverless terkelola seperti Cloud Run untuk endpoint DR. Cloud Run melakukan penskalaan ke nol saat tidak digunakan, sehingga Anda dapat mempertahankan topologi DR yang tidak menggunakan energi hingga traffic dialihkan ke region DR.
  • Mengotomatiskan pemulihan dengan infrastructure-as-code (IaC): Daripada menjalankan resource di situs DR (warm), gunakan alat IaC seperti Terraform untuk menyediakan lingkungan dengan cepat hanya saat diperlukan.

Menyeimbangkan redundansi dan pemanfaatan

Redundansi resource adalah pendorong utama pemborosan energi. Untuk mengurangi redundansi, gunakan pendekatan berikut:

  • Lebih memilih aktif-aktif daripada aktif-pasif: Dalam penyiapan aktif-pasif, resource di situs pasif tidak digunakan, sehingga menyebabkan pemborosan energi. Arsitektur aktif-aktif yang berukuran optimal memastikan bahwa semua resource yang disediakan di kedua region secara aktif melayani traffic. Pendekatan ini membantu Anda memaksimalkan efisiensi energi infrastruktur Anda.
  • Tentukan ukuran redundansi yang tepat: Replikasi data dan layanan di seluruh region hanya jika replikasi diperlukan untuk memenuhi persyaratan ketersediaan tinggi atau DR. Setiap replika tambahan meningkatkan biaya energi penyimpanan persisten dan traffic keluar jaringan.