Apa Itu Serverless Computing?
Serverless computing telah mendominasi berita utama, acara teknologi, dan konferensi industri. Meskipun konsep 'serverless' sudah ada sejak 2006, ini merupakan konsep yang relatif baru. Banyak orang menganggap serverless sebagai evolusi alami dari model komputasi. Dalam artikel ini, kami akan membahas konsep kunci serverless computing dan memperkenalkan solusi dari Alibaba Cloud bernama Function Compute, yaitu layanan komputasi yang digerakkan oleh event dan dikelola sepenuhnya.
Evolusi Model Komputasi
Selama beberapa dekade terakhir, IT Enterprise telah berkembang dengan pesat, dari server fisik, ke virtual machine, hingga teknologi containerization.
Generasi pertama komputasi berbasis pada arsitektur Von Neumann dan menggunakan program tetap. Program-program ini biasanya terikat erat dengan perangkat keras tempat mereka berjalan. Saat kita beralih ke penyimpanan berbasis disk, sistem operasi menjadi kurang bergantung pada perangkat keras tempatnya berjalan. Namun, aplikasi perangkat lunak mulai menyerupai "monolit" di mana antarmuka pengguna dan kode akses data digabungkan menjadi satu program yang berjalan pada satu platform. Monolit-monolit ini bersifat mandiri dan setiap perubahan fungsionalitas memerlukan upaya besar. Sementara sistem operasi menjadi kurang bergantung pada perangkat keras, aplikasi itu sendiri menjadi lebih bergantung pada sistem operasi tertentu. Pada awal tahun 2000-an, jika kita harus meluncurkan aplikasi baru, kita mungkin harus merencanakan pembelian server baru terlebih dahulu. Jadi secara ringkas, server fisik adalah blok bangunan sebuah aplikasi.
Kemudian pada 2001, teknologi virtualisasi mulai mendapatkan traksi karena perangkat keras menjadi komoditas (terutama arsitektur berbasis x86) dan membuat virtual machine sangat populer. Perangkat lunak Hypervisor, yang dipopulerkan oleh perusahaan seperti VMWare, memudahkan pembuatan virtual machine. Dengan menjalankan banyak virtual machine pada satu perangkat fisik, kebutuhan untuk membeli server fisik berkurang dan blok bangunan arsitektur bergeser dari server fisik ke virtual machine.
Meskipun virtualisasi memudahkan pengoperasian mesin, image disk virtual cukup besar dan canggung, serta tidak mudah untuk di-scale sesuai kebutuhan beban kerja komputasi yang fluktuatif. Teknologi container memungkinkan virtualisasi tingkat sistem operasi dan terbukti menjadi alternatif yang jauh lebih ringan. Seiring perjalanan, kita melihat beberapa perkembangan besar lainnya. Kami akan menyebutkan beberapa yang utama.
- Pada 2009: Heroku mempopulerkan Platform as a Service, memungkinkan aplikasi 12-factor yang terkontainerisasi melalui buildpack
- Pada 2010: OpenStack menyatukan kelompok vendor yang sangat beragam untuk menciptakan infrastruktur open source as a service
- Pada 2011: CloudFoundry, sebuah PaaS open source, bersama dengan tool serupa, membantu mempercepat gerakan DevOps dengan mendukung continuous delivery sepanjang siklus hidup pengembangan aplikasi. Arsitektur berbasis container dari Cloud Foundry menjalankan aplikasi dalam bahasa pemrograman apa pun di berbagai penyedia layanan cloud
- Dan pada 2013: Docker (menggabungkan LXC, Union file system, dan cgroups) menciptakan standar containerization yang langsung populer di kalangan developer

Secara ringkas, teknologi containerization memudahkan pembangunan dan deployment arsitektur berbasis microservices, memungkinkan loose coupling yang lebih lanjut dan skalabilitas yang jauh lebih besar.
Serverless computing adalah evolusi alami dari model komputasi, seperti yang akan kita jelajahi lebih detail.
Tantangan Utama Serverless
Banyak tantangan masih ada, bahkan dengan penggunaan teknologi container. Beberapa di antaranya meliputi:
- Perencanaan kapasitas bukanlah hal yang sepele. Insinyur infrastruktur tetap perlu merencanakan penggunaan resource komputasi di muka, seperti jumlah, ukuran, atau tipe mesin yang perlu dikonfigurasi (kebutuhan CPU, memori, serta bandwidth jaringan atau I/O). Estimasi berlebihan dapat meningkatkan biaya, sedangkan estimasi kurang dapat merugikan bisnis.
- Auto scaling tingkat mesin merepotkan. Dalam beberapa kasus, proses scale out dapat memakan waktu beberapa menit. Pengelolaan auto scaling real time dan load balancing memerlukan upaya perencanaan yang besar.
- Tantangan serupa juga ada pada toleransi kesalahan, serta operasi dan pemeliharaan.
Beberapa tantangan ini dapat diatasi oleh banyak solusi open source dan proprietary, namun solusi tersebut tetap memerlukan komitmen resource dan tidak mudah untuk dieksekusi, terutama oleh bisnis kecil dan menengah.
Mari kita jelajahi bagaimana serverless computing dapat mengurangi beberapa tantangan ini.
Serverless Computing
Arsitektur serverless, juga disebut sebagai FaaS (Functions as a Service) atau Backend As A Service, memungkinkan eksekusi aplikasi melalui container yang bersifat sementara dan stateless; Container dibuat tepat saat event terjadi dan memicu kebutuhan akan tindakan. Dengan demikian, ini bersifat event driven. Aplikasi, yang dibundel sebagai satu atau lebih fungsi, diunggah ke platform dan kemudian dieksekusi, di-scale, serta ditagih sesuai dengan permintaan tepat pada saat itu. Serverless tidak berarti "tanpa server." Sebaliknya, detail orkestrasi infrastruktur disembunyikan dari pengguna dan dikelola oleh penyedia platform serverless.

