KoderKoder.ai
প্রাইসিংএন্টারপ্রাইজএডুকেশনবিনিয়োগকারীদের জন্য
লগ ইনশুরু করুন

প্রোডাক্ট

প্রাইসিংএন্টারপ্রাইজবিনিয়োগকারীদের জন্য

রিসোর্স

আমাদের সাথে যোগাযোগ করুনসহায়তাএডুকেশনব্লগ

লিগ্যাল

প্রাইভেসি পলিসিটার্মস অফ ইউজসিকিউরিটিঅ্যাকসেপ্টেবল ইউজ পলিসিঅ্যাবিউজ রিপোর্ট করুন

সোশ্যাল

LinkedInTwitter
Koder.ai
ভাষা

© 2026 Koder.ai. সর্বস্বত্ব সংরক্ষিত।

হোম›ব্লগ›ওয়ার্নার ভোগেলসের 'তুমি বানাও, তুমি চালাও' ব্যাখ্যা
২৯ সেপ, ২০২৫·5 মিনিট

ওয়ার্নার ভোগেলসের 'তুমি বানাও, তুমি চালাও' ব্যাখ্যা

জানুন ওয়ার্নার ভোগেলস ‘তুমি বানাও, তুমি চালাও’ বলতে কী বোঝাতে চেয়েছিলেন এবং এটি কীভাবে ব্যবহার করবেন: মালিকানা, অন-কল, SLO, ইনসিডেন্ট রেসপন্স এবং নিরাপদ রিলিজ।

ওয়ার্নার ভোগেলসের 'তুমি বানাও, তুমি চালাও' ব্যাখ্যা

“তুমি বানাও, তুমি চালাও” আসলে কী বোঝায়

“তুমি বানাও, তুমি চালাও” এমন একটা বাক্য যা টিকিয়ে থাকে কারণ এটা সরাসরি। এটা মোটিভেশন পোস্টারের কথা নয় বা ‘আরও DevOps হওয়া’ নয়। এটা দায়িত্ব সম্পর্কে একটি স্পষ্ট বিবৃতি: যে টিম কোনো সার্ভিস শিপ করে, সেই টিমই প্রোডাকশনে সেই সার্ভিস কেমন আচরণ করে তার জন্যও accountable থাকে।

মূল ধারণা: শিপিং এবং অপারেটিং একই কাজ

প্র্যাকটিক্যালি, এর মানে যে প্রোডাক্ট টিমটি ফিচার ডিজাইন করে এবং কোড লেখে, সেই একই টিম:

  • প্রোডাকশনে সার্ভিস মনিটর করে
  • যখন সেটা ভেঙে যায় তখন সাড়া দেয়
  • সময়ের সাথে নির্ভরযোগ্যতা উন্নত করে
  • নতুন কাজ এবং অপারেশনাল কাজের মধ্যে ট্রেড-অফ করে

এটার মানে সবাই হঠাৎ ইনফ্রা এক্সপার্ট হয়ে যাবে না। বরং ফিডব্যাক লুপ বাস্তব: যদি তুমি এমন কিছু রিলিজ করো যা আউটেজ, পেজার নয়েজ বা কাস্টমার কষ্ট বাড়ায়, তোমার টিম তা সরাসরি অনুভব করবে—এবং দ্রুত শিখবে।

একটি বাস্তব পরিচালন মডেল, স্লোগান নয়

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

এটা কনস্ট্রেইন্টও ধারণ করে: তুমি টিমকে “চালাতে” বলতে পারো না যদি না তাদের কাছে সমস্যা ঠিক করার টুল, অ্যাক্সেস ও কর্তৃত্ব থাকে—এবং রোডম্যাপে সে কাজ করার সময়ও না থাকে।

এটা কার জন্য

  • প্রোডাক্ট/সার্ভিস টিম: সত্যিকারের এন্ড-টু-এন্ড মালিকানা ও দ্রুত শেখার জন্য।
  • ইঞ্জিনিয়ারিং ম্যানেজার: স্পষ্ট সীমানা নির্ধারণ করতে ("এই টিম এই সার্ভিসের মালিক") এবং অপারেশনাল কাজের জন্য ক্যাপাসিটি পরিকল্পনা করতে।
  • প্ল্যাটফর্ম টিম: মালিকানা সহজ করতে paved paths দেয়—কিন্তু চুপিচুপি প্রোডাকশন দায় না নিয়ে।

