Cloud Functions for Firebase

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

পরবর্তী ধাপ