Serverless Computing 101

Pengarang: Roger Morrison
Tanggal Pembuatan: 22 September 2021
Tanggal Pembaruan: 1 Juli 2024
Anonim
Serverless Computing in 100 Seconds
Video: Serverless Computing in 100 Seconds

Isi


Sumber: Wavebreakmediamicro / Dreamstime.com

Bawa pulang:

Komputasi tanpa server sebenarnya sedikit keliru - server memang terlibat, mereka hanya ada di cloud.

Bagi yang belum tahu, gagasan tentang komputasi tanpa server nampaknya tidak masuk akal karena dalam sejarah pengembangan perangkat lunak, server sangat diperlukan. Yah, masih begitu. Komputasi tanpa server tidak perlu dianggap secara harfiah, karena itu tidak membuat server menjadi usang. Dalam skema komputasi tanpa server, server terus memainkan peran penting, tetapi dengan perbedaan tertentu.

Pengembang perangkat lunak tidak lagi diharuskan untuk memikirkan server atau menyesuaikan pengkodean berdasarkan server. Mereka dapat fokus sepenuhnya pada pengkodean sementara server, yang dihosting di cloud, mengurus pemrosesan kode. Tidak perlu merencanakan kapasitas server karena di cloud, mereka mampu menaikkan dan turun berdasarkan persyaratan. Seluruh server tidak tetap aktif sepanjang waktu. Berdasarkan persyaratan, bagian-bagian itu menjadi aktif, melakukan pekerjaan mereka dan kemudian menjadi tidak aktif.


Banyak yang berpendapat bahwa komputasi tanpa server dapat meningkatkan efisiensi komputasi dan menurunkan biaya operasional; mereka melihatnya sebagai cara komputasi revolusioner. Tapi tidak semua orang setuju. Di sisi lain dari argumen, sedang diimbangi bahwa komputasi tanpa server akan meningkatkan kompleksitas, dan tidak ada banyak cara untuk mengelola kompleksitas.

Apa itu Serverless Computing?

Seperti yang telah dinyatakan, komputasi tanpa server tidak berarti komputasi atau pengembangan perangkat lunak dapat terjadi tanpa server. Bahkan, server hanya di-host di cloud oleh vendor pihak ketiga. Oleh karena itu, pengembang perangkat lunak hanya perlu fokus pada kode mereka, dan tidak perlu memikirkan server, kapasitas, penyebaran atau hal-hal seperti itu. Server memiliki bagian yang berbeda di dalamnya, yang dikenal sebagai fungsi, yang memproses kode. Tidak seperti dalam komputasi tradisional, seluruh server tidak tetap aktif sepanjang waktu. Fungsi melakukan tugas tertentu - misalnya, validasi dan pencarian - dan diaktifkan hanya jika diperlukan. Fungsi dapat ditingkatkan atau diturunkan berdasarkan persyaratan. Sama seperti layanan cloud lainnya seperti perangkat lunak sebagai layanan (SaaS) atau platform sebagai layanan (PaaS), fungsinya juga ditawarkan berdasarkan berlangganan. Pelanggan hanya dikenai biaya selama suatu fungsi tetap aktif.


Sejarah

Komputasi tanpa server adalah konsep yang agak baru dalam pengembangan perangkat lunak dan akarnya dapat ditelusuri kembali ke tahun 2006. Pada tahun 2006, sebuah layanan bernama Zimki menawarkan solusi yang memungkinkan pengembang perangkat lunak untuk menulis kode dan mengunggahnya ke server Zimkis. Eksekusi kode dilakukan oleh fungsi-fungsi yang ditawarkan dalam bentuk antarmuka pemrograman aplikasi (API).

Perkembangan besar berikutnya terjadi pada 2014 ketika Amazon memperkenalkan sistem pay-as-you-go untuk platform eksekusi kode dalam bentuk AWS Lambda. Namun, menarik untuk dicatat bahwa butuh waktu lama bagi konsep novel untuk menemukan daya tarik (2006 hingga 2014). Untuk beberapa alasan, perkembangan komputasi tanpa server tidak cukup menyamai ide-ide lain seperti cloud computing atau internet of things (IoT). Namun demikian, AWS Lambda adalah penawaran tanpa server pertama dari sebuah perusahaan besar, dan banyak penawaran lainnya mengikuti, termasuk penawaran Googles, yang dikenal sebagai Google Cloud Functions. Pada tahun 2016, baik IBM dan Microsoft melompat ke kereta musik tanpa server dengan membuka OpenWhisk dan Fungsi Azure, masing-masing.

Menyelam Lebih Dalam

