Application Design Center (ADC) ও Firebase ব্যবহার শুরু করা

Firebase Google Cloud থেকে Application Design Center (ADC)-এর সাথে ইন্টিগ্রেট করে যাতে এন্টারপ্রাইজ গ্রাহকরা স্ট্যান্ডার্ডাইজেশন ও গভর্নেন্সের প্রয়োজনীয়তা পূরণ করতে পারেন এবং একই সাথে তাদের অ্যাপ ডেভেলপারদের দ্রুত শিপ করার ক্ষমতা প্রদান করতে পারেন। ADC ব্যবহার করলে তা নিশ্চিত করে যে ইনফ্রাস্ট্রাকচার পূর্বনির্ধারিত টেমপ্লেট-এর মাধ্যমে সাংগঠনিক স্ট্যান্ডার্ড এবং পেশাদার পদ্ধতি মেনে চলে যা রিসোর্স প্রভিশন করা, IAM অনুমতি প্রদান করা ইত্যাদির জন্য গার্ডরেল নির্ধারণ করে।

এই পৃষ্ঠায়, নিম্নলিখিত বিষয়গুলি সম্পর্কে জানুন:

ADC ও Firebase-এর ওভারভিউ

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

ADC ব্যবহার করার সময়, "অ্যাপ" বলতে রিসোর্স ও পরিষেবার লজিক্যাল গ্রুপিংকে বোঝায় যা একসাথে কোনও ব্যবসায়িক ফাংশন প্রদান করে। Firebase ডেভেলপারদের জন্য, আপনি একটি ADC "অ্যাপ"কে Firebase প্রোজেক্টের সমতুল্য হিসেবে ভাবতে পারেন, যেখানে আপনার রেজিস্টার করা iOS, Android এবং ওয়েব অ্যাপ প্রোজেক্টের জন্য একই রিসোর্স ও পরিষেবা শেয়ার করে এবং অ্যাক্সেস করতে পারে।

শুরু করার জন্য, আমরা সাজেস্ট করি যে আপনি ADC-এর সাথে কাজ করুন, তাদের GUI অভিজ্ঞতা ব্যবহার করে, যাকে ডিজাইন ক্যানভাস বলা হয় যা Google Cloud কনসোলে উপলভ্য। ডিজাইন ক্যানভাস আপনাকে আপনার অ্যাপের জন্য উপলভ্য করতে চান এমন পরিকাঠামোর আর্কিটেকচার ডায়াগ্রাম ভিজ্যুয়ালাইজ এবং তৈরি করতে দেয়।

মনে রাখবেন যে ADC Terraform দ্বারা পরিচালিত, তাই আপনি সবসময় ইনফ্রাস্ট্রাকচারের কোড ডেফিনিশন অ্যাক্সেস করতে পারবেন যা ADC ব্যবহার করে সংজ্ঞায়িত করা হয়েছে।

মানানসই Firebase প্রোডাক্ট

এখানে Firebase প্রোডাক্টের প্রাথমিক সেট দেওয়া হল যা ADC-এর সাথে ব্যবহার করা যাবে:

ADC ব্যবহার করার জন্য মূল পারসোনা

ADC বোঝার ও ব্যবহার করার একটি সাধারণ উপায় হল দুটি চরিত্রের ভিত্তিতে ADC-সম্পর্কিত টাস্ককে ভাগ করা:

  • প্ল্যাটফর্ম ইঞ্জিনিয়ার: এই পারসোনা ADC ক্যাটালগে আবার ব্যবহার করা যায় এমন, নীতি-এনফোর্স করা ADC টেমপ্লেট ডিজাইন, যাচাই ও প্রকাশ করে।

  • অ্যাপ্লিকেশন ডেভেলপার: এই পারসোনা ইনফ্রাস্ট্রাকচার কনফিগার ও ডিপ্লয় করতে প্রকাশিত ADC টেমপ্লেট (যেমন, টিমের ADC ক্যাটালগ থেকে) ব্যবহার করে। এছাড়াও, তারা অ্যাপের আসল কোডবেস ও ফিচার ডেভেলপ করেন।

অ্যাক্সেস কন্ট্রোল করার জন্য প্রয়োজনীয় IAM ভূমিকা

IAM ভূমিকা অ্যাসাইন করার মাধ্যমে, আপনি নিয়ন্ত্রণ করতে পারবেন যে কোন প্রোজেক্ট মেম্বার (বা প্রিন্সিপাল) নির্দিষ্ট টাস্ক করতে পারবেন।

যেমন, আপনি প্ল্যাটফর্ম ইঞ্জিনিয়ারকে অ্যাপ্লিকেশন ডিজাইন সেন্টার অ্যাডমিন ভূমিকা (roles/designcenter.admin) অ্যাসাইন করতে পারেন, যাকে স্পেস তৈরি ও অ্যাসাইন করতে, ক্যাটালগ ম্যানেজ করতে এবং টেমপ্লেট ডিজাইন করতে হয়। তবে, আপনি সম্ভবত শুধুমাত্র অ্যাপ্লিকেশন ডেভেলপারকে অ্যাপ্লিকেশন এডিটর ভূমিকা (roles/designcenter.applicationEditor) অ্যাসাইন করবেন যাতে তারা টেমপ্লেট ব্যবহার করতে পারেন, কিন্তু টেমপ্লেট তৈরি করতে না পারেন।

নিম্নলিখিত সারণীতে ADC-সম্পর্কিত টাস্ক, তাদের উদ্দিষ্ট পার্সোনা এবং তাদের প্রয়োজনীয় ভূমিকা বর্ণনা করা হয়েছে:

টাস্ক পারসোনা IAM ভূমিকা ১
টেমপ্লেট তৈরি ও ম্যানেজ করা
সম্পূর্ণ ADC লাইফসাইকেল ম্যানেজ করা
(যার মধ্যে স্পেস, ক্যাটালগ, টেমপ্লেট, অ্যাপ কনফিগার ও ডিপ্লয় করা অন্তর্ভুক্ত)
প্ল্যাটফর্ম ইঞ্জিনিয়ার ম্যানেজমেন্ট প্রোজেক্টে অ্যাপ্লিকেশন ডিজাইন সেন্টার অ্যাডমিন
(roles/designcenter.admin)
টেমপ্লেট তৈরি ও ম্যানেজ করার পাশাপাশি অ্যাপ কনফিগার ও ডিপ্লয় করা প্ল্যাটফর্ম ইঞ্জিনিয়ার অ্যাপ্লিকেশন ডিজাইন সেন্টার ব্যবহারকারী
(roles/designcenter.user) ম্যানেজমেন্ট প্রোজেক্টে
অ্যাপ ডিপ্লয় করার জন্য ADC পরিষেবা অ্যাকাউন্ট তৈরি করুন
পরিষেবা অ্যাকাউন্ট তৈরি করুন প্ল্যাটফর্ম ইঞ্জিনিয়ার পরিষেবা অ্যাকাউন্ট তৈরি করুন
(roles/iam.serviceAccountCreator) ম্যানেজমেন্ট প্রোজেক্টে
ADC ডেপ্লয়মেন্টের জন্য ব্যবহৃত প্রজেক্টে পরিষেবা অ্যাকাউন্টকে অ্যাক্সেস দিন প্ল্যাটফর্ম ইঞ্জিনিয়ার ডেপ্লয়মেন্ট প্রোজেক্টে প্রোজেক্ট IAM অ্যাডমিন
(roles/resourcemanager.projectIamAdmin)
ADC অ্যাপ কনফিগার ও ডিপ্লয় করুন
সম্পূর্ণ অ্যাপ লাইফসাইকেল কন্ট্রোল করা
(সোর্স কোড ও CI/CD সিস্টেমের সাথে ইন্টিগ্রেশন সহ)
অ্যাপ্লিকেশন ডেভেলপার অ্যাপ্লিকেশন অ্যাডমিন
(roles/designcenter.applicationAdmin) ম্যানেজমেন্ট প্রোজেক্টে
অ্যাডমিনের সেট-আপ করা আগে থেকে থাকা টেমপ্লেট ও কানেকশনের ভিত্তিতে অ্যাপ কনফিগার ও ডিপ্লয় করুন অ্যাপ্লিকেশন ডেভেলপার অ্যাপ্লিকেশন এডিটর
(roles/designcenter.applicationEditor) ম্যানেজমেন্ট প্রোজেক্টে

১ এইসব ভূমিকার মধ্যে কয়েকটি ম্যানেজমেন্ট প্রোজেক্টে সেট করতে হবে, যা Google Cloud হায়ারার্কির মধ্যে টপ-লেভেল রিসোর্স।

সাধারণ ওয়ার্কফ্লো

এই বিভাগে ADC টেমপ্লেট তৈরি ও ব্যবহার করার সাধারণ ওয়ার্কফ্লো বর্ণনা করা হয়েছে। ধাপগুলি সেই ব্যক্তির সাথে ট্যাগ করা হয় যিনি সাধারণত ধাপটি সম্পাদন করেন।

  1. ধাপ ১: ADC সেট-আপ করুন (প্ল্যাটফর্ম ইঞ্জিনিয়ার)
  2. ধাপ ২: টেমপ্লেট তৈরি করুন (প্ল্যাটফর্ম ইঞ্জিনিয়ার)
  3. ধাপ ৩: টেমপ্লেট ব্যবহার করা (অ্যাপ্লিকেশন ডেভেলপার)
  4. ধাপ ৪: আপনার আসল অ্যাপ ডেভেলপ করুন (অ্যাপ্লিকেশন ডেভেলপার)

ধাপ ১: ADC সেট-আপ করুন (প্ল্যাটফর্ম ইঞ্জিনিয়ার)

ADC সেট-আপ করতে প্ল্যাটফর্ম ইঞ্জিনিয়ার পারসোনা (বা তার থেকে উচ্চতর) এই টাস্কগুলি সম্পূর্ণ করেন। ADC ব্যবহার করার জন্য সবকিছু সেট-আপ করতে, সাধারণত এইসব টাস্ক একবারই সম্পূর্ণ করতে হয়।

  1. প্রাথমিক ADC সেট-আপ।

    Google Cloud ডকুমেন্টেশনে ADC-এর জন্য প্রাথমিক সেট-আপ গাইড-এ উল্লেখ করা ধাপ ও নির্দেশিকা অনুসরণ করুন। মনে রাখবেন, এই গাইড ধরে নেয় যে আপনি ফোল্ডার-লেভেল বাউন্ডারি সেট-আপ করবেন।

    এই সেট-আপ সম্পূর্ণ করার পরে, আপনার কাছে একটি স্পেস থাকা উচিত, যা হল একটি টিমের জন্য কোলাবরেট, টেমপ্লেট তৈরি এবং অ্যাপ্লিকেশন ডিপ্লয় করার জন্য একটি নির্দিষ্ট জায়গা। আপনি যাদের সাথে ADC-এ কাজ করতে চান, তাদের সাথে এই স্পেস (এবং ফোল্ডার ও ক্যাটালগ) শেয়ার করা হয়েছে কিনা তা ভালভাবে দেখে নিন।

  2. স্পেসের জন্য অ্যাক্সেস ও ব্যবহারকারী সেট-আপ করুন।

    Google Cloud ডকুমেন্টেশনে ADC-এর জন্য স্পেস ব্যবহারকারীদের ম্যানেজ করুন লিঙ্কে দেওয়া ধাপগুলি অনুসরণ করুন। অ্যাক্সেস নিয়ন্ত্রণ করার জন্য প্রয়োজনীয় IAM ভূমিকা সম্পর্কে এই পৃষ্ঠায় আগে উল্লেখ করা নির্দেশিকা ব্যবহার করুন।

  3. প্রি-প্রভিশন প্রোজেক্ট।

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

  4. ডেপ্লয়মেন্ট পরিষেবা অ্যাকাউন্ট কনফিগার করুন।

    ADC একটি কঠোরভাবে স্কোপ করা পরিষেবা অ্যাকাউন্ট ব্যবহার করে রিসোর্সের অটোমেটেড প্রভিশনিং ম্যানেজ করে। এটি অ্যাপ্লিকেশন ডেভেলপারকে ইনফ্রাস্ট্রাকচার ডিপ্লয় করার জন্য নিজের অ্যাকাউন্ট ব্যবহার করা থেকে আটকায়।

    আপনার তৈরি করা টেমপ্লেটের ডিপ্লয়মেন্ট পরীক্ষা করার সময় ADC আপনার হয়ে অটোমেটিক একটি টাইটলি স্কোপড পরিষেবা অ্যাকাউন্ট তৈরি করতে পারে। এছাড়াও, আপনার কাছে নিজের পরিষেবা অ্যাকাউন্ট আনার বিকল্প আছে, যেটিতে অ্যাপ্লিকেশন ডেভেলপারদের জন্য আপনার উপযুক্ত বলে মনে করা অনুমতি আছে।

ধাপ ২: টেমপ্লেট তৈরি করা (প্ল্যাটফর্ম ইঞ্জিনিয়ার)

প্ল্যাটফর্ম ইঞ্জিনিয়ার পারসোনা ডিজাইন ক্যানভাস বা এমনকি Gemini Cloud Assist ব্যবহার করে নতুন ADC টেমপ্লেট তৈরি করে।

  1. রিসোর্স নির্ধারণ করুন।

    ডিজাইন ক্যানভাস ব্যবহার করে, ক্যানভাসে কম্পোনেন্ট টেনে এনে রাখুন এবং তাদের মধ্যে কানেকশন তৈরি করুন। এইসব কম্পোনেন্টের মাধ্যমে আপনি নির্ধারণ করেন যে কোন Firebase (এবং Google Cloud) পরিষেবা আপনি চান যে অ্যাপ্লিকেশন ডেভেলপাররা ব্যবহার করুক।

    যেমন, টেমপ্লেটটি নিম্নলিখিত রিসোর্সগুলি সংজ্ঞায়িত করতে পারে:

    • অ্যাপ্লিকেশন ডেভেলপাররা iOS, Android এবং ওয়েব অ্যাপ ডেভেলপ করতে পারেন যা সব রিসোর্স ব্যবহার করে।
    • অ্যাপ্লিকেশন ডেভেলপাররা তাদের অ্যাপে Firebase AI Logic, Firebase Authentication, Cloud Firestore এবং Firebase Security Rules ব্যবহার করতে পারবেন ( ADC-এর জন্যকাজ করে এমন সব Firebase প্রোডাক্টের তালিকা দেখুন)।
    • Firebase Security Rules-এ প্রাথমিকভাবে ডিফল্ট হিসেবে সব অ্যাক্সেসের অনুরোধ বাতিল করার জন্য সেট করা থাকে। তারপর, অ্যাপ্লিকেশন ডেভেলপার যখন নিজের ডিপ্লয়মেন্টের জন্য এই টেমপ্লেট ব্যবহার করবেন, তখন তিনি প্রয়োজনীয় অ্যাক্সেস মডেলের সাথে সামঞ্জস্য রেখে এই Security Rules পরিবর্তন করতে পারবেন।
  2. নীতি নির্ধারণ করুন।

    আপনি যদি নীতি নির্ধারণ করতে চান, যেমন ডিপ্লয় করা ইনফ্রাস্ট্রাকচারের জন্য IAM ভূমিকা বা রিসোর্সের জন্য অনুমোদিত অঞ্চল, তাহলে আপনাকে সেই নীতিগুলির জন্য সংশ্লিষ্ট ইন্টারফেসে সেগুলি সেট করতে হবে। ADC বর্তমানে টেমপ্লেট-লেভেলে নীতি নির্ধারণ করার সুবিধা প্রদান করে না।

    আপনি প্রোজেক্ট মেম্বারদের নির্দিষ্ট Firebase IAM ভূমিকা অ্যাসাইন করতে পারেন, যা নির্ভর করে আপনি তাদের কী করতে দিতে চান তার উপর। যেমন, তারা যদি শুধুমাত্র Firebase কনসোলে রিসোর্স দেখতে চান, তাহলে তাদের Firebase Viewer ভূমিকা (roles/firebase.viewer) অ্যাসাইন করুন।

    আপনি ফোল্ডার বা সংস্থার লেভেলে রিসোর্সের জন্য অঞ্চল সংক্রান্ত সীমাবদ্ধতা সেট করতে পারেন।

  3. ক্যাটালগে টেমপ্লেট যোগ করুন।

    আপনার টেমপ্লেট পরীক্ষা করার পরে, এটি আপনার টিমের ADC ক্যাটালগে যোগ করুন। এই ক্যাটালগটি উপযুক্ত ব্যক্তিদের সাথে শেয়ার করতে হবে, বিশেষ করে অ্যাপ্লিকেশন ডেভেলপারদের সাথে যাতে তারা টেমপ্লেটগুলি ব্যবহার করতে পারে (উপরে ধাপ ১: ADC সেট আপ করুন দেখুন)।

ধাপ ৩: টেমপ্লেট ব্যবহার করা (অ্যাপ্লিকেশন ডেভেলপার)

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

  1. একটি টেমপ্লেট বেছে নিয়ে সেটি কনফিগার করুন।

    ADC ক্যাটালগ থেকে, একটি টেমপ্লেট বেছে নিন এবং অ্যাপ্লিকেশন ড্রাফ্ট তৈরি করতে এটি কনফিগার করুন। উপলভ্য কনফিগারেশন — যেমন রিসোর্সের জন্য সম্ভাব্য অঞ্চল — প্ল্যাটফর্ম ইঞ্জিনিয়ার টেমপ্লেট তৈরি করার সময় যেগুলি সেট করেছেন সেগুলির মধ্যেই সীমাবদ্ধ।

  2. ইনফ্রাস্ট্রাকচার ডেপ্লয় করুন।

    অ্যাপ্লিকেশন ড্রাফ্ট তৈরি করার পরে, ইনফ্রাস্ট্রাকচার ডিপ্লয়মেন্টের জন্য তৈরি করা প্রি-প্রভিশনড প্রোজেক্টের মধ্যে একটিতে ADC অ্যাপ ডিপ্লয় করুন (উপরে ধাপ ১: ADC সেট-আপ করুন দেখুন)

    আপনি Firebase কনসোল দেখতে পারেন এবং আপনার প্রোজেক্টের জন্য প্রভিশন করা রিসোর্স এবং চালু করা পরিষেবা দেখতে পারেন।

ধাপ ৪: আপনার আসল অ্যাপ ডেভেলপ করুন (অ্যাপ্লিকেশন ডেভেলপার)

ADC Firebase এবং Google Cloud ইনফ্রাস্ট্রাকচার (যেমন রিসোর্স প্রোভিশন করা এবং API চালু করা) সেট-আপ করতে সাহায্য করে। তবে, এটি সেইসব রিসোর্স ও API ব্যবহার করে এমন আসল অ্যাপের কোডিং করে না।

অ্যাপ্লিকেশন ডেভেলপার পারসোনাকে কিছু গুরুত্বপূর্ণ কাজ করতে হবে:

  1. Firebase-এর সাথে আপনার অ্যাপের কোডবেস কানেক্ট করুন।

    প্রতিটি অ্যাপের কোডবেসে Firebase কনফিগারেশন পান এবং তারপরে যোগ করুন।

    যেমন, টেমপ্লেটটি যদি কোনও Android অ্যাপের অনুমতি দেয়, তাহলে আপনাকে অবশ্যই আপনার Android প্রোজেক্টের মধ্যে উপযুক্ত ডিরেক্টরিতে google-services.json ফাইলটি যোগ করতে হবে।

  2. কোড ও রিসোর্স একই সারিতে রাখুন।

    (Cloud Firestore ব্যবহার করলে) অ্যাপের জন্য Cloud Firestore ডেটা মডেলের সাথে সামঞ্জস্য রাখতে Firebase Security Rules আপডেট ও প্রকাশ করতে ভুলবেন না।

তুমি আর কী কী করতে পারো?

  • ডেপ্লয় করা ADC "অ্যাপ" মনিটর করুন, যেগুলি অ্যাপ হাবে অটোমেটিক রেজিস্টার করা হয়। এটি আরও বড় Google Cloud ডেপ্লয়মেন্টের প্রসঙ্গে Firebase রিসোর্সের জন্য কনসোলিডেট করা মনিটরিং, খরচ পর্যবেক্ষণ ও সমস্যার সমাধান করার সুবিধা চালু করে।