কেন এই দর্শন দলগুলোর সফটওয়্যার শিপ করার ধরন বদলাল

“তুমি বানাও, তুমি চালাও” এর আগে অনেক কোম্পানি সফটওয়্যার কাজকে রিলে রেস হিসেবে সাজাতো: ডেভেলপাররা কোড লিখে, তারপর সেটি অপস টিমকে ‘ওভার দ্য ওয়াল’ ছুঁড়ে দিতো যাতে তারা ডিপ্লয় ও চালায়।

হ্যান্ডঅফটা একটি স্বল্প-মেয়াদি সমস্যা সমাধান করে—কেউ ছিল অভিজ্ঞ যারা প্রোডাকশন দেখছে—কিন্তু সেটা বড় সমস্যা তৈরি করে।

হ্যান্ডঅফ সমস্যা: ধীর ফিডব্যাক ও অস্পষ্ট দায়িত্ব

যদি আলাদা অপস টিম প্রোডাকশন নিজে চালায়, ডেভেলপাররা প্রায়ই সমস্যা দেরিতে (বা কখনোই) জানে। একটা বাগ সারাদিন পর একটি অস্পষ্ট টিকিট হিসেবে আসতে পারে: “সার্ভিস স্লো” বা “CPU বেশি।” তখন প্রসঙ্গ হারায়, লগ রোটেট হয়ে গেছে, এবং পরিবর্তন করা লোকটি চলে গেছে।

হ্যান্ডঅফ মালিকানাও অস্পষ্ট করে দেয়। আউটেজ হলে ডেভেলপার ভাবতে পারে “অপস দেখে নেবে,” আর অপস ভাবতে পারে “ডেভ শিপ করেছে ঝুঁকিপূর্ণ কিছু।” ফলাফল পূর্বানুমিত: দীর্ঘ ইনসিডেন্ট রেজলিউশন, বারবার হওয়া ব্যর্থতা মোড, এবং এমন একটি সংস্কৃতি যেখানে টিমগুলো স্থানীয়ভাবে অপ্টিমাইজ করে গ্রাহক অভিজ্ঞতার জন্য নয়।

কেন মালিকানা ডেলিভারি দ্রুত করে এবং পুনরাবৃত্তি কমায়

“তুমি বানাও, তুমি চালাও” লুপটাকে সঙ্কুচিত করে। যে টিম চেঞ্জ শিপ করে, সেটাই প্রোডাকশনে কেমন আচরণ করে তার দায়বদ্ধ। সেটা নিম্নোক্ত বাস্তব পরিবর্তনকে অনুপ্রাণিত করে: পরিষ্কার অ্যালার্ট, নিরাপদ রোলআউট, ভাল ড্যাশবোর্ড, এবং এমন কোড যা অপারেট করা সহজ।

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

এটা সবক্ষেত্রে একরকম নয়

সব প্রতিষ্ঠান সমান স্টাফিং, কমপ্লায়েন্স চাহিদা বা লেগ্যাসি সিস্টেম দিয়ে শুরু করে না। এই দর্শনটা একটি দিকনির্দেশ, স্ইচ নয়। অনেক টিম ধীরে ধীরে গ্রহণ করে—শেয়ারড অন-কল দিয়ে শুরু করে, betere observability, এবং পরিষ্কার সার্ভিস সীমানা—তারপর পূর্ণ এন্ড-টু-এন্ড মালিকানায় যায়।

এটা কোথা থেকে এসেছে: ওয়ার্নার ভোগেলস এবং সার্ভিস মাইন্ডসেট

ওয়ার্নার ভোগেলস, অ্যামাজনের CTO, ‘You build it, you run it’ বাক্যটি প্রসারিত করেছেন বলতে যে কিভাবে অ্যামাজন (এবং পরে AWS) টিমগুলোকে সফটওয়্যারকে একটি প্রোজেক্ট হিসেবে নয় বরং একটি সার্ভিস হিসেবে ভাবতে চেয়েছিল।

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

ক্লাউড যুগ কেন মানদণ্ড বাড়িয়েছে

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

সে চাপ উৎসাহিত করেছে:

  • ছোট, দীর্ঘজীবি সার্ভিসগুলো স্পষ্ট মালিকদের সঙ্গে
  • কোড পরিবর্তন ও প্রোডাকশন আচরণের মধ্যে দ্রুত ফিডব্যাক লুপ
  • অপারেশনাল অভ্যাসকে প্রোডাক্ট ফিচারের মত দেখা (মনিটরিং, ক্যাপাসিটি প্ল্যানিং, রানবুক)

