মূল বিষয়বস্তুতে যান
ওয়েবসাইট অন্বেষণ
আপনার প্রকল্প নিয়ে আলোচনা করুন

contact@almousa.dev

ডেলিভারি অনুশীলন / কোড থেকে অপারেশনস পর্যন্ত

ইঞ্জিনিয়ারিং এবং অপারেশন

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

কোড পরিবর্তন থেকে লাইভ ব্যবহার পর্যন্ত

  1. Git

    পরিবর্তনগুলোর রেকর্ড রাখুন, প্রতিটির উদ্দেশ্য স্পষ্ট করুন এবং পর্যালোচনাযোগ্য pull request-এর মাধ্যমে তা পরিচালনা করুন।

  2. কোড পর্যালোচনা

    অন্য একজনকে দিয়ে পরিবর্তন পর্যালোচনা করান। মার্জ করার জন্য অনুমোদন দরকার, আর পরে সংশোধন করা হলে নতুন করে পর্যালোচনা করতে হবে।

  3. CI

    GitHub Actions দিয়ে স্বয়ংক্রিয় পরীক্ষা চালান এবং মার্জ করার আগে সব বাধ্যতামূলক পরীক্ষায় উত্তীর্ণ হওয়া নিশ্চিত করুন।

  4. টেস্ট

    পরিবর্তনে প্রভাবিত আচরণ যাচাই করুন এবং তার ঝুঁকি ও কাজের পরিধি অনুযায়ী উপযুক্ত পরীক্ষা যোগ করুন।

  5. বিল্ড

    প্রয়োজনীয় পরীক্ষায় উত্তীর্ণ হওয়ার পর এমন রিলিজ তৈরি করুন, যা শনাক্ত করা এবং যার পরিবর্তনের ইতিহাস অনুসরণ করা যায়।

  6. স্টেজিং পরিবেশ

    লাইভ পরিবেশ থেকে আলাদা পরিবেশে রিলিজ পরীক্ষা করুন। এ জন্য টেস্ট ডেটা ও আলাদা গোপন ক্রেডেনশিয়াল ব্যবহার করুন।

  7. গ্রহণের অনুমোদন

    পরিবর্তনের আকার অনুযায়ী, দলের প্রযুক্তিগত প্রধান কারিগরি প্রস্তুতি অনুমোদন করেন এবং ক্লায়েন্ট বা তাঁর প্রতিনিধি প্রয়োজনীয়তার সঙ্গে সামঞ্জস্য অনুমোদন করেন। গ্রহণের অনুমোদন নথিভুক্ত করুন।

  8. লাইভ পরিবেশ

    নির্ধারিত অনুমতি ব্যবহার করে অনুমোদিত রিলিজ ডিপ্লয় করুন। কোনো বাধ্যতামূলক যাচাইয়ে ব্যর্থ হলে ডিপ্লয়মেন্ট বন্ধ করুন।

  9. মনিটরিং

    ডিপ্লয়মেন্টের পর সেবা ঠিকভাবে কাজ করছে কি না পরীক্ষা করুন এবং অভ্যন্তরীণভাবে প্রাপ্যতা, কর্মক্ষমতা ও ত্রুটি পর্যবেক্ষণ করুন।

এগুলো প্রক্রিয়ার যৌক্তিক ধাপ; টেস্ট ও বিল্ড CI-এর মধ্যে চলতে পারে। ডিপ্লয়মেন্টের আগে প্রতিটি প্রকল্পের জন্য গ্রহণের বাধ্যতামূলক যাচাই ও অনুমতি নির্ধারণ করা হয়।

নিম্নলিখিত নিয়ন্ত্রণগুলি প্রকল্প চুক্তির মধ্যে বাস্তবায়ন এবং যাচাই করার জন্য অনুমোদিত নীতি। প্রকৃত অপারেটিং দায়িত্ব হ'ল অপারেশন বা সহায়তা চুক্তিতে অর্পিত।

লগিং

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

ত্রুটি ট্র্যাকিং

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

মনিটরিং

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

ব্যাকআপ

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

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

রোলব্যাক

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

গোপন ক্রেডেনশিয়াল ব্যবস্থাপনা

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