全部产品
Search
文档中心

Function Compute:Ringkasan

更新时间:Dec 15, 2025

Bagian ini menjelaskan informasi latar belakang, prinsip, dan batasan runtime Custom Container di Function Compute. Juga dijelaskan persyaratan untuk konfigurasi server HTTP.

Latar Belakang

Di era cloud-native, container images banyak digunakan dalam pengembangan dan penerapan perangkat lunak. Untuk mengoptimalkan pengalaman pengembang serta meningkatkan efisiensi pengembangan dan pengiriman, Function Compute menyediakan runtime Custom Container yang memungkinkan pengembang menggunakan container images sebagai hasil akhir fungsi. Berikut adalah manfaat runtime Custom Container:

  • Migrasi dapat dilakukan dengan biaya rendah karena tidak memerlukan modifikasi kode atau rekompilasi file biner. Objek bersama (*.so) digunakan untuk memastikan konsistensi antara lingkungan pengembangan dan produksi.

  • Pemisahan antara kode dan dependensi dihindari, sehingga menyederhanakan distribusi dan penerapan.

  • Container images secara asli disimpan dalam hierarki cache, meningkatkan efisiensi pengunggahan dan penarikan kode.

  • Pustaka pihak ketiga yang standar dan dapat direplikasi dapat digunakan untuk berbagi, membangun, dan menyimpan sumber daya, serta memfasilitasi pengunggahan kode dan manajemen versi. Ini menciptakan ekosistem open source yang komprehensif untuk integrasi dan penerapan berkelanjutan (CI/CD).

  • Permintaan HTTP dapat digunakan untuk berinteraksi dengan Function Compute.

  • Images yang beroperasi tanpa interaksi pengguna dapat dieksekusi.

Prinsip

Sebelum Function Compute menginisialisasi instance, ia mengasumsikan peran layanan yang dikonfigurasikan untuk fungsi, mendapatkan nama pengguna dan kata sandi sementara, dan menarik image. Setelah image ditarik, Function Compute memulai image menggunakan perintah startup dan parameter args yang ditentukan.

Server HTTP harus disertakan dalam container image. Function Compute mendengarkan server HTTP Anda menggunakan CAPort yang dikonfigurasikan. Server HTTP mengambil alih semua permintaan ke Function Compute, termasuk pemanggilan fungsi event dan fungsi HTTP. Sebelum mengembangkan logika interaksi suatu fungsi, Anda harus menentukan apakah fungsi tersebut adalah fungsi event atau fungsi HTTP. Gambar-gambar berikut menunjukkan cara kerja fungsi event dan fungsi HTTP.

  • Fungsi eventbuhuo1containercustom1

  • Fungsi HTTPnuhuo2customcintainer2

Batasan

Ukuran image

Container Registry Personal Edition dan edisi Basic, Standard, dan Advanced dari Container Registry Enterprise Edition mendukung hingga 10 GB image yang tidak dikompresi.

Akselerasi startup image

Setelah fungsi dibuat atau diperbarui, Anda harus menunggu hingga image yang dipercepat tersedia sebelum memanggil fungsi di Function Compute console.

Repositori image

Anda dapat menarik image dari instance Container Registry Enterprise Edition dan Personal Edition. Untuk informasi lebih lanjut, lihat Apa itu Container Registry?

Akses image

Anda dapat membaca image dari repositori image publik lintas akun dan wilayah hanya di instance Container Registry Personal Edition. Di instance Container Registry Enterprise Edition, Anda hanya dapat membaca image dari repositori image pribadi di wilayah yang sama dan dalam akun yang sama.

Hak baca/tulis pada file container

Secara default, UID run-as-user dari container adalah ID pengguna root, yang diatur ke 0. Jika Anda menentukan pengguna di Dockerfile, container image dijalankan oleh pengguna yang ditentukan tersebut.

Ukuran data lapisan yang dapat ditulis di container

Kecuali untuk lapisan image yang hanya-baca, ukuran data yang dihasilkan oleh container dibatasi hingga 512 MB atau 10 GB, tergantung pada ukuran disk yang dikonfigurasikan untuk fungsi dalam pengaturan lanjutan. Untuk informasi lebih lanjut, lihat Buat Fungsi.

Catatan

Data yang disimpan di lapisan yang dapat ditulis dari container tidak bertahan. Saat container dihapus, data tersebut juga dihapus. Jika Anda menginginkan penyimpanan permanen, Anda dapat memasang sistem file File Storage NAS (NAS) atau Object Storage Service (OSS) ke Function Compute. Untuk informasi lebih lanjut, lihat Konfigurasikan Sistem File NAS dan Konfigurasikan Sistem File OSS. Anda juga dapat menggunakan layanan penyimpanan bersama lainnya, seperti Tablestore.

Arsitektur image

Function Compute hanya mendukung arsitektur image AMD64. Oleh karena itu, jika Anda menggunakan perangkat yang menjalankan arsitektur ARM, seperti komputer Mac yang dilengkapi dengan chip Apple, Anda harus menentukan platform kompilasi image sebagai linux/amd64 saat membangun image. Berikut adalah contoh perintah: docker build --platform linux/amd64 -t $IMAGE_NAME .