সম্পর্কিত ধারণা (ইতিহাস পুনঃলিখন ছাড়া)

এই দর্শনটি বৃহত্তর DevOps আন্দোলনের সঙ্গে অছিবদ্ধ: ডিভ এবং অপসের গ্যাপ বন্ধ করা, হ্যান্ডঅফ কমানো, এবং আউটকাম (অ্যাভেইলেবিলিটি, লেটেন্সি, সাপোর্ট লোড) ডেভেলপমেন্ট লুপের অংশ করা। এটা ছোট স্বায়ত্তশাসিত টিমের সঙ্গে সঙ্গতিপূর্ণ যা স্বাধীনভাবে শিপ করতে পারে।

অনুকরণ নয়—অনুপ্রেরণা

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

প্র্যাকটিক্যাল অনুবাদ জানতে চান? জাম্প করুন /blog/how-to-adopt-you-build-it-you-run-it-step-by-step।

মালিকানা: টিমগুলো ‘চালালে’ কী নিয়ে নেয়

“তুমি বানাও, তুমি চালাও” আসলে মালিকানা সম্পর্কে একটি বিবৃতি। যদি তোমার টিম কোনো সার্ভিস শিপ করে, তোমার টিম বাস্তব জগতে সেই সার্ভিস কেমন আচরণ করে তার দায় নেবে—শুধু রিলিজ ডে-র টেস্ট পাস করা নয়।

মালিকানা আসলে কী কভার করে

সার্ভিস চালানো মানে পুরো-শেষ পর্যন্ত আউটকাম নিয়ে চিন্তা করা:

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

বাস্তবে “চালাও” কী অন্তর্ভুক্ত করে

সাধারণ সপ্তাহে “চালাও” হিরোইকসের চেয়ে রুটিন অপারেশনের দিকে বেশি।

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

দায়বদ্ধতা মানে ব্লেম নয়

এই মডেল কাজ করে শুধুমাত্র যখন দায়বদ্ধতা মানে “আমরা ফিক্স নেব”, না যে “আমরা কাউকে সাজা দেব।” যখন কিছু ভেঙে যায়, লক্ষ্য হলো বুঝা যে সিস্টেমে কি ছিল যা তাতে পৌঁছতে দিল—মিসিং অ্যালার্ট, অস্পষ্ট লিমিট, ঝুঁকিপূর্ণ ডিপ্লয়—এবং সেই শর্তগুলো উন্নত করা।

স্পষ্ট সীমানা ও একটি নামকরা মালিক

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

সঠিকভাবে অন-কল (এবং বার্নআউট ছাড়াই)

মালিকানা আগে থেকেই পরিকল্পনা করুন
কোড লেখার আগে সার্ভিস সীমা, মালিক এবং রোলআউট প্রত্যাশা নির্ধারণ করুন।
প্ল্যানিং মোড ব্যবহার করুন

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

মানবিক অন-কল ডিজাইন

স্বাস্থ্যকর অন-কল মূলত পূর্বানুমেয়তা ও সাপোর্টের ব্যাপার।

  • টিম মাপ অনুযায়ী রোটেশন: নায়কতাকম সূচি এড়ান। কভারেজ পাতলা হলে স্কোপ কমান (প্রতি রোটেশনে কম সার্ভিস) বা একটি শেয়ারড সেকেন্ডারি যোগ করুন।
  • এস্কালেশন পথ: প্রাইমারি রেসপন্ডার, পরে সেকেন্ডারি, পরে ডোমেইন এক্সপার্ট—তাতে কেউ একা ৩টায় আটকে থাকে না।
  • কষ্টকর রাতের পর পুনরুদ্ধার সময়: পেজিংয়ের পর কম্প টাইম বা দেরিতে শুরুর সুবিধা, এবং বড় ইনসিডেন্টের পরে বিশ্রামের সময়। বিশ্রামই নির্ভরযোগ্যতার অংশ।
  • রানবুক ও “প্রথম ১৫ মিনিট” চেকলিস্ট: রেসপন্ডারদের জন্য স্পষ্ট প্লেবুক থাকা উচিত, অনুমান নয়।

