Skip to content

Instantly share code, notes, and snippets.

@ejlp12
Last active April 9, 2020 03:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ejlp12/3c06e92c237f25161676ae70a73e4b1c to your computer and use it in GitHub Desktop.
Save ejlp12/3c06e92c237f25161676ae70a73e4b1c to your computer and use it in GitHub Desktop.

Tautan ke halaman ini: https://bit.ly/2RkuhLv

Apa itu komputasi serverless?

Komputasi nirserver atau serverless memungkinkan Anda untuk membangun dan menjalankan aplikasi serta layanan tanpa perlu memikirkan server. Dengan komputasi serverless, sebenarnya aplikasi Anda masih berjalan di server, tetapi semua manajemen server dilakukan oleh penyedia komputasi awan yaitu AWS. Dengan menggunakan AWS dan Serverless Platform-nya, Anda dapat membangun dan menggunakan aplikasi pada layanan hemat-biaya yang sudah menyediakan ketersediaan (availability) aplikasi yang tinggi dan kemampuan penskalaan (scalability) yang fleksibel. Ini memungkinkan Anda fokus pada kode aplikasi Anda alih-alih memikirkan penyediaan, konfigurasi, dan pengelolaan server.

Mengapa membangun aplikasi serverless?

Membangun aplikasi serverless memungkinkan Anda untuk fokus pada kode aplikasi Anda alih-alih mengelola dan mengoperasikan infrastruktur. Anda tidak perlu memikirkan penyediaan atau konfigurasi server karena AWS menangani semua ini untuk Anda. Beban manajemen infrastruktur Anda akan berkurang dan Anda mendapatkan waktu peluncuran produk ke pasar yang lebih cepat.

Membangun aplikasi tanpa server menawarkan 4 manfaat utama yaitu:

  1. Tidak ada manajemen server

    Tidak perlu menyediakan atau memelihara server apa pun. Tidak perlu menginstal, memelihara, atau mengelola perangkat lunak atau runtime.

  2. Penskalaan yang fleksibel

    Aplikasi Anda dapat ditingkatkan secara otomatis atau dengan penyesuaian kapasitasnya melalui pengubahan unit konsumsi (mis. Throughput, memori) yang lebih atomik, bukan lagi penyensuaian kapasitas dengan dengan unit server individual.

  3. Ketersediaan tinggi

    Aplikasi serverless memiliki kemampuan bawaan untuk ketersediaan yang tinggi dan fault tolerance. Anda tidak perlu merancang kemampuan ini karena layanan yang menjalankan aplikasi menyediakannya secara default.

  4. Tidak ada kapasitas siaga (idle capacity)

    Anda tidak perlu membayar kapasitas yang terbuang atau menganggur. Tidak perlu kapasitas yang perlu Anda siapkan dan tidak akan terjadi kelebihan kapasitas, seperti kapasitas komputasi dan storage. Jadi ini membuat tidak ada biaya saat kode Anda tidak berjalan.

Apa itu AWS Lambda?

AWS Lambda merupakan salah satu layanan serverless yang memungkinkan Anda menjalankan kode tanpa perlu meyiapkan atau mengelola server. Kode yang Anda buat, bahasa pemrograman sering disebut fungsi (function). Anda hanya membayar untuk waktu komputasi yang Anda konsumsi oleh fungsi Lamda tersebut. Jika tidak ada pemanggilan atau eksekusi fungsi Lambda berarti tidak ada biaya yang anda keluarkan.

Dengan Lambda, Anda dapat menjalankan kode untuk hampir semua jenis aplikasi atau layanan backend - semua tanpa administrasi. Cukup upload kode Anda maka layanan AWS Lambda akan menangani semua yang diperlukan untuk menjalankan dan penskalaan (scaling) kode Anda tersebut. Selain itu Lambda juga memberikan ketersediaan (availability) yang tinggi terhadap kode Anda.

Sebuah fungsi Lambda dapat diatur agar dipicu (tigger) secara otomatis dari layanan AWS lain atau dipanggil langsung dari aplikasi web atau aplikasi seluler (mobile application) apa pun.

AWS Lambda mendukung bahasa pemrograman Java, Go, PowerShell, Node.js, C #, Python, dan Ruby. Selain itu, Lamda juga menyediakan Runtime API yang memungkinkan Anda untuk membuat Custom Runtime yang dapat menjalankan bahasa pemrograman lain. Anda bisa melihat daftar beberapa open source Custom Lambda Runtime disini. Silakan baca dokumentasi Lambda tentang penggunaan Node.js, Python, Java, Ruby, C #, Go dan PowerShell.

Berikut adalah contoh sederhana sebuah fungsi Lambda yang ditulis dengan JavaScript (NodeJS):

exports.handler = function (event, context) {
	'use strict';
	console.log(event);
	context.succeed('hello world');
};

Jika Anda sudah memiliki akun AWS dan punya waktu kira-kira 10 menit, anda bisa mulai membuat dan bereksperimen dengan lambda dengan mengikuti tutorial ini.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment