অ্যাপ্লিকেশন ডিজাইন সেন্টার (ADC) এবং ফায়ারবেস দিয়ে শুরু করুন

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

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

ADC এবং Firebase এর সংক্ষিপ্ত বিবরণ

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

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

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

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

সমর্থিত ফায়ারবেস পণ্য

এখানে সমর্থিত ফায়ারবেস পণ্যগুলির প্রাথমিক তালিকা দেওয়া হল যা ADC সাথে ব্যবহার করা যেতে পারে:

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

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

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

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

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

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

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

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

কাজ ব্যক্তিত্ব আইএএম ভূমিকা
টেমপ্লেট তৈরি এবং পরিচালনা করুন
সম্পূর্ণ ADC জীবনচক্র পরিচালনা করুন
(স্পেস, ক্যাটালগ ও টেমপ্লেট পরিচালনা এবং অ্যাপ কনফিগার ও ডেপ্লয় করা সহ)
প্ল্যাটফর্ম ইঞ্জিনিয়ার অ্যাপ্লিকেশন ডিজাইন সেন্টার অ্যাডমিন
( ব্যবস্থাপনা প্রকল্পে roles/designcenter.admin )
টেমপ্লেট তৈরি ও পরিচালনা করার পাশাপাশি অ্যাপ কনফিগার এবং ডেপ্লয় করুন প্ল্যাটফর্ম ইঞ্জিনিয়ার অ্যাপ্লিকেশন ডিজাইন সেন্টার ব্যবহারকারী
( ব্যবস্থাপনা প্রকল্পে roles/designcenter.user )
ADC অ্যাপ ডিপ্লয় করার জন্য একটি সার্ভিস অ্যাকাউন্ট তৈরি করুন।
পরিষেবা অ্যাকাউন্ট তৈরি করুন প্ল্যাটফর্ম ইঞ্জিনিয়ার পরিষেবা অ্যাকাউন্ট তৈরি করুন
( ব্যবস্থাপনা প্রকল্পে roles/iam.serviceAccountCreator )
ADC ডেপ্লয়মেন্টের জন্য ব্যবহৃত একটি প্রজেক্টে সার্ভিস অ্যাকাউন্টকে অ্যাক্সেস প্রদান করুন। প্ল্যাটফর্ম ইঞ্জিনিয়ার প্রজেক্ট আইএএম অ্যাডমিন
( ডিপ্লয়মেন্ট প্রজেক্টে 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 জন্য স্পেস ব্যবহারকারী ব্যবস্থাপনা (Manage space users for ADC) অংশে দেওয়া ধাপগুলো অনুসরণ করুন। অ্যাক্সেস নিয়ন্ত্রণের জন্য প্রয়োজনীয় IAM রোল (Required IAM roles) বিষয়ে এই পৃষ্ঠায় পূর্বে বর্ণিত নির্দেশনা ব্যবহার করুন।

  3. প্রাক-প্রস্তুতি প্রকল্পসমূহ।

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

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

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

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

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

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

  1. সম্পদসমূহ সংজ্ঞায়িত করুন।

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

    উদাহরণস্বরূপ, টেমপ্লেটটি নিম্নলিখিতের মতো রিসোর্স সংজ্ঞায়িত করতে পারে:

    • অ্যাপ্লিকেশন ডেভেলপাররা আইওএস, অ্যান্ড্রয়েড এবং ওয়েব অ্যাপ তৈরি করতে পারেন, যেগুলো সবই এই রিসোর্সগুলো ব্যবহার করে।
    • অ্যাপ্লিকেশন ডেভেলপাররা তাদের অ্যাপে 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. আপনার অ্যাপের কোডবেসকে ফায়ারবেসের সাথে সংযুক্ত করুন।

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

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

  2. কোড এবং রিসোর্স সামঞ্জস্যপূর্ণ রাখুন।

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

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

  • ডেপ্লয় করা ADC 'অ্যাপ'গুলো মনিটর করুন , যেগুলো অ্যাপ হাব-এ স্বয়ংক্রিয়ভাবে রেজিস্টার হয়ে যায়। এর মাধ্যমে বৃহত্তর Google Cloud ডেপ্লয়মেন্টের প্রেক্ষাপটে ফায়ারবেস রিসোর্সগুলোর জন্য সমন্বিত মনিটরিং, খরচ পর্যবেক্ষণ এবং সমস্যা সমাধান করা সম্ভব হয়।