সেভারিটি লেভেল: শুধুমাত্র গুরুত্বপূর্ণ ক্ষেত্রে পেজ করুন

সেভারিটি লেভেল নির্ধারণ করুন যাতে সিস্টেম প্রতিটি ত্রুটির জন্য পেজ করে না।

  • Sev 1 (পেজ): কাস্টমার-প্রভাবিত আউটেজ, ডেটা লস ঝুঁকি, সিকিউরিটি ইভেন্ট, বা কঠোর SLO ভঙ্গ।
  • Sev 2 (বিজনেস আওয়ারসে পেজ/সাসটেইন্ড হলে পেজ): ব্যবহারকারীকে প্রভাবিত করে এমন ডিগ্রেডেশন।
  • Sev 3 (টিকিট): অপ্রাধান্যপূর্ণ বাগ, ফ্লেকি অ্যালার্ট, ছোট এরর-রেট বৃদ্ধি, ক্যাপাসিটি ট্রেন্ড।

একটি সহজ নিয়ম: যদি কাউকে জাগানো ফলাফল বদলাবে না, তা টিকিট হওয়া উচিত, পেজ না।

আসল লক্ষ্য: পরের মাসে পেজ কমানো

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

SLO, SLI, এবং এরর বাজেট: ব্যবহারিক গার্ডরেইল

পূর্ণ লাইফসাইকেল নিজের করুন
দীর্ঘ হ্যান্ডঅফ ছাড়াই টিমটি চালাতে, উন্নত করতে ও পুনরাবৃত্তি করতে পারে এমন একটি React অ্যাপ তৈরি করুন।
ওয়েব অ্যাপ তৈরি করুন

যদি “তুমি চালাও” বাস্তবে থাকে, টিমগুলোকে একটা শেয়ার্ড উপায় দরকার নির্ভরযোগ্যতা নিয়ে কথা বলার—বিনা আবেগের। SLI, SLO, এবং এরর বাজেট সেই স্পষ্ট লক্ষ্য ও ফেয়ার ট্রেড-অফ দেয় দ্রুততা এবং স্থিতিশীলতার মধ্যে।

SLI বনাম SLO বনাম SLA (সরল ভাষায়)

  • SLI (Service Level Indicator): সার্ভিস কিভাবে আচরণ করছে তার মাপ। ভাবুন: “আমরা প্রোডাকশনে আসলে কি দেখছি?”
  • SLO (Service Level Objective): SLI-এর জন্য একটি লক্ষ্য। ভাবুন: “আমরা কতটা নির্ভরযোগ্য হতে চাই?”
  • SLA (Service Level Agreement): গ্রাহকদের কাছে একটি চুক্তি, প্রায়ই পেনাল্টি বা ক্রেডিটসহ। ভাবুন: “আমরা কি বাইরেরভাবে গ্যারান্টি দিচ্ছি।”

মনে রাখার সহজ উপায়: SLI = মেট্রিক, SLO = টার্গেট, SLA = বাইরের অঙ্গীকার।

পরিমাপযোগ্য SLIs-এর উদাহরণ

ভালো SLI নির্দিষ্ট এবং ব্যবহারকারীর অভিজ্ঞতার সাথে সংযুক্ত, যেমন:

  • লেটেন্সি: “95% রিকোয়েস্ট 300ms-এর কমে সম্পন্ন হয়।”
  • অ্যাভেইলেবিলিটি: “রিকোয়েস্ট 99.9% সময় সাফল্যমণ্ডিত (নন-5xx)।”
  • জব সাকসেস রেট (অ্যাসিঙ্ক সিস্টেমে): “রাতের এক্সপোর্টের 99.5% 6টা নাগাদ সফলভাবে শেষ হয়।”

এরর বাজেট: কীভাবে গতিশীলতা ও স্থিরতা ভারসাম্য রাখে

এরর বাজেট হলো সেই পরিমাণ “খারাপ” যা তোমরা SLO পূরণকালে ভোগ করতে পারো (উদাহরণ: SLO 99.9% হলে মাসিক এরর বাজেট 0.1% ডাউনটাইম)।

সার্ভিস সুস্থ থাকলে এবং তুমি বাজেটের মধ্যে থাকলে টিমগুলো বেশি ডেলিভারি ঝুঁকি নিতে পারে (ফিচার, এক্সপেরিমেন্ট)। যখন বাজেট দ্রুত জ্বলছে, নির্ভরযোগ্যতা কাজকে অগ্রাধিকার দেয়া হয়।