Poin yang baik untuk mulai memahami komputasi tanpa server pada tingkat yang lebih dalam adalah perbandingan antara komputasi tanpa server dan PaaS. Meskipun mereka berbeda sebagai konsep, PaaS sebenarnya adalah langkah pertama menuju penawaran tanpa server. Sementara PaaS menawarkan platform dan lingkungan yang memungkinkan pengembang untuk membangun aplikasi perangkat lunak melalui internet, masih ada kebutuhan untuk merencanakan kapasitas yang diperlukan untuk perangkat lunak di cloud. Namun, tidak perlu memikirkan server dengan cara apa pun saat Anda bekerja dengan komputasi tanpa server. Pengembang perangkat lunak hanya kode dan mengunggah kode ke cloud, dan kemudian server mengambil alih.

Komputasi tanpa server juga disebut fungsi sebagai layanan (FaaS) karena fungsi kecil ditawarkan pada model bisnis pay-as-you-go. Fungsi semacam itu melakukan tugas kecil - misalnya, memvalidasi kredensial pengguna. Fungsi-fungsi tersebut ditawarkan dalam bentuk API. Mungkin ada beberapa fungsi yang mungkin diperlukan untuk aplikasi perangkat lunak, tetapi tidak semua fungsi menjadi aktif secara bersamaan; mereka hanya aktif setiap kali mereka diminta. Misalnya, jika satu fungsi telah menerima volume lalu lintas yang tinggi dan terlalu banyak bekerja, ia dapat ditingkatkan dan kapasitasnya meningkat. Jadi, Anda tidak perlu mengukur seluruh aplikasi.

Tanpa Bug, Tanpa Stres - Panduan Langkah Demi Langkah Anda untuk Membuat Perangkat Lunak yang Mengubah Hidup Tanpa Menghancurkan Kehidupan Anda

Anda tidak dapat meningkatkan keterampilan pemrograman Anda ketika tidak ada yang peduli dengan kualitas perangkat lunak.

Mengapa Serverless Computing Penting?

Pentingnya komputasi tanpa server terletak pada perbedaannya dengan komputasi tradisional. Komputasi tradisional telah melayani bisnis dengan baik, tetapi menimbulkan beberapa tantangan: biaya, memakan waktu, tidak ada pengkodean terfokus dan kesulitan dalam meningkatkan atau menurunkan. Perusahaan telah mencari solusi untuk masalah ini. Manfaat unik dari komputasi tanpa server meliputi:

  • Fokus pada pengkodean
    Dalam komputasi tradisional, pengembang harus memikirkan server dan menyesuaikan pengkodean yang sesuai. Dalam komputasi tanpa server, mereka hanya perlu fokus pada pengkodean, dan sisanya ditangani oleh server yang dihosting di cloud. Peningkatan fokus ini mengarah pada kualitas kode yang lebih baik.
  • Pengodean berpotensi lebih mudah
    Jika kode Anda berorientasi komputasi tanpa server, maka semua yang akan Anda lakukan adalah menulis potongan kode yang lebih kecil yang diproses oleh fungsi khusus masing-masing dan memastikan bahwa kode tersebut terintegrasi dengan baik dengan potongan kode lainnya.
  • Lebih mudah untuk meningkatkan atau menurunkan
    Karena seluruh infrastruktur komputasi tanpa server adalah tentang fungsi-fungsi kecil, tidak perlu untuk menaikkan atau menurunkan seluruh infrastruktur - hanya skala fungsi yang diperlukan. Dengan begitu, pemrosesan dan penskalaan terjadi jauh lebih cepat juga.
  • Lebih murah
    Biasanya, perusahaan yang menggunakan layanan komputasi tanpa server membayar untuk berlangganan dan kemudian untuk penggunaan fungsi. Namun, ia hanya membayar untuk saat suatu fungsi aktif dan digunakan. Dengan kata lain, perusahaan hanya membayar apa yang mereka konsumsi.

Contoh Komputasi Tanpa Server

AWS Lambda adalah salah satu contoh penawaran tanpa server yang paling menonjol. Ini memungkinkan perusahaan untuk hanya menulis dan mengunggah kode ke Lambda. Saat dibutuhkan, Lambda dapat secara otomatis mengukur aplikasi dengan menjalankan kode sebagai respons terhadap pemicu. Saat beban kerja pada suatu fungsi atau API meningkat, fungsi tersebut diskalakan. Klien ditagih berdasarkan pengukuran sub-detik, yang berarti klien dikenakan biaya untuk setiap 100 ms kode dijalankan dan berapa kali kode dipicu. Dengan begitu, tidak perlu membayar ketika tidak ada eksekusi kode.

Kesimpulan

Untuk semua keunikannya, penawaran tanpa server bukannya tanpa batasan. Beberapa fungsi kecil berpotensi membuat sistem yang sangat kompleks, apalagi jika aplikasi perangkat lunaknya besar. Situasi ini juga diperparah oleh terbatasnya ketersediaan alat untuk mengelola kompleksitas seperti itu. Namun, komputasi tanpa server akan dipandang sebagai solusi untuk sistem monolitik yang harus dihadapi perusahaan. Itu masih dalam keadaan baru dan organisasi masih menemukan cara untuk membuatnya bekerja untuk mereka, karena mendapatkan lebih banyak penerimaan di antara perusahaan.