ফায়ারবেসের জন্য Cloud Functions

Cloud Functions ফর ফায়ারবেস হলো একটি সার্ভারলেস ফ্রেমওয়ার্ক যা আপনাকে ব্যাকগ্রাউন্ড ইভেন্ট, HTTPS রিকোয়েস্ট, Admin SDK , বা Cloud Scheduler জব দ্বারা ট্রিগার হওয়া ইভেন্টের প্রতিক্রিয়ায় স্বয়ংক্রিয়ভাবে ব্যাকএন্ড কোড চালাতে দেয়। আপনার জাভাস্ক্রিপ্ট, টাইপস্ক্রিপ্ট বা পাইথন কোড গুগল ক্লাউড ইনফ্রাস্ট্রাকচারে সংরক্ষিত থাকে এবং একটি পরিচালিত পরিবেশে চলে। আপনার নিজের সার্ভার পরিচালনা এবং স্কেল করার কোনো প্রয়োজন নেই।

শুরু করুন ব্যবহারের ক্ষেত্রসমূহ




মূল সক্ষমতা

ফায়ারবেসের বৈশিষ্ট্যগুলিকে একীভূত করে এবং ফায়ারবেসকে গুগল ক্লাউডের সাথে সংযুক্ত করে।

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

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

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

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

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

একটি ব্যাকগ্রাউন্ড ফাংশনের জীবনচক্র

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

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

বাস্তবায়ন পথ

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

পরবর্তী পদক্ষেপ