Panduan: Membuat Aplikasi Tanpa Server

Hari ini kami menyusun panduan untuk membuat aplikasi tanpa server. Ini mencakup 3 bagian utama: membuat logika tanpa server, mengatur pemicu, dan menggunakan binding. Bergabunglah sekarang!



Pendahuluan


Bayangkan Anda bekerja di perusahaan eskalator yang telah banyak berinvestasi dalam teknologi Internet of Things untuk melacak produk Anda secara lokal. Anda mengontrol pemrosesan data dari sensor suhu pada mekanisme penggerak eskalator. Anda melacak data suhu dan menambahkan tanda untuk menunjukkan bahwa suhu mekanisme drive terlalu tinggi. Dalam sistem hilir, data ini memungkinkan Anda untuk menentukan kebutuhan layanan.

Perusahaan Anda menerima data dari sensor dari beberapa tempat dan dari berbagai model eskalator. Data ini datang dalam berbagai format, termasuk mengirim file batch, pengambilan dijadwalkan dari database, pesan dalam antrian, dan data yang masuk dari hub acara. Anda ingin mengembangkan layanan yang dapat digunakan kembali yang memungkinkan Anda memproses data suhu dari semua sumber ini.

Saat mengembangkan layanan seperti ini menggunakan strategi arsitektur perusahaan tradisional, Anda harus mempertimbangkan infrastruktur server dan pemeliharaannya terlebih dahulu: mengalokasikan peralatan yang diperlukan, merencanakan pemasangannya, mengoordinasikan pekerjaan dengan departemen TI untuk mengelolanya, dll. Serverless computing merupakan alternatif. Dengan komputasi tanpa server, penyedia cloud mengelola penyediaan dan pemeliharaan infrastruktur, memungkinkan Anda untuk berkonsentrasi sepenuhnya pada pembuatan aplikasi logika. Layanan Fungsi Azure adalah komponen kunci dari penawaran Komputasi Azure Serverless, memungkinkan Anda untuk mengeksekusi cuplikan kode atau fungsi yang ditulis dalam bahasa pemrograman Anda sendiri di cloud.

Tujuan Pembelajaran


Dalam modul ini Anda akan belajar cara melakukan tugas-tugas berikut:

  • Menentukan kesesuaian komputasi tanpa server untuk memenuhi kebutuhan bisnis.
  • Buat Aplikasi Fitur Azure di Portal Azure.
  • Melakukan fungsi menggunakan pemicu.
  • Pelacakan dan Pengujian Fitur Azure di Portal Azure

Menentukan kesesuaian komputasi tanpa server untuk memenuhi kebutuhan bisnis


Untuk membantu Anda mengetahui apakah komputasi tanpa server harus diterapkan, pertama-tama kami akan memberi Anda informasi umum tentang konsep ini.

Apa itu komputasi tanpa server?


Komputasi tanpa server adalah fitur-sebagai-layanan (FaaS) atau layanan mikro yang di-host di platform cloud. Logika bisnis dijalankan dalam format fungsi, yang berarti Anda tidak perlu menyiapkan atau memperbesar infrastruktur secara manual. Semua manajemen infrastruktur dilakukan oleh penyedia layanan cloud. Aplikasi secara otomatis naik atau turun tergantung pada beban. Azure menawarkan beberapa cara untuk membuat arsitektur semacam ini. Dua pendekatan yang paling umum adalah menggunakan Aplikasi Logika Azure dan Fitur Azure. Dalam modul ini kita akan mempertimbangkannya.

Apa itu Fitur Azure?


Fitur Azure adalah platform komputasi tanpa server. Ini memungkinkan pengembang untuk mengimplementasikan logika bisnis yang dapat dieksekusi tanpa menyiapkan infrastruktur. Fungsi berskala baik secara struktural, dan Anda hanya membayar untuk sumber daya yang benar-benar digunakan. Kode fungsi dapat dibuat dalam bahasa yang nyaman, termasuk C #, F # dan JavaScript. NuGet dan NPM juga didukung, yang memungkinkan untuk menggunakan banyak perpustakaan populer dalam logika bisnis.

Manfaat Solusi Komputasi Tanpa Server


Komputasi tanpa server adalah pilihan tepat untuk hosting kode logika bisnis di cloud. Layanan tanpa server, seperti Fungsi Azure, memungkinkan Anda membuat logika bisnis dalam bahasa apa pun yang cocok untuk Anda. Anda mendapatkan penskalaan otomatis, Anda tidak perlu khawatir tentang manajemen server, dan Anda hanya membayar untuk sumber daya yang sebenarnya digunakan, dan bukan waktu yang dipesan. Berikut adalah beberapa fitur dari solusi serverless yang perlu Anda pertimbangkan.

Kurangnya alokasi infrastruktur berlebih


