Mengenal Layanan Serverless dari Berbagai Cloud Provider

2 min read

Disclaimer
Saya bekerja di AWS, semua opini adalah dari saya pribadi. (I work for AWS, my opinions are my own.)
Layanan Serverless dari Berbagai Cloud Provider
Layanan Serverless (Ilustrasi: Rio Astamal)

TeknoCerdas.com – Salam cerdas untuk kita semua. Jika pada tulisan sebelumnya TeknoCerdas membahas layanan Kubernetes. Pada tulisan ini penulis akan membahas layanan Serverless dari berbagai cloud provider.

Ditengah tren cloud computing layanan Serverless adalah salah satu yang paling populer. Serverless bukan berarti tidak ada server yang berjalan dibelakangnya. Serverless merupakan layanan yang membebaskan pengembang dalam urusan infrastruktur dan cukup fokus pada kode mereka saja.

Dengan Serverless pengembang tidak perlu memikirkan bagaimana jika layanan mereka di kunjungi 1 orang atau mungkin 1 juta orang. Secara otoamtis Serverless akan melakukan scaling untuk memenuhi permintaan traffic yang diperlukan.

Secara umum skema biaya untuk Serverless dibagi menjadi dua yaitu biaya untuk komputasi dan biaya untuk request.

Pada tulisan ini layanan yang akan dibahas secara singkat adalah dari AWS, Google Cloud, Microsoft Azure dan Cloudflare.

AWS Lambda

Jika berbicara Serverless maka AWS adalah pionir untuk layanan ini. AWS adalah salah satu provider yang paling pertama menyediakan layanan ini kepada publik. AWS Lambda adalah layanan Serverless dari AWS yang diperkenalkan sejak akhir 2014. Sejak saat itu banyak cloud provider lain mengikuti jejak AWS.

Bahasa pemrograman atau runtime yang didukung oleh Lambda saat ini adalah:

  • NodeJS 12 dan 10
  • Python 2.7, 3.6, 3.7 dan 3.8
  • Ruby 2.5 dan 2.7
  • Java 8 dan 11
  • Go 1.x
  • .NET Core 2.1 dan 3.1
  • Custom Runtime

Sehingga total secara default AWS Lambda mendukung 13 runtime. Fitur menarik dari Lambda adalah pengguna bisa menggunakan Custom Runtime jika bahasa pemograman yang ingin digunakan tidak didukung. Dengan demikian secara teori AWS Lambda mendukung semua bentuk eksekusi dan bahasa pemrograman.

Biaya untuk setiap ekekusi dari Lambda dengan memory 128MB adalah sebesar $0.0000002083 per 100ms. Biaya tergantung dari jumlah memory yang dialokasikan pada Lambda.

Sedangkan untuk biaya request adalah $0.2 per 1 juta request. Setiap bulan 1 juta request pertama adalah gratis. Masih ada variabel lain yang menentukan biaya namun diatas adalah gambaran secara singkat.

Untuk mempelajari AWS Lambda lebih lanjut silahkan ikuti tautan https://aws.amazon.com/lambda/.

Google Cloud Functions

Cloud Functions adalah layanan Serverless yang dikeluarkan oleh Google Cloud. Google meluncurkan secara resmi Cloud Functions pada 2018. Meskipun versi beta diperkenalkan dari 2016. Terhitung cukup telat jika dibanding AWS Lambda.

Bahasa pemrograman atau runtime yang didukung oleh Cloud Functions saat ini adalah:

  • NodeJS 10
  • Python 3.7
  • Go 1.11 dan 1.13
  • Java 11

Sayangnya Cloud Functions tidak menyediakan custom runtime sehingga pengguna hanya dapat memilih dari pilihan runtime yang terbatas. Meskipun secara teori dengan JVM pengguna bisa menggunakan bahasa lain.

Biaya layanan untuk Cloud Functions untuk memory 128MB adalah sebesar $0.000000231 per 100ms. Biaya akan semakin tinggi berkesesuaian jumlah memory yang dialokasikan.

Jika AWS Lambda memberikan gratis 1 juta request pertama. Maka Cloud Functions memberikan gratis 2 juta request pertama. Sebuah pilihan yang cukup menarik.

Untuk mempelajari Google Cloud Functions lebih lanjut silahkan ikuti tautan https://cloud.google.com/functions/.

Azure Functions

Azure Functions adalah layanan Serverless yang disediakan oleh Microsoft Azure. Menurut penulis Azure Functions adalah salah satu penantang serius dari AWS Lambda. Azure Functions sudah cukup lama dirilis secara resmi ke publik yaitu Januari 2017.

Bahasa pemrograman atau runtime yang didukung oleh Azure Functions saat ini adalah:

  • NodeJS 6, 8, 10 dan 12
  • .NET Framework 4.7, .NET Core 2.2 dan 3.1
  • Java 8
  • PowerShell Core 6
  • Python 3.6, 3.7 dan 3.8

Jika dilihat cukup banyak runtime yang disediakan oleh Azure. Namun tetap masih belum dapat melampui AWS Lambda karena absennya custom runtime.

Dalam dokumentasi resminya Azure Functions tidak menyebutkan secara spesifik tentang biaya eksekusi untuk memory 128MB. Yang ditampilkan hanyalah harga Gigabyte-detik dimana biayanya adalah $0.000016 per GB-detik.

Sama dengan AWS Lambda untuk 1 juta request pertama Azure memberikannya secara gratis. Sedangkan untuk selanjutnya $0.2 per 1 juta request.

Untuk mempelajari lebih lanjut tentang Azure Functions gunakan tautan https://azure.microsoft.com/en-us/services/functions/.

Cloudflare Workers

Cloudflare Workers adalah layanan Serverless dari Cloudflare, penyedia global CDN dan Reverse Proxy yang populer. CloudFlare Workers diluncurkan ke publik pada Q1 2018.

Bahasa pemrograman atau runtime yang didukung oleh Cloudflare saat ini adalah Javascript diatas V8 engine. Yang menarik adalah karena menggunakan V8 maka Cloudflare juga mendukung Web Assembly (WASM). Sehingga bahasa pemrograman lain dapat digunakan. Pada dokumentasi resminya Cloudflare memberikan contoh menjalankan Rust pada Workers.

Biaya yang diperlukan untuk menggunakan Cloudflare Worker adalah gratis dengan beberapa limitasi. Untuk menghilankan limitasi maka pengguna dapat melakukan upgrade ke paket Unlimited.

Biaya paket Unlimeted adalah flat $5 per bulan. Untuk jumlah request dikenakan biaya $0.5 per 1 juta request.

Untuk mempelajari Cloudflare Workers lebih lanjut gunakan tautan https://workers.cloudflare.com/.