Catatan

Setelah operasi pembuatan selesai, Anda dapat menjalankan perintah docker inspect untuk memeriksa arsitektur. Jika output berisi "Architecture" : "amd64", image yang Anda bangun memiliki arsitektur yang benar.

Persyaratan konfigurasi untuk server HTTP

  • Layanan yang dimulai dalam runtime Custom Container harus mendengarkan 0.0.0.0:CAPort atau *:CAPort. Jika Anda menggunakan port 127.0.0.1:CAPort, kesalahan timeout akan terjadi. Berikut adalah contoh pesan kesalahan:

    {
    "ErrorCode":"FunctionNotStarted",
    "ErrorMessage":"TheCA'shttpservercannotbestarted:ContainerStartDuration:25000000000.PingCAfaileddueto:dialtcp21.0.XX.XX:9000:getsockopt:connectionrefusedLogs:2019-11-29T09:53:30.859837462ZListeningonport9000"
    }

    Port mendengarkan default (CAPort) dari runtime Custom Container adalah port 9000. Jika runtime Custom Container menggunakan port mendengarkan default ini, port mendengarkan server HTTP dalam container image juga harus port 9000. Jika runtime Custom Container menggunakan port 8080 sebagai port mendengarkan, maka port mendengarkan server HTTP harus port 8080.

  • Anda harus mengaktifkan fitur keep-alive untuk koneksi dan mengatur periode timeout permintaan di sisi server menjadi 15 menit atau lebih lama. Potongan kode berikut memberikan contoh:

    // Dalam contoh ini, framework Express untuk Node.js digunakan.   
    var server = app.listen(PORT, HOST);
    server.timeout = 0; // tidak pernah timeout
    server.keepAliveTimeout = 0; // keepalive, tidak pernah timeout
  • Server HTTP harus menyelesaikan startup dalam waktu 120 detik.

Header permintaan umum

Header permintaan umum dalam runtime Custom Container sama dengan yang ada di runtime kustom. Untuk informasi lebih lanjut, lihat Header Permintaan Umum di Function Compute.

Format log

Log yang dicetak ke output standar (stdout) dalam runtime Custom Container secara otomatis dikumpulkan ke Logstore yang ditentukan di Simple Log Service. Untuk informasi lebih lanjut, lihat Konfigurasikan Logging.

Runtime Custom Container menggunakan format log yang sama dengan runtime kustom. Untuk informasi lebih lanjut, lihat Format Log Fungsi.

Praktik terbaik untuk mitigasi cold start

Kompleksitas inheren dan ukuran yang lebih besar dari container images, karena mencakup lingkungan runtime yang diperlukan, biasanya mengarah pada waktu unduh dan unpack yang lebih lama—sering disebut sebagai cold start—dibandingkan dengan paket kode yang lebih sederhana. Untuk mengurangi cold start, kami merekomendasikan agar Anda merujuk pada praktik terbaik berikut:

  • Gunakan alamat image Virtual Private Cloud (VPC) di wilayah yang sama dengan Function Compute untuk mengurangi latensi penarikan image dan meningkatkan stabilitas.

  • Minimalkan ukuran image Anda. Anda dapat membangun image kustom berdasarkan image yang diminimalkan seperti Alpine atau Ubuntu. Pertahankan hanya dependensi yang diperlukan dalam image, hapus dokumen, data, dan file yang tidak perlu.

  • Gunakan container images bersama dengan instans yang disediakan. Untuk informasi lebih lanjut, lihat Konfigurasikan Instans yang Disediakan dan Aturan Penskalaan Otomatis.

  • Dalam kasus di mana fungsi Anda aman-thread dan Anda memiliki sumber daya yang cukup, Anda dapat mengonfigurasi konkurensi instans untuk memungkinkan instans memproses beberapa permintaan sekaligus. Pendekatan ini mengurangi cold start dan menghemat biaya. Untuk informasi lebih lanjut, lihat Konfigurasikan Konkurensi Instans.

  • Setelah Anda membuat atau memperbarui fungsi, fitur akselerasi startup image, yang diaktifkan secara default di Function Compute, secara otomatis mengurangi durasi cold start. Untuk informasi lebih lanjut, lihat Percepat Startup Image untuk Container Registry Personal Edition dan Percepat Startup Image untuk Container Registry Enterprise Edition.

Penagihan

Item yang dapat ditagih untuk fungsi Custom Container sama dengan item untuk fungsi yang dijalankan di jenis runtime lainnya. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan.

Durasi penarikan image, yaitu dari waktu penarikan dimulai hingga selesai, digunakan sebagai dasar untuk menghitung biaya penggunaan sumber daya image. Misalnya, jika diperlukan 10 detik untuk menarik image untuk instance yang memiliki memori 1 GB, total konsumsi sumber daya adalah 10 GB-detik.

Container images disimpan dalam cache selama periode tertentu. Saat image yang di-cache digunakan, tidak ada biaya penarikan image.

Referensi