Skip to main content

ফিনিক্স প্রোজেক্ট - ডেভঅপ্স আসলে কী?

DevOps Book Review Bengali
The Phoenix Project book cover - DevOps novel by Gene Kim, Kevin Behr, and George Spafford

ডেভঅপ্স শব্দটা আজকাল অনেক শুনা যাচ্ছে। অনেকেই ডেভঅপ্স ইঞ্জিনিয়ার খুঁজছেন। "ডেভঅপ্স নিয়ে জানতে কী কী পড়া উচিত?" - এই প্রশ্নের জবাবে রেডিট, কোরা সহ বেশিরভাগ জায়গায় একটা বইটার নাম প্রথমে দেখা যায় - The Phoenix project by Gene Kim, Kevin Behr and George Spafford। এবং পড়ার পরে মনে হয়েছে সবাই ঠিকই বলেছে। এই বইটা না পড়লেই না।

বইটা মূলত একটা গল্প। বিল পালমার নামের একজন আইটি ওপারেশনস ম্যানেজারের গল্প। আইটি অপারেশনস মানে ইনফ্রাস্ট্রাকচার যাদের দায়িত্বে। শুরুতেই আমরা দেখি বিল একটা প্রমোশন পেয়ে আইটি অপারেশনস এর ভিপি হয়েছেন। এখানে থেকে শুরু হয় দুঃস্বপ্নের মত অংশের। বইয়ের প্রথম অংশ মূলত এই দুঃস্বপ্নকেই আরও গাঢ় করে ফুটিয়ে তোলে। আইটির বিভিন্ন ঝামেলায় কম্পানির বারবার লোকসানের মুখে পড়ার ঘটনা ঘটতে থাকে।

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

এর মাঝে বিলের সাথে কথা হয় এরিক নামের এক অভিজ্ঞ বোর্ড মেম্বারের। তিনি তাকে বুঝাতে থাকেন যে আইটি আসলে ম্যানুচ্যাকচারিং প্ল্যান্টের মতোই। এটাকেও ম্যানেজ করতে হবে একই রকম ম্যানেজমেন্ট কৌশলে।

বইয়ের দ্বিতীয় অংশে আমরা দেখি এই কৌশলগুলো কিভাবে খুঁজে বের করে বিল। আর কিভাবে এগুলো ব্যবহার শুরু করে।

বইয়ের শেষ অংশে আমরা দেখি কিভাবে এই কৌশলগুলো স্বয়ংসম্পূর্ণ ডেভঅপ্স সংস্কৃতির দিকে নিয়ে যায় পুরো কোম্পানিকে।

বইটিকে খুব ছোট পরিসরে সারমর্ম করলে যা দাঁড়ায় তা হচ্ছে ম্যানুচ্যাকচারিং এর মতোই আইটিতেও চার ধরণের কাজ আর কাজের তিনটি রাস্তার কথা মনে রাখতে হবে সমসময়। এই চার ধরণের কাজ হচ্ছেঃ

চার ধরনের কাজ

১। ব্যবসায়ের কাজ : এই ধরণের কাজ কোম্পানির ব্যবসায়ের সাথে সরাসরি সম্পর্কিত প্রোডাক্ট তৈরির কাজ। যেমনঃ একটা কোম্পানির একটি SaaS প্রোডাক্ট ডেভেলপমেন্টের কাজ - ফ্রন্ট এন্ড লেখা। ব্যাকএন্ড লেখা, ইনফ্রাস্ট্রাকচার ডিজাইন, তৈরি আর দেখভাল করা।

২। অভ্যন্তরীণ কাজ : এই কাজগুলো সরাসরি প্রোডাক্ট তৈরির সাথে সম্পর্কিত না। বরং এই কাজগুলো অন্য কাজগুলোকে করতে সহায়তা করে। যেমনঃ কোম্পানির অন্যন্তরীন কোন টুল তৈরি, কোন প্যাকেজ আপডেট করা, ইত্যাদি।

৩। পরিবর্তন : প্রোডাক্ট বা ইনফ্রাস্ট্রাকচারের পরিবর্তন, কোন নিরাপত্তা বিষয়ক দুর্বলতা ঠিক করে, ইত্যাদি।

৪। অপরিকল্পিত কাজ : সিস্টেমের কোন ঝামেলার জন্য হঠাত করে যে কাজগুলো আসতে পারে সেগুলোই এর মধ্যে পড়ে। এর একটা প্রচলিত নাম আছে : firefighting।

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

কাজের তিনটি পথ

১। প্রথম পথ: প্রথম পথের মূল লক্ষ্যণীয় হচ্ছে কাজের একমুখী চলাচল। কাজ যেন সবসময় এক স্তর থেকে আরেক স্তরে যায়। কাজের যদি কখনও আগের স্তরে ফিরে আসতে হয় তাহলেই একটা ঝামেলা তৈরি হবে। কাজগুলোকে সবসময় ছোট ছোট ব্যাচে করতে হবে। অল্প অল্প পরিবর্তন করে আগাতে হবে। এতে জমে থাকা কাজের কারণে সময় নষ্ট কম হবে। আর কোন একটা ব্যাচে ঝামেলা হলে তা আরেকটা ছোট ব্যাচের মাধ্যমে দ্রুত ঠিক করা সম্ভব হবে।

এর সাথে সম্পর্কিত কিছু বিষয় হচ্ছে continuous build, integration আর deployment, deployment environment যেন দরকার হলেই মূহুর্তে তৈরি করা যায় তার ব্যবস্থা, চলমান কাজের পরিমাণ নিয়ন্ত্রণে রাখা, ইত্যাদি।

২। দ্বিতীয় পথ: দ্বিতীয় পথের মূল বিষয়টা হচ্ছে সব স্তরেই ফিডব্যাক তৈরি করা। আর সেই ফিডব্যাকটা যেন ঠিক জায়গায় পৌঁছায়। এই ফিডব্যাক ব্যবহার করে সিস্টেমের সমস্যা ঠিক করতে হবে।

আমাদের টেস্ট, মনিটরিং তৈরি করতে হবে যেন আমরা কোন একটা সমস্যা হলেই তা দ্রুত চিহ্নিত করতে পারি।

৩। তৃতীয় পথ: এই পথ বলে প্রতিষ্ঠানে এমন একটা সংস্কৃতি তৈরি করতে যা দুইটা জিনিস নিশ্চিত করবেঃ প্রতিনিয়ত পরীক্ষা নিরীক্ষা চালানো এবং বারবার পুনরাবৃত্তি আর অনুশীলন করে দক্ষতা বৃদ্ধি করা। পরীক্ষা - নিরীক্ষার ঝুঁকির মাধ্যমেই সবসময় নিজেদের আরো ভাল করে তোলা ডেভঅপ্স সংস্কৃতির একটা মূল খুটি।

বইয়ের গল্পের মধ্যেই আমরা ধীরে ধীরে দেখতে পাই কিভাবে এই নীতিগুলো আমাদের প্রচলিত ডেভঅপ্স প্রক্রিয়াগুলোকে নিয়ে এসেছে।

Ad