Misalkan Anda menyiapkan server mesin virtual dan menyediakan sumber daya yang cukup untuk beban puncak. Selama periode beban kerja ringan, Anda cenderung membayar untuk infrastruktur yang tidak digunakan. Komputasi tanpa server membantu memecahkan masalah alokasi sumber daya yang berlebihan, karena penskalaan dilakukan secara otomatis dan Anda hanya membayar pekerjaan aktif dari fungsi tersebut.

Logika Tanpa Kewarganegaraan


Fungsi stateless sangat bagus untuk komputasi tanpa server; instance fungsi dibuat dan dihapus berdasarkan permintaan. Jika pelacakan negara diperlukan, itu dapat disimpan di layanan penyimpanan yang sesuai.

Manajemen acara


Fungsi didorong oleh peristiwa. Ini berarti bahwa mereka dieksekusi hanya sebagai respons terhadap beberapa peristiwa (pemicu), misalnya, menerima permintaan HTTP atau menambahkan pesan ke antrian. Pemicu dikonfigurasikan dalam definisi fungsi. Pendekatan ini sangat menyederhanakan basis kode, memungkinkan Anda untuk mendeklarasikan hanya sumber data (pemicu / pengikatan input) dan tujuan (pengikatan output). Anda tidak perlu menulis untuk membuat kode Anda sendiri untuk bekerja dengan antrian, gumpalan, hub, dll. Yang tersisa adalah membuat logika bisnis.

Fungsi dapat digunakan dalam lingkungan komputasi tradisional.


Fungsi adalah komponen kunci dari komputasi tanpa server, tetapi pada saat yang sama berfungsi sebagai platform komputasi untuk mengeksekusi semua jenis kode. Jika aplikasi perlu diubah, Anda selalu dapat menggunakan proyek yang sama di lingkungan server yang akrab, mendapatkan fleksibilitas untuk mengontrol penskalaan, meluncurkan di jaringan virtual dan bahkan sepenuhnya mengisolasi fungsi.

Kerugian dari Solusi Komputasi Tanpa Server


Komputasi tanpa server tidak selalu optimal untuk hosting logika bisnis. Berikut ini adalah beberapa fitur yang mungkin mempengaruhi keputusan Anda untuk meng-host layanan dalam komputasi tanpa server.

Lead time


Secara default, fungsi menggunakan waktu tunggu 5 menit. Dapat ditingkatkan, tetapi tidak lebih dari 10 menit. Jika fungsinya membutuhkan waktu lebih dari 10 menit, itu dapat di-host di mesin virtual. Selain itu, jika layanan Anda dimulai dengan permintaan HTTP dan Anda berharap akan menerima respons HTTP, waktu tunggu dibatasi hingga 2,5 menit. Dan akhirnya, ada peluang tambahan untuk membuat fungsi yang stabil untuk mengatur kinerja beberapa fungsi tanpa batas waktu.

Frekuensi eksekusi


Karakteristik kedua adalah frekuensi eksekusi. Jika diharapkan bahwa beberapa klien akan terus menerus melakukan fungsi sekaligus, akan masuk akal untuk mengevaluasi penggunaan dan menghitung biaya penggunaan fungsi yang sesuai. Mungkin hosting layanan di mesin virtual lebih murah.

Saat melakukan penskalaan setiap 10 detik, hanya satu instance dari aplikasi fungsi yang dapat dibuat, tetapi tidak lebih dari 200 contoh secara total. Ingat bahwa setiap instance dapat melayani beberapa eksekusi simultan, yaitu, tidak ada batasan pada jumlah lalu lintas yang dapat diproses oleh setiap instance. Berbagai jenis pemicu memiliki persyaratan penskalaan yang berbeda. Periksa pemicu yang dipilih dan batasan terkait.

Buat aplikasi fitur di portal Azure


Tutorial ini membutuhkan kotak pasir

Kotak pasir menyediakan akses gratis ke sumber daya Azure yang Anda butuhkan untuk tutorial ini. Langganan Azure Anda tidak akan dikenakan biaya.

Masukkan kotak pasir

Sekarang Anda siap untuk mulai menerapkan layanan kontrol suhu. Dalam modul sebelumnya, Anda menentukan bahwa solusi tanpa server paling cocok untuk menyelesaikan masalah Anda. Sekarang mari kita buat aplikasi fungsi untuk menyimpan fungsi Azure.

Apa itu aplikasi fungsi?


Fungsi ditempatkan dalam konteks yang disebut aplikasi fungsi. Aplikasi fungsi memungkinkan Anda untuk secara grup mengelompokkan dan fungsi fungsi dan menghitung sumber daya di Azure. Dalam contoh kami, Anda akan membuat aplikasi fungsi untuk meng-host layanan kontrol suhu untuk drive elevator. Untuk membuat aplikasi fitur, Anda perlu membuat beberapa keputusan, termasuk memilih paket layanan dan akun penyimpanan yang sesuai.

Memilih Paket Layanan


