Kapan memilih Azure Functions untuk menjalankan logika bisnis Anda

Selesai

Sekarang mari kita lihat proses lain dari bisnis penyewaan sepeda kami dan memutuskan teknologi apa yang paling sesuai dengan kebutuhan kita. Kami akan mempertimbangkan aspek teknis dari proses, audiens, dan bagaimana proses kami perlu berkembang.

Skenario

Teknisi sepeda Anda saat ini menggunakan lembar bentang untuk mencatat tindakan yang mereka ambil untuk memperbaiki dan merawat setiap sepeda. Kesulitan muncul ketika suku cadang dibutuhkan, karena staf tidak mengetahui kapan sepeda menunggu perbaikan atau suku cadang. Masalah ini mengakibatkan sepeda disewakan kepada pelanggan dengan bantalan rem yang dikenakan, ban kempes, dan kesalahan lain yang dapat merusak merek perusahaan sebagai perusahaan penyewaan sepeda berkualitas tinggi.

Anda ingin membangun sistem yang mengatur proses pemeliharaan dan perbaikan serta memungkinkan semua orang untuk menemukan jawaban atas pertanyaan-pertanyaan berikut.

  • Pekerjaan apa yang telah terselesaikan di suatu sepeda?
  • Pekerjaan apa yang masih harus diselesaikan sebelum sepeda dapat disewakan lagi?
  • Sepeda mana yang saat ini tersedia untuk disewa?
  • Sepeda mana yang saat ini tidak tersedia untuk disewa?
  • Untuk setiap sepeda yang tidak tersedia:
    • Mengapa kita tidak bisa menyewakannya?
    • Apakah kita menunggu suku cadang, dan apa saja suku cadang itu?
    • Kapan sepeda kemungkinan akan tersedia lagi untuk disewakan?

Anda ingin mengintegrasikan sistem ini dengan proses pemesanan dan penyewaan sepeda dari unit terakhir. Dengan demikian, ketika staf toko mencari sepeda yang tersedia, mereka hanya menemukan sepeda yang saat ini tersedia untuk disewa. Manajer Anda telah meminta Anda untuk menjadi pengembang pada proyek ini.

Proses bisnis

Anda ingin memastikan bahwa teknisi sepeda di kedua kampus tetap berpegang pada alur kerja berikut ketika memelihara sepeda mengikuti penyewaan:

Decision flow diagram detailing the logic for the Bike maintenance workflow.

Detailnya adalah sebagai berikut:

  1. Pelanggan mengembalikan sepeda ke lokasi mana pun. Proses pemeliharaan sepeda dimulai.
  2. Teknisi menandai sepeda sebagai tidak tersedia.
  3. Teknisi melengkapi daftar lengkap pemeriksaan termasuk ban, rem, rantai penggerak, dan lampu.
  4. Apakah diperlukan suku cadang baru?
    1. Suku cadang baru diperlukan, tetapi kita tidak memiliki suku cadang tersebut dalam stok.
      1. Teknisi memesan suku cadang baru
      2. Suku cadang tiba
    2. Memasang suku cadang baru
  5. Teknisi menyelesaikan perubahan akhir.
  6. Teknisi menandai sepeda sebagai tersedia untuk disewakan.

Pilih teknologi

Untuk menerapkan proses bisnis dan berintegrasi dengan database lokasi sepeda, mari pertimbangkan serangkaian teknologi berikut.

  • Microsoft Power Automate
  • Azure Logic Apps
  • Azure Functions
  • Azure Service Apps WebJobs

Seperti dalam skenario sebelumnya, salah satu teknologi ini dapat digunakan untuk membangun alur kerja. Namun, ada dua masalah yang menentukan pilihan optimal.

Design-first atau code-first?

Untuk menerapkan alur kerja ini hanya dengan Logic Apps atau Power Automate adalah hal yang sulit. Meskipun kami belum mendengar terlalu banyak detail tingkat rendah, jelas bahwa proses ini perlu mengakses sistem inventaris dan melakukan pemesanan dengan perusahaan suku cadang pihak ketiga. Hal ini adalah logika bisnis baru dan tidak ada persyaratan bahwa kami mempertimbangkan pendekatan yang mengutamakan desain. Kami dapat menyimpulkan solusi kami dalam konektor khusus untuk diintegrasikan dengan alur kerja lain yang dibuat dengan Logic Apps atau Power Automate. Sebagai seorang pengembang, Anda memiliki fleksibilitas terbesar dengan mendekati skenario ini dari pendekatan code-first, jadi mari kita lakukan ini!

Azure Functions atau Azure Apps Service WebJobs?

Kita harus membuat keputusan antara dua teknologi berikut.

  • Azure Functions
  • Azure App Service WebJobs

Faktor-faktor berikut akan memengaruhi pilihan Anda:

  • Biaya: Dengan WebJobs, Anda membayar seluruh VM atau Paket App Service yang menghosting pekerjaan. Azure Functions dapat berjalan pada paket konsumsi, sehingga Anda hanya membayar saat fungsi berjalan. Karena proses ini hanya dimulai ketika sepeda dikembalikan, kita mungkin menghemat uang dengan memilih Azure Functions.
  • Integrasi: Anda ingin mengintegrasikan alur kerja pemeliharaan dengan Logic App yang Anda buat untuk proses pemesanan dan penyewaan sepeda di unit sebelumnya. Meskipun memungkinkan untuk memanggil WebJob dari Aplikasi Logika, integrasi antara Logic Apps dan Functions lebih dekat. Misalnya, Anda dapat dengan lebih mudah mengontrol panggilan Anda ke Fungsi dari perancang visual Logic Apps.

Untuk alasan ini, kita akan memilih Azure Functions untuk mengelola proses bisnis perawatan sepeda Anda.