Beberapa fitur utama teknologi serverless meliputi:
- Serverless Computing memungkinkan DevOps yang Disederhanakan Salah satu keunggulan utama teknologi serverless adalah memungkinkan kita membangun dan menjalankan aplikasi serta layanan tanpa memikirkan server. Dengan serverless computing, provisioning, scaling, dan pengelolaan detail server tidak lagi diperlukan. Developer dapat melupakan pengelolaan infrastruktur tempat layanan dijalankan dan berkonsentrasi pada pembangunan fungsionalitas bisnis. Serverless dapat diterapkan pada hampir semua jenis aplikasi atau layanan backend.
- Keunggulan kedua serverless adalah sangat cocok untuk arsitektur berbasis microservices. Ini juga memberikan tingkat decoupling yang tinggi antar layanan berbeda, mendukung pengembangan arsitektur berbasis microservices. Hal ini sangat memfasilitasi pengembangan arsitektur berbasis continuous rollout, selain menyederhanakan rollback bila diperlukan.
- Ketiga, teknologi Serverless memungkinkan penagihan terukur dan kita hanya membayar untuk resource yang benar-benar digunakan. Dalam hal biaya komputasi, dengan serverless computing, kita hanya membayar untuk resource komputasi yang benar-benar dipakai. Ini biasanya menghasilkan biaya yang jauh lebih rendah daripada metode komputasi tradisional.
- High availability menjadi otomatis dan terintegrasi
Komunitas serverless berkembang sangat cepat dan kita melihat banyak backend web, mobile, dan pemrosesan data yang dibangun menggunakan komponen serverless. Kasus penggunaan umum yang secara fundamental memanfaatkan pendekatan serverless meliputi chat bot, komputasi BigData, machine learning, dan internet of things (IoT).
Memperkenalkan Alibaba Cloud Function Compute
Alibaba menyediakan semua tool yang dibutuhkan developer untuk memulai perjalanan serverless mereka. Function Compute, produk inti serverless computing dari Alibaba Cloud, dapat secara dramatis meningkatkan agilitas dan menurunkan biaya operasional untuk perusahaan segala ukuran, memungkinkan mereka untuk lebih fokus menginvestasikan sumber daya pada hasil yang kritis bagi bisnis. Selain Function Compute, banyak produk cloud lainnya, termasuk storage, analytics, dan messaging, juga bersifat serverless. Misalnya, Object Storage Service (OSS), layanan cloud pertama yang diluncurkan oleh Alibaba Cloud, adalah layanan storage serverless. Pengguna tidak perlu memikirkan bagaimana data disimpan di server bawahannya, dan mereka hanya membayar untuk resource storage yang digunakan.

Alibaba Cloud Function Compute adalah layanan komputasi yang digerakkan oleh event dan dikelola sepenuhnya. Dengan Function Compute, Anda dapat dengan cepat membangun berbagai jenis aplikasi atau layanan tanpa memikirkan overhead manajemen. Function Compute menyiapkan resource komputasi untuk Anda dan menjalankan kode Anda secara elastis dan andal atas nama Anda.
Function Compute menyediakan kueri log, monitoring performa, alarm, dan beberapa fitur lainnya. Anda hanya membayar untuk resource yang benar-benar digunakan saat menjalankan kode. Tidak ada biaya untuk kode aplikasi yang tidak dijalankan.
Untuk mengetahui detail lebih lanjut tentang produk Function Compute yang ditawarkan oleh Alibaba Cloud, serta skenario umum yang memanfaatkan serverless computing, kunjungi link tersebut.
Artikel Terkait
-
Apa itu cloud computing?
Tim Knowledge Base
-
Apa itu public cloud?
Tim Knowledge Base
-
Apa itu private cloud?
Tim Knowledge Base
-
Apa itu hybrid cloud?
Tim Knowledge Base
-
Public cloud, private cloud, dan hybrid cloud
Tim Knowledge Base
-
Apa itu IaaS?
Tim Knowledge Base
-
Apa itu PaaS?
Tim Knowledge Base
-
Apa itu Containerization?
Tim Knowledge Base
-
Perbedaan antara Container dan VM
Tim Knowledge Base