SLO কিভাবে প্ল্যানিং গাইড করে

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

নিরাপদভাবে শিপ করা: প্রোডাকশন রেডিনেস ও রিলিজ অনুশীলন

“তুমি বানাও, তুমি চালাও” তখনই কাজ করবে যখন প্রোডাকশনে শিপ করা রুটিন হবে—উচ্চ-ঝুঁকির ইভেন্ট নয়। লক্ষ্য হলো লঞ্চের আগে অনিশ্চয়তা কমানো এবং লঞ্চের পরে ব্লাস্ট রেডিয়াস সীমাবদ্ধ রাখা।

লঞ্চের আগে অবশ্যই যা থাকা দরকার

একটি সার্ভিস “রেডি” বিবেচিত হওয়ার আগে সাধারণত কিছু অপারেশনাল বেসিক থাকা দরকার:

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

প্রগ্রেসিভ ডেলিভারি: ছোট, নিরাপদ ধাপে শিপ করুন

সবকিছু একসাথে প্রত্যেকের কাছে রিলিজ করার বদলে, প্রগ্রেসিভ ডেলিভারি প্রভাব সীমাবদ্ধ করে:

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

টিম যদি রোলব্যাক স্ট্যান্ডার্ডাইজ করে, তা প্রথম শ্রেণীর ক্ষমতা হিসেবে বিবেচনা করুন: যত দ্রুত নিরাপদে রিভার্ট করতে পারবে, ‘তুমি চালাও’ তত বাস্তবসম্মত হবে।

লোড ও ফল্ট টেস্টিং দিয়ে আত্মবিশ্বাস গঠন

দুইটি টেস্ট “অজানা অজানা” কমায়:

  • লোড টেস্টিং ক্যাপাসিটি অনুমানগুলো যাচাই করে এবং গ্রাহকের আগেই বটলনেক উন্মোচন করে।
  • ফল্ট টেস্টিং (উদাহরণ: ডিপেন্ডেন্সি টাইমআউট, ইনস্ট্যান্স কিল করা, কানেকশন ড্রপ) চেক করে সার্ভিস গ্রেসফুলি ডিগ্রেড করে কি না এবং অ্যালার্ট কাজ করে কি না।

একটি সরল প্রোডাকশন রেডিনেস চেকলিস্ট

হালকা রাখুন: রেপো বা টিকেট টেমপ্লেটে এক-পাতার চেকলিস্ট (উদাহরণ: “Observability,” “On-call readiness,” “Data protection,” “Rollback plan,” “Capacity tested,” “Runbooks linked”)। “নট রেডি” হওয়া স্বাভাবিক রাখুন—প্রোডাকশনে শিখে নেওয়ার চেয়ে এটা অনেক ভালো।

ইনসিডেন্ট এবং পোস্টমর্টেম: আউটেজকে শেখার মধ্যে পরিণত করা

কোডের নিয়ন্ত্রণ বজায় রাখুন
প্রয়োজনে সোর্স কোড এক্সপোর্ট করে আপনার রিপোতে মালিকানা রাখুন।
কোড এক্সপোর্ট করুন

ইনসিডেন্টগুলো সেই জায়গা যেখানে “তুমি চালাও” বাস্তবে আসে: একটি সার্ভিস degragde হয়েছে, কাস্টমার নোটিস করে, এবং টিম দ্রুত ও স্পষ্টভাবে রেসপন্ড করতে হয়। লক্ষ্য হিরোইকস নয়—বরং একট

সাধারণ প্রশ্ন

“তুমি বানাও, তুমি চালাও” বাস্তবে কী বোঝায়?

এটার অর্থ হলো যে যে টিমটি কোনো সার্ভিস ডিজাইন, তৈরি ও ডিপ্লয় করে, একই টিম লাইভ হওয়ার পরে সেটার জন্যও দায়বদ্ধ: মনিটরিং, অন-কল রেসপন্স, ইনসিডেন্ট ফলো-আপ এবং নির্ভরযোগ্যতা উন্নয়ন।

এটা একটি দায়িত্বগত মডেল (স্বচ্ছ মালিকানা), কোনো নির্দিষ্ট টুল বা চাকরির শিরোনামে বদল নয়।

“চালানো” মানে কি প্রত্যেক ডেভেলপারকে অপস এক্সপার্ট হতে হবে?

এটার মানে প্রতিটি ইঞ্জিনিয়ারকে পুরোপুরি ইনফ্রাস্ট্রাকচার এক্সপার্ট হতে হবে—না।

এটা বোঝায়:

  • টিমটির অ্যাক্সেস ও ক্ষমতা থাকবে প্রোডাকশনে সমস্যাগুলো নির্ণয় ও ঠিক করার জন্য
  • অপারেশনাল কাজ টিমের সাধারণ পরিকল্পনার অংশ হবে
  • প্ল্যাটফর্ম টুলিং জটিলতাকে কমাবে ("paved roads") তবুও মালিকানা কেড়ে নেবে না
কেন ঐতিহ্যবাহী ডেভ/অপস হ্যান্ডঅফ মডেলের থেকে এটা ভালো?

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

শেষ পর্যন্ত এন্ড-টু-এন্ড মালিকানা সাধারণত উন্নত করে:

  • ইনসিডেন্ট রেসপন্সের গতি (কম হ্যান্ডঅফ)
  • রিলিজ কোয়ালিটি (টিমগুলো নিরাপদ রিলিজে বিনিয়োগ করে)
  • দীর্ঘমেয়াদি স্থিতিশীলতা (মূল কারণগুলো ঠিক করা হয়, কেবল প্যাচ করা হয় না)
যখন তারা কোন সার্ভিস “চালায়” তখন টিমটি ঠিক কী দায়বদ্ধ?

“চালাও” সাধারণত অন্তর্ভুক্ত করে:

  • ব্যবহারকারী-প্রভাবিত হেলথের জন্য ড্যাশবোর্ড (লেটেন্সি, এরর, ট্র্যাফিক)
  • প্রভাবভিত্তিক অ্যাকশনেবল অ্যালার্ট (শোরগোলপূর্ণ নয়)
  • একটি ইনসিডেন্ট ওয়ার্কফ্লো (ট্রায়েজ, মিটিগেশন, যোগাযোগ, ফলো-আপ)
  • সাধারণ ব্যর্থতার জন্য রানবুক ও “প্রথম ১৫ মিনিট” চেকলিস্ট
  • ক্ষমতা এবং খরচের দায়—স্কেলিং, লিমিট ও বাজেটিং
কীভাবে অন-কল সেটআপ করবেন যাতে মানুষ জ্বালিয়ে না ওঠে?

মানবিক অন-কল ডিজাইন করতে হয়৷

শুরু করুন সদয় ডিফল্ট দিয়ে:

  • উপযুক্ত সাইজের রোটেশন এবং স্পষ্ট এস্কালেশন (প্রাইমারি/সেকেন্ডারি/ডোমেইন এক্সপার্ট)
  • কেবল বাস্তব প্রভাবের জন্য পেজিং (সেভারিটি সংজ্ঞা)
  • রানবুক যাতে রেসপন্ডার স্ট্রেসে অনুমান না করে
  • কষ্ঠকর রাতের পর পুনরুদ্ধারের সময় (কম্প টাইম বা দেরিতে শুরুর সুবিধা)

ভালো অন-কল সিস্টেমের লক্ষ্য হলো পরবর্তী মাসে পেজ কমানো, নইলে হিরোইকসকে স্বাভাবিক করা নয়।

কী ট্রিগার করলে পেজ হবে বনাম টিকেট হবে?

সরল নিয়ম: যদি কাউকে জাগানো ফলাফল বদলায় না, এটা টিকেট হওয়া উচিত, পেজ নয়।

প্রায়োগিকভাবে:

  • আউটেজ, ডেটা লস রিস্ক, সিকিউরিটি ইস্যু বা কড়া SLO ভঙ্গ হলে পেজ করুন
  • 'ডিগ্রেড কিন্তু স্থিতিশীল' সমস্যাগুলো ব্যবসার সময়কালে রুটিন করা
  • ফ্লেকি অ্যালার্টগুলোকে ফলো-আপ কাজ হিসেবে ধরুন (টিউনিং, ভালো সিগন্যাল, অটোমেশন)
SLO এবং এরর বাজেট কীভাবে “তুমি বানাও, তুমি চালাও”-কে সহায়তা করে?

এসএলআই/এসএলও/এরর বাজেটগুলো নির্ধারণ করায়:

  • SLI: যা আপনি মাপেন (উদাহরণ: রিকোয়েস্ট সাফল্য হার)
  • SLO: ঐ মাপের লক্ষ্য (উদাহরণ: 99.9%)
  • এরর বাজেট: কতটা অনির্ভরযোগ্যতা আপনি 'ব্যয়' করতে পারেন

বাজেট দ্রুত জ্বললে গুরুত্বপ্রাপ্ত রিলায়বিলিটি কাজকে অগ্রাধিকার দিন; বাজেট ভাল থাকলে ফিচার শিপ করা যায় বেশি ঝুঁকি নিয়ে।

কোন রিলিজ অনুশীলনগুলো এই মডেলটিকে টেকসই করে?

রিলিজ অনুশীলনগুলো যা অনিশ্চয়তা ও ব্লাস্ট রেডিয়াস কমায়:

  • প্রোডাকশন রেডিনেস (ড্যাশবোর্ড, অ্যালার্ট, রানবুক, রোলব্যাক প্ল্যান)
  • প্রগ্রেসিভ ডেলিভারি (ফিচার ফ্ল্যাগ, ক্যানারি, ছোট রিলিজ)
  • রিহার্সড রোলব্যাক/রোল-ফরওয়ার্ড ধাপ
  • লোড ও ফল্ট টেস্টিং যাতে ‘অজানা অজানা’ আগে ধরা পড়ে
এই মডেলে টিমগুলো কিভাবে ইনসিডেন্ট ও পোস্টমর্টেম হ্যান্ডল করবে?

ইনসিডেন্টগুলোতে একটি পুনরাবৃত্তযোগ্য ওয়ার্কফ্লো চালান:

  • detect → triage → mitigate → communicate → learn

তারপর ব্লেমলেস পোস্টমর্টেম লিখুন, যা সিস্টেম এবং প্রক্রিয়ার দুর্বলতার দিকে মনোযোগ দেয়, ব্যক্তিকে শামে না দিয়ে। ফলো-আপ গুলো হওয়া উচিত:

  • কনক্রিট
  • একটি ব্যক্তি/টিম দ্বারা মালিকানাধীন
  • সময়বদ্ধ
প্ল্যাটফর্ম টিমের সঠিক ভূমিকা কী যাতে সার্ভিস মালিকানা ক্ষুণ্ণ না হয়?

প্ল্যাটফর্ম টিমগুলো 'paved roads' দিয়ে টিমদের সহজভাবে মালিকানা নেওয়ার সুযোগ করে দেয়। কাজটি হলো প্রোডাক্ট টিমের পরিবর্তে প্রোডাকশন চালানো না—বরং এমন একটি পথ দেওয়া যাতে প্রোডাক্ট টিমরা পুনরাবৃত্তি করে অপারেশন গঠন না করে।

প্রাইমারী সীমা:

  • প্ল্যাটফর্ম টিম প্ল্যাটফর্মের আপটাইম ও সাপোর্টের জন্য দায়ী
  • প্রোডাক্ট টিমগুলো তাদের সার্ভিস কিভাবে প্ল্যাটফর্ম ব্যবহার করে, সেই আচরণ/রিলায়বিলিটির জন্য দায়ী
সূচিপত্র
“তুমি বানাও, তুমি চালাও” আসলে কী বোঝায়কেন এই দর্শন দলগুলোর সফটওয়্যার শিপ করার ধরন বদলালএটা কোথা থেকে এসেছে: ওয়ার্নার ভোগেলস এবং সার্ভিস মাইন্ডসেটমালিকানা: টিমগুলো ‘চালালে’ কী নিয়ে নেয়সঠিকভাবে অন-কল (এবং বার্নআউট ছাড়াই)SLO, SLI, এবং এরর বাজেট: ব্যবহারিক গার্ডরেইলনিরাপদভাবে শিপ করা: প্রোডাকশন রেডিনেস ও রিলিজ অনুশীলনইনসিডেন্ট এবং পোস্টমর্টেম: আউটেজকে শেখার মধ্যে পরিণত করাসাধারণ প্রশ্ন
শেয়ার
Koder.ai
Koder দিয়ে আপনার নিজের অ্যাপ তৈরি করুন আজই!

Koder-এর শক্তি বুঝতে সবচেয়ে ভালো উপায় হলো নিজে দেখা।

বিনামূল্যে শুরু করুনডেমো বুক করুন