Aplikasi fungsi dapat menggunakan salah satu dari dua jenis paket layanan. Yang pertama dari jenis ini adalah rencana layanan berbasis konsumsi. Paket ini sangat berguna saat menggunakan platform aplikasi Azure tanpa server. Paket layanan berbasis konsumsi menyediakan penskalaan otomatis, dan pembayaran hanya dibebankan selama durasi fungsi. Paket layanan berbasis konsumsi memungkinkan Anda mengonfigurasi periode tunggu untuk menyelesaikan suatu fungsi. Secara default, periode ini adalah 5 menit, tetapi dapat ditingkatkan menjadi 10 menit.

Tipe kedua adalah Paket Layanan Aplikasi Azure. Paket ini menghindari masa tunggu dengan terus menjalankan aplikasi pada mesin virtual yang dipilih. Jika Anda menggunakan paket layanan aplikasi, Anda perlu mengelola sumber daya untuk aplikasi yang menjalankan fungsinya. Sebenarnya, ini tidak memungkinkan kami untuk mempertimbangkan paket tanpa server. Tetapi dalam beberapa keadaan, itu lebih cocok, misalnya, jika fungsi digunakan terus menerus atau memerlukan lebih banyak daya pemrosesan atau waktu eksekusi yang lebih lama daripada yang dapat disediakan oleh rencana berbasis konsumsi.

Persyaratan Akun Penyimpanan


Aplikasi fungsi yang dibuat harus terikat ke akun penyimpanan. Anda dapat memilih akun penyimpanan yang ada atau membuat yang baru. Aplikasi fungsi menggunakan akun penyimpanan ini untuk operasi internal, seperti pendataan eksekusi fungsi dan manajemen pemicu eksekusi. Jika rencana layanan berbasis konsumsi digunakan, kode fungsi dan file konfigurasi juga disimpan di sini.

Membuat Aplikasi Fungsi


Mari kita membuat aplikasi fitur di portal Azure.

Masuk ke portal Azure menggunakan akun yang sama dengan yang Anda mengaktifkan kotak pasir.

Klik tombol Buat Sumber Daya di sudut kiri atas portal Azure dan pilih Mulai> Aplikasi Fungsi Tanpa Server untuk membuka kolom Buat untuk aplikasi fungsi. Kolom yang sama dapat dibuka melalui item menu Perhitungan> Fungsi-aplikasi.



Pilih nama aplikasi yang unik secara global. Ini akan digunakan sebagai URL dasar layanan Anda. Anda dapat menamainya, misalnya, eskalator-functions-xxxxxxx, menggantikan salib dengan inisial dan tahun kelahiran. Jika nama ini tidak unik secara global, coba kombinasi lainnya. Karakter yang valid adalah a - z, 0-9, dan -.

Pilih langganan Azure tempat Anda ingin meng-host aplikasi fitur.

Pilih grup sumber daya yang ada bernama [nama grup sumber daya kotak pasir].

Pilih sistem operasi Windows Anda.

Untuk Rencana Penempatan, pilih Paket Konsumsi, yang digunakan untuk alokasi tanpa server.

Dalam daftar, pilih lokasi geografis yang terdekat dengan Anda. Dalam sistem kerja, Anda harus memilih lokasi yang paling dekat dengan fungsi pelanggan atau konsumen Anda.

Kotak pasir gratis memungkinkan Anda membuat sumber daya di subset wilayah Azure global. Saat membuat sumber daya apa pun, pilih wilayah dari daftar berikut:

  • AS Barat 2
  • Midwestern Amerika Serikat
  • AS Selatan Tengah
  • AS tengah
  • AS bagian timur
  • Eropa Barat
  • Asia tenggara
  • Jepang Timur
  • Brasil selatan
  • Australia Tenggara
  • India tengah

Untuk parameter tumpukan Run-time, pilih JavaScript dari daftar drop-down, karena dalam bahasa ini kami akan menerapkan contoh fungsi dalam latihan ini.

Buat akun penyimpanan. Azure akan secara otomatis memberinya nama menggunakan nama aplikasi. Anda dapat mengganti nama ini dengan yang lain, tetapi selalu unik.

Pastikan Azure Application Insight dihidupkan dan pilih wilayah yang paling dekat dengan Anda (atau pelanggan Anda).

Pilih Buat. Penempatan akan memakan waktu beberapa menit. Setelah selesai, Anda akan menerima pemberitahuan.

Memvalidasi Aplikasi Fitur Azure


Dari menu di sisi kiri portal Azure, pilih Grup Sumber Daya. Anda kemudian akan melihat grup sumber daya [nama grup sumber daya kotak pasir] dalam daftar grup yang tersedia.

.

Pilih grup sumber daya [nama grup sumber daya kotak pasir]. Daftar sumber daya muncul, mirip dengan gambar berikut.



Elemen kilat yang ditunjuk di sini sebagai layanan aplikasi adalah fungsi aplikasi baru. Klik untuk membuka detail fitur baru. Ia diberi URL publik yang dapat dibuka di browser dan memastikan bahwa aplikasi fungsi berfungsi dengan benar.

Anda dapat terus mempelajari panduan ini di portal Microsoft Learn kami.

Source: https://habr.com/ru/post/id430194/


All Articles