Firebase-এর জন্য Cloud Functions

Firebase-এর জন্য Cloud Functions হল একটি সার্ভারলেস ফ্রেমওয়ার্ক যা আপনাকে ব্যাকগ্রাউন্ড ইভেন্ট, HTTPS অনুরোধ, Admin SDK বা Cloud Scheduler জব দ্বারা ট্রিগার করা ইভেন্টের উত্তরে অটোমেটিক ব্যাকএন্ড কোড রান করতে দেয়। আপনার JavaScript, TypeScript বা Python কোড Google Cloud ইনফ্রাস্ট্রাকচারে স্টোর করা হয় এবং ম্যানেজ করা এনভায়রনমেন্টে রান করে। আপনার নিজস্ব সার্ভার ম্যানেজ ও স্কেল করার প্রয়োজন নেই।

শুরু করা যাক ব্যবহারিক ক্ষেত্র




মূল ক্ষমতা

Firebase ফিচার ইন্টিগ্রেট করে এবং Firebase-কে Google Cloud-এর সাথে কানেক্ট করে

আপনার লেখা ফাংশন বিভিন্ন Firebase এবং Google Cloud ফিচার থেকে জেনারেট করা ইভেন্টের উত্তর দিতে পারে, Firebase যাচাইকরণ ট্রিগার থেকে Cloud Storage ট্রিগার পর্যন্ত।

Cloud Functions-এর সাথে Admin SDK ব্যবহার করে Firebase ফিচার জুড়ে ইন্টিগ্রেট করুন এবং আপনার নিজস্ব ওয়েবহুক লিখে থার্ড-পার্টি পরিষেবার সাথে ইন্টিগ্রেট করুন। Cloud Functions বয়লারপ্লেট কোড কম করে আপনার ফাংশনের মধ্যে Firebase ও Google Cloud ব্যবহার করা সহজ করে তোলে।
কোনও রক্ষণাবেক্ষণ নেই কমান্ড লাইন থেকে একটি কমান্ডের মাধ্যমে আমাদের সার্ভারে আপনার JavaScript, TypeScript বা Python কোড ডিপ্লয় করুন। তারপরে, Firebase অটোমেটিক কম্পিউটিং রিসোর্স স্কেল আপ করে যাতে আপনার ব্যবহারকারীদের ব্যবহারের প্যাটার্নের সাথে ম্যাচ করে। আপনাকে ক্রেডেনশিয়াল, সার্ভার কনফিগারেশন, নতুন সার্ভার প্রভিশন করা বা পুরনো সার্ভার ডিকমিশন করা নিয়ে চিন্তা করতে হবে না।
আপনার লজিক ব্যক্তিগত ও সুরক্ষিত রাখে অনেক ক্ষেত্রে, ডেভেলপাররা ক্লায়েন্ট সাইডে টেম্পারিং এড়াতে সার্ভারে অ্যাপ্লিকেশন লজিক নিয়ন্ত্রণ করতে পছন্দ করেন। এছাড়াও, কখনও কখনও সেই কোড রিভার্স ইঞ্জিনিয়ারিং করার অনুমতি দেওয়া উচিত নয়। Cloud Functions ক্লায়েন্ট থেকে সম্পূর্ণ আলাদা, তাই আপনি নিশ্চিত থাকতে পারেন যে এটি ব্যক্তিগত এবং সবসময় ঠিক আপনার ইচ্ছা অনুযায়ী কাজ করে।

এটি কীভাবে কাজ করে?

আপনি কোনও ফাংশন লিখে ডিপ্লয় করার পরে, Google-এর সার্ভার অবিলম্বে ফাংশনটি ম্যানেজ করতে শুরু করে। আপনি HTTP অনুরোধের মাধ্যমে সরাসরি ফাংশন ফায়ার করতে পারেন, Admin SDK অথবা শিডিউল করা জব অথবা ব্যাকগ্রাউন্ড ফাংশনের ক্ষেত্রে, Google-এর সার্ভার ইভেন্ট শোনে এবং এটি ট্রিগার করা হলে ফাংশন রান করে।

লোড বাড়া বা কমার সাথে সাথে, আপনার ফাংশন চালানোর জন্য প্রয়োজনীয় ভার্চুয়াল সার্ভার ইনস্ট্যান্সের সংখ্যা দ্রুত স্কেল করে Google উত্তর দেয়। প্রতিটি ফাংশন আলাদাভাবে, নিজস্ব কনফিগারেশন সহ নিজস্ব পরিবেশে রান করে।

ব্যাকগ্রাউন্ড ফাংশনের লাইফসাইকেল

  1. আপনি নতুন ফাংশনের জন্য কোড লেখেন, ইভেন্ট প্রোভাইডার (যেমন Cloud Firestore) বেছে নেন এবং কোন পরিস্থিতিতে ফাংশনটি কাজ করবে তা নির্ধারণ করেন।
  2. আপনার ফাংশন ডিপ্লয় করার সময়:
    1. Firebase CLI ফাংশন কোডের একটি .zip আর্কাইভ তৈরি করে, যা পরে Cloud Storage বাকেটে (gcf-sources প্রিফিক্স সহ) আপলোড করা হয়। এর পরে Cloud Functions আপনার প্রোজেক্টে একটি Artifact Registry রিপোজিটরি (gcf-artifacts নামে) তৈরি করে।
    2. Cloud Build ফাংশন কোড রিট্রিভ করে এবং ফাংশন সোর্স তৈরি করে। আপনি Google Cloud কনসোলে Cloud Build লগ দেখতে পারবেন।
    3. বিল্ট ফাংশন কোডের জন্য কন্টেনার ইমেজ আপনার প্রোজেক্টের একটি ব্যক্তিগত Artifact Registry রিপোজিটরিতে আপলোড করা হয় (যার নাম gcf-artifacts) এবং আপনার নতুন ফাংশন রোল-আউট করা হয়।
  3. ইভেন্ট প্রদানকারী যখন এমন কোনও ইভেন্ট তৈরি করে যা ফাংশনের শর্তের সাথে মেলে, তখন কোডটি ইনভোক করা হয়। ফাংশনে একটি পরিষেবা অ্যাকাউন্ট অ্যাটাচ করা আছে যা Firebase Admin SDK-এর সাহায্যে অন্যান্য Firebase পরিষেবা অ্যাক্সেস করতে ব্যবহার করা যেতে পারে।
  4. ফাংশনটি যদি অনেক ইভেন্ট ম্যানেজ করতে ব্যস্ত থাকে, তাহলে Google আরও ইনস্ট্যান্স তৈরি করে যাতে কাজ দ্রুত করা যায়। ফাংশনটি অলস থাকলে, ইনস্ট্যান্স মুছে দেওয়া হয়।
  5. আপনি আপডেট করা কোড ডেপ্লয় করে ফাংশন আপডেট করলে, পুরনো ভার্সনের ইনস্ট্যান্সগুলি Artifact Registry-এ বিল্ড আর্টিফ্যাক্ট সহ ক্লিন-আপ করা হয় এবং নতুন ইনস্ট্যান্স দিয়ে রিপ্লেস করা হয়।
  6. আপনি ফাংশনটি মুছে দিলে, সমস্ত ইনস্ট্যান্স এবং জিপ আর্কাইভ ক্লিন-আপ করা হয়, এর সাথে Artifact Registry-এ সম্পর্কিত বিল্ড আর্টিফ্যাক্টও ক্লিন-আপ করা হয়। ফাংশন ও ইভেন্ট প্রদানকারীর মধ্যে কানেকশন সরিয়ে দেওয়া হয়।

ব্যাকগ্রাউন্ড ফাংশন সহ ইভেন্ট শোনার পাশাপাশি, আপনি HTTP অনুরোধ বা ক্লায়েন্ট থেকে কল-এর মাধ্যমে সরাসরি ফাংশন কল করতে পারবেন। এছাড়াও, আপনি Admin SDK-এর মাধ্যমে নির্দিষ্ট শিডিউল বা এনকিউ টাস্ক ফাংশন ট্রিগার করতে পারবেন।

প্রয়োগ করার পাথ

Cloud Functions সেট আপ করুন আপনার Firebase প্রোজেক্টে Firebase CLI ইনস্টল করুন এবং Cloud Functions ইনিশিয়ালাইজ করুন।
ফাংশন লেখা Firebase পরিষেবা, Google Cloud পরিষেবা বা অন্যান্য ইভেন্ট প্রদানকারীর থেকে ইভেন্ট ম্যানেজ করতে JavaScript কোড, TypeScript কোড বা Python কোড লিখুন।
টেস্ট ফাংশন আপনার ফাংশন পরীক্ষা করতে লোকাল এমুলেটর ব্যবহার করুন।
ডিপ্লয় ও মনিটর করা আপনার প্রোজেক্ট যখন ব্যবহার করবেন তখন পেমেন্ট করুন Blaze প্রাইসিং প্ল্যানে আপগ্রেড করুন এবং Firebase CLI ব্যবহার করে আপনার ফাংশন ডিপ্লয় করুন। তারপরে, আপনার লগ দেখতে ও সার্চ করতে Google Cloud কনসোল ব্যবহার করতে পারবেন।

পরবর্তী ধাপ