পরিবেশের ওভারভিউ

প্রোডাকশন অ্যাপের জন্য, আপনাকে একটি স্পষ্ট ডেভেলপমেন্ট ওয়ার্কফ্লো সেট-আপ করতে হবে, বিশেষ করে যদি আপনার অ্যাপে একাধিক ব্যক্তি কাজ করেন। একটি ডেভেলপমেন্ট ওয়ার্কফ্লোতে সাধারণত একাধিক এনভায়রনমেন্ট সেট-আপ এবং ম্যানেজ করা অন্তর্ভুক্ত থাকে।

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

এনভায়রনমেন্ট সম্পর্কে

সফ্টওয়্যার ডেভেলপমেন্টে, এনভায়রনমেন্ট হল সমস্ত হার্ডওয়্যার এবং সফ্টওয়্যার যা কোনও অ্যাপ্লিকেশনের ইনস্ট্যান্স বা অ্যাপ্লিকেশনের সিস্টেম চালানোর জন্য প্রয়োজন।

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

এইসব এনভায়রনমেন্টের মাধ্যমে কোনও ফিচার বা রিলিজকে প্রোডাকশনে নিয়ে যাওয়ার প্রসেসকে ডিপ্লয়মেন্ট পাইপলাইন বলা হয়।

ডায়াগ্রামটি এমন পরিবেশ দেখায় যা সাধারণত ডেভেলপমেন্ট, টেস্ট ও QA, স্টেজিং এবং অবশেষে প্রোডাকশন সহ ডিপ্লয়মেন্ট পাইপলাইন তৈরি করে

এনভায়রনমেন্টের ধরন

একটি এনভায়রনমেন্টে সেইসব অন্তর্নিহিত পরিকাঠামো থাকে যা আপনার অ্যাপ্লিকেশন, এর কোড ও ডেটা রান ও সাপোর্ট করার জন্য প্রয়োজন। কিছু সাধারণ এনভায়রনমেন্টের বিবরণ পর্যালোচনা করতে নিম্নলিখিত প্রতিটি শর্তাবলী বড় করে দেখুন, এর মধ্যে প্রতিটি এনভায়রনমেন্টের ধরন অনুযায়ী ব্যবহৃত ডেটার প্রকারের ব্যাপারে পরামর্শ অন্তর্ভুক্ত।

ডেভেলপমেন্ট (dev) এনভায়রনমেন্ট

প্রত্যেক ডেভেলপারের একটি ডেভেলপমেন্ট এনভায়রনমেন্ট প্রয়োজন — পরিবর্তনগুলি তৈরি করার সময় সেগুলি পরীক্ষা করার জন্য একটি নিরাপদ, বিচ্ছিন্ন জায়গা। সাধারণত, আপনার টিমের প্রত্যেক ডেভেলপারের কাছে নিজস্ব ডেভ এনভায়রনমেন্টের অ্যাক্সেস থাকে। এছাড়াও, ডেভ এনভায়রনমেন্ট লোকাল ইনস্ট্যান্স হলে, ডেভেলপার অনেক দ্রুত ইটারেট করতে পারেন।

ডেভ এনভায়রনমেন্টের ডেটা এমন ডেটা দিয়ে সিড করা হয় যা সাধারণত প্রোডাকশন ডেটার মতো হয়, তবে এতে কখনও আসল ব্যবহারকারীর ডেটা থাকে না। এছাড়াও, এতে এমন ডেটা থাকতে পারে যা অতীতে বাগ সৃষ্টি করেছে, যেমন খুব দীর্ঘ স্ট্রিং।

টেস্ট ও কোয়ালিটি নিশ্চিতকরণ এনভায়রনমেন্ট

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

আপনার QA ইঞ্জিনিয়ার থাকলে, তাদের এমন একটি এনভায়রনমেন্টের প্রয়োজন হতে পারে যা তারা সবাই ব্যবহার করেন অথবা নতুন রিলিজ ক্যান্ডিডেট পরীক্ষা করার জন্য তাদের আলাদা এনভায়রনমেন্টের প্রয়োজন হতে পারে।

পরীক্ষা এবং QA এনভায়রনমেন্টের ডেটা কোয়ালিটি ডেটার সাথে সিড করা হয় যা সাধারণত প্রোডাকশন ডেটার প্রতিনিধিত্ব করে, এর সাথে এমন ডেটা থাকে যা কর্নার কেস এবং ডেটার উদাহরণ উপস্থাপন করে যা অতীতে সমস্যার কারণ হয়েছে।

স্টেজিং এনভায়রনমেন্ট

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

স্টেজিং ও প্রোডাকশনের মধ্যে সাধারণ পার্থক্যগুলি এখানে দেওয়া হল:

  • স্টেজিংয়ে কিছু ফিচার বা ইন্টিগ্রেশন নাও থাকতে পারে যার ফলে সাইড এফেক্ট হতে পারে। যেমন, স্টেজিং ইমেল না পাঠানোর জন্য সেট করা হতে পারে।

  • স্টেজিংয়ে পরিচয় গোপন করা ডেটা থাকতে পারে; ডেটা নকল হতে পারে, তবে এটি বাস্তবসম্মত হতে হবে। স্টেজিং হল নিরাপদে সমস্যা ডিবাগ করার জায়গা, তাই আপনি প্রোডাকশন ডেটার তুলনায় স্টেজিং ডেটায় আরও বেশি টিমকে অ্যাক্সেস দিতে পারেন। তাই, ব্যবহারকারীর গোপনীয়তা সুরক্ষিত রাখতে, স্টেজিংয়ে আপনার আসল ব্যবহারকারীর ডেটা ব্যবহার করা উচিত নয়।

প্রোডাকশন (prod) এনভায়রনমেন্ট

আপনার ম্যানেজ করা প্রতিটি অ্যাপ্লিকেশনের জন্য একটি প্রোডাকশন এনভায়রনমেন্ট প্রয়োজন। এটি হল সেই ইনস্ট্যান্স যার সাথে আপনার ব্যবহারকারীরা ইন্টার‍্যাক্ট করেন।

অন্যান্য এনভায়রনমেন্টের মতো এখানে আপনি ডেটা পরিবর্তন, মুছে ফেলা এবং/অথবা আবার তৈরি করতে পারবেন না, আপনার প্রোডাকশন এনভায়রনমেন্টের ডেটা খুবই গুরুত্বপূর্ণ; আপনার প্রোডাকশন ডেটা হারিয়ে গেলে বা পরিবর্তন করলে তা সরাসরি আপনার ব্যবহারকারীদের প্রভাবিত করবে।

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

পরবর্তী ধাপ

  • Firebase প্রোজেক্ট সেট-আপ করার জন্য আমাদের সাধারণ পেশাদার পদ্ধতি পর্যালোচনা করুন। এই নির্দেশিকা Firebase প্রোজেক্টের হায়ারার্কি, আপনার অ্যাপের ভেরিয়েন্ট কীভাবে রেজিস্টার করবেন এবং মাল্টি-টেনেন্সি সংক্রান্ত প্রশ্নের উত্তর দেয়।

  • বিভিন্ন পরিবেশের জন্য সাধারণ নিরাপত্তা নির্দেশিকা পর্যালোচনা করুন। আপনি প্রতিটি এনভায়রনমেন্ট ও তার ডেটা সুরক্ষিত রাখতে চান।

  • Firebase লঞ্চ চেকলিস্ট পর্যালোচনা করুন।