যখন আমি প্রযুক্তিগত ঋণের কথা চিন্তা করি, তখনও আমার তৈরি করা প্রথম অ্যাপ্লিকেশনটির কথা মনে পড়ে যা আমাকে অনুপযুক্ত আর্কিটেকচারের পরিণতি উপলব্ধি করে। এটি 1990 এর দশকের শেষের দিকে ঘটেছিল, যখন আমি প্রথম একজন পরামর্শদাতা হিসাবে শুরু করেছিলাম।
ক্লায়েন্ট তাদের গ্রাহকদের জন্য একটি প্রকিউরমেন্ট সিস্টেম তৈরি করতে Lotus Notes প্ল্যাটফর্ম ব্যবহার করার অনুরোধ করেছিল। Lotus Notes ক্লায়েন্ট এবং একটি কাস্টম অ্যাপ্লিকেশন ব্যবহার করে, শেষ-ব্যবহারকারীরা এমন অনুরোধ করতে পারে যা অ্যাপ্লিকেশন দ্বারা ট্র্যাক করা হবে এবং পণ্য মালিকের দল দ্বারা পূরণ করা হবে। তাত্ত্বিকভাবে, এটি সত্যিই একটি দুর্দান্ত ধারণা ছিল – বিশেষ করে যেহেতু ওয়েব-উন্নত অ্যাপ্লিকেশনগুলি প্রচলিত ছিল না এবং প্রত্যেকে প্রতিদিন লোটাস নোট ব্যবহার করে।
মূল সমস্যাটি হল যে ডেটা ডিজাইনে খুব রিলেশনাল ছিল - এবং লোটাস নোটস একটি রিলেশনাল ডাটাবেস ছিল না। সমাধানের ডিজাইনের জন্য প্রতিটি লোটাস নোটস ডকুমেন্টের মধ্যে স্কিমা পরিচালনার প্রয়োজন এবং ডেটা অ্যাট্রিবিউটের মধ্যে সম্পর্ক অনুকরণ করার জন্য বহু-মূল্য ক্ষেত্রগুলির একটি সিরিজের উপর ঝুঁকে পড়ে। এটা একটা গন্ডগোল ছিল.
একটি ভাল প্ল্যাটফর্মের সুপারিশ করা হলে লোটাস নোটস অ্যাপ্লিকেশনটিতে প্রচুর যুক্তির প্রয়োজন হত না। উত্স কোড সমর্থন করার জন্য জটিল ছিল. ডেটা স্ট্রাকচারের উন্নতির ফলে অন্তর্নিহিত কোডের বড় রিফ্যাক্টরিং হয়েছে - বিদ্যমান ডেটা রূপান্তর করতে সার্ভার-ভিত্তিক কাজগুলি চালানোর কথা উল্লেখ না করা। প্রতিবেদন তৈরির পিছনে আমাকে প্রচেষ্টা শুরু করবেন না।
যেহেতু আমি আমার কর্মজীবনের প্রথম দিকে ছিলাম, আমি একটি ভাল সমাধান অফার করার চেষ্টা করার পরিবর্তে ক্লায়েন্টের চেয়েছিলেন এমন একটি সমাধান প্রদানের দিকে মনোনিবেশ করেছি। এটি অবশ্যই একটি পাঠ ছিল যা আমি আমার কর্মজীবনের প্রথম দিকে শিখেছিলাম, কিন্তু সেই প্রকল্পের বছরগুলিতে, আমি উপলব্ধি করতে পেরেছি যে স্থাপত্য প্রযুক্তিগত ঋণের পরিণতি হল একটি দুর্ভাগ্যজনক বাস্তবতা যা আমরা সবাই মুখোমুখি।
আসুন একটি ম্যাক্রো স্তরে আর্কিটেকচার প্রযুক্তি ঋণের ধারণাটি আরও একটু অন্বেষণ করি।
কার্নেগি মেলন বিশ্ববিদ্যালয়ের আর্কিটেকচারাল টেকনিক্যাল ডেট (ATD) লাইব্রেরি ATD-এর নিম্নলিখিত সংজ্ঞা প্রদান করে:
স্থাপত্য প্রযুক্তিগত ঋণ হল একটি নকশা বা নির্মাণ পদ্ধতি যা স্বল্পমেয়াদে সমীচীন, কিন্তু এটি একটি প্রযুক্তিগত প্রেক্ষাপট তৈরি করে যেখানে একই কাজের জন্য স্থাপত্যের পুনঃওয়ার্কের প্রয়োজন হয় এবং এখন যা করতে হবে তার চেয়ে পরে করতে বেশি খরচ হয় (সময়ের সাথে সাথে বর্ধিত খরচ সহ) .
"দ্রুত উত্তর: আর্কিটেকচার টেকনিক্যাল ডেট কিভাবে পরিচালনা করবেন" (প্রকাশিত 09/22/2023) এ, গার্টনার গ্রুপ ATD কে নিম্নরূপ সংজ্ঞায়িত করেছে:
স্থাপত্য প্রযুক্তিগত ঋণ হল সেই ধরনের প্রযুক্তিগত ঋণ যা আর্কিটেকচারাল ড্রিফট, সাবঅপ্টিমাল আর্কিটেকচারাল সিদ্ধান্ত, নির্ধারিত টার্গেট প্রোডাক্ট আর্কিটেকচারের লঙ্ঘন এবং প্রতিষ্ঠিত ইন্ডাস্ট্রি আর্কিটেকচারাল বেস্ট প্র্যাকটিস এবং দ্রুত সফ্টওয়্যার ডেলিভারির জন্য আর্কিটেকচার ট্রেড-অফের কারণে হয়।
উভয় ক্ষেত্রেই, যে সুবিধাগুলি প্রায়শই স্বল্পমেয়াদী উদযাপন করে তা দীর্ঘমেয়াদী চ্যালেঞ্জগুলির সাথে মোকাবিলা করা যেতে পারে। এটি ভূমিকায় উল্লিখিত আমার লোটাস নোটের উদাহরণের অনুরূপ।
বিষয়গুলিকে আরও জটিল করার জন্য, সফ্টওয়্যার বিকাশের অন্যান্য দিকগুলির তুলনায় সফ্টওয়্যার আর্কিটেকচারের জন্য প্রযুক্তিগত ঋণ সনাক্তকরণ এবং পরিচালনা করতে সহায়তা করার জন্য টুলিং অনুপস্থিত:
কোডের গুণমান, পর্যবেক্ষণযোগ্যতা এবং SCA-এর জন্য, Sonarqube, Datadog, New Relic, GitHub এবং Snyk-এর মতো পণ্যগুলির সাথে প্রমাণিত টুলিং বিদ্যমান। যাইহোক, সফ্টওয়্যার আর্কিটেকচার বিভাগটি কোনো প্রমাণিত সমাধান ছাড়াই পিছিয়ে গেছে।
এটি দুর্ভাগ্যজনক, এই সত্যটি দেওয়া যে ATD ধারাবাহিকভাবে সবচেয়ে বড় - এবং সবচেয়ে ক্ষতিকারক - ধরণের প্রযুক্তিগত ঋণ, যেমনটি " মেজার ইট? এটা পরিচালনা? বাদ দাও? সফ্টওয়্যার অনুশীলনকারী এবং প্রযুক্তিগত ঋণ ” 2015 গবেষণা কার্নেগি মেলন দ্বারা প্রকাশিত।
নিম্নলিখিত চিত্রটি সেই প্রতিবেদন থেকে চিত্র 4 এর সংক্ষিপ্তসার করে, এই উপসংহারে যে খারাপ স্থাপত্য পছন্দগুলি প্রযুক্তিগত ঋণের উত্সের স্পষ্ট নেতা ছিল।
যদি পরিচালিত না হয়, ATD সময়ের সাথে সাথে ক্রমবর্ধমান হারে বৃদ্ধি পেতে পারে, যেমনটি এই সাধারণ উদাহরণে প্রদর্শিত হয়েছে:
প্রশমন ছাড়া, স্থাপত্য ঋণ পরিমাপ করা অন্তর্নিহিত সমাধানের জন্য একটি ব্রেকিং পয়েন্টে পৌঁছাবে।
আমরা এটিডি পরিচালনা করার আগে, আমাদের প্রথমে সমস্যাটি বুঝতে হবে। ডেসমন্ড টুটু একবার বিজ্ঞতার সাথে বলেছিলেন, "একটি হাতি খাওয়ার একমাত্র উপায় আছে: একবারে একটি কামড়।"
শিফট-বাম পন্থা একটি প্রদত্ত দিকটিকে জীবনচক্রের শেষের তুলনায় শুরুর কাছাকাছি নিয়ে যাওয়ার ধারণাকে গ্রহণ করে। এই ধারণাটি পরীক্ষার জন্য শিফট-বামে জনপ্রিয়তা লাভ করে, যেখানে পরীক্ষার পর্যায়টি উন্নয়ন প্রক্রিয়ার একটি অংশে স্থানান্তরিত হয়েছিল এবং উন্নয়ন শেষ হওয়ার পরে সম্পূর্ণ করার জন্য একটি পৃথক ইভেন্ট নয়।
ATD পরিচালনার ক্ষেত্রে শিফট-বাম দুটি ভিন্ন উপায়ে প্রয়োগ করা যেতে পারে:
পরীক্ষার জন্য বামে স্থানান্তরের মতো, উন্নয়ন পর্বের সময় স্থিতিস্থাপকতা এবং সুরক্ষার উপর অগ্রাধিকারমূলক ফোকাস অপ্রত্যাশিত ঘটনার সম্ভাবনা হ্রাস করবে।
স্থাপত্য পর্যবেক্ষণযোগ্যতা ইঞ্জিনিয়ারিং দলগুলিকে তাদের পরিষেবাগুলির মধ্যে একটি ম্যাক্রো স্তরে ক্রমবর্ধমানভাবে আর্কিটেকচারাল ড্রিফটকে মোকাবেলা করার ক্ষমতা দেয়। প্রকৃতপক্ষে, ওয়াল স্ট্রিট জার্নাল এই বছরের শুরুতে "অদৃশ্য $1.52 ট্রিলিয়ন সমস্যা: ক্লাঙ্কি ওল্ড সফ্টওয়্যার," নিবন্ধে প্রযুক্তিগত ঋণ ঠিক করার জন্য $1.52 ট্রিলিয়ন খরচের কথা জানিয়েছে।
সফল হতে, ইঞ্জিনিয়ারিং নেতৃত্বকে অবশ্যই নিম্নলিখিত সাংগঠনিক উদ্দেশ্যগুলির সাথে সম্পূর্ণ সারিবদ্ধ হতে হবে:
আমি সম্প্রতি vFunction এর AI-চালিত স্থাপত্য পর্যবেক্ষণযোগ্যতা প্ল্যাটফর্ম আবিষ্কার করেছি, যা নিম্নলিখিত সরবরাহযোগ্যগুলির উপর দৃষ্টি নিবদ্ধ করে:
উপরন্তু, vFunction প্ল্যাটফর্ম মনোলিথ থেকে ক্লাউড-নেটিভ সলিউশনে রূপান্তরিত করার জন্য মাইগ্রেশন পাথ প্রদানের পার্শ্ব-সুবিধা প্রদান করে। একবার দলগুলি তাদের প্ল্যাটফর্মগুলিকে আধুনিকীকরণ করলে, তারা চলমান প্রবাহের জন্য তাদের অবিচ্ছিন্নভাবে পর্যবেক্ষণ করতে পারে। যদি কোম্পানিগুলির ইতিমধ্যেই মাইক্রোসার্ভিস থাকে, তাহলে তারা ডিস্ট্রিবিউটেড অ্যাপ্লিকেশানগুলিতে জটিলতা সনাক্ত করতে এবং স্থিতিস্থাপকতা এবং স্কেলেবিলিটি প্রভাবিত করে এমন নির্ভরতাগুলি সনাক্ত করতে vFunction ব্যবহার করতে পারে। উভয় ক্ষেত্রেই, একবার বাস্তবায়িত হলে, প্রকৌশল দলগুলি ব্রেকিং পয়েন্টে পৌঁছানোর আগে এটিডিকে ভালভাবে প্রশমিত করতে পারে।
উপরের উদাহরণে, প্রকৌশল দলগুলি vFunction প্ল্যাটফর্মের বাস্তবায়ন এবং একটি অন্তর্নিহিত শিফট-বাম পদ্ধতির কারণে প্রতিটি রিলিজের একটি অংশ হিসাবে প্রযুক্তিগত ঋণ প্রশমিত করতে সক্ষম হয়।
আমার পাঠকরা মনে করতে পারেন যে আমি নিম্নলিখিত মিশনের বিবৃতিতে ফোকাস করেছি, যা আমি মনে করি যে কোনও আইটি পেশাদারের জন্য প্রয়োগ করা যেতে পারে:
“আপনার বৌদ্ধিক সম্পত্তির মূল্যকে প্রসারিত করে এমন বৈশিষ্ট্য/কার্যকারিতা প্রদানের উপর আপনার সময় ফোকাস করুন। অন্য সবকিছুর জন্য ফ্রেমওয়ার্ক, পণ্য এবং পরিষেবার সুবিধা নিন।" - জে. ভেস্টার
vFunction প্ল্যাটফর্ম ম্যাক্রো স্তরে তাদের পরিষেবার স্থিতিস্থাপকতা এবং নিরাপত্তার জন্য ইঞ্জিনিয়ারিং দলগুলিকে একটি বাম-বাম পদ্ধতিতে নিয়োগ করতে সহায়তা করে আমার মিশন বিবৃতি মেনে চলে। এটি একটি গুরুত্বপূর্ণ পার্থক্য কারণ এই ধরনের টুলিং ছাড়াই, দলগুলি একটি ক্ষুদ্র স্তরে প্রশমিত হতে পারে, প্রযুক্তিগত ঋণের সমাধান করতে পারে যা একটি সাংগঠনিক দৃষ্টিকোণ থেকে সত্যিই গুরুত্বপূর্ণ নয়।
যখন আমি সেই অ্যাপ্লিকেশনটির কথা মনে করি যা আমাকে প্রযুক্তিগত ঋণের চ্যালেঞ্জগুলি উপলব্ধি করতে বাধ্য করেছিল, তখন আমি সাহায্য করতে পারি না তবে কীভাবে সেই সমাধানটি প্রবর্তিত প্রতিটি বৈশিষ্ট্যের সাথে সুবিধার চেয়ে বেশি সমস্যা তৈরি করেছিল তা নিয়ে ভাবতে পারি না। নিশ্চিতভাবেই, শুধুমাত্র স্থিতিস্থাপকতার জন্য শিফট-বাম ব্যবহারই অন্তর্নিহিত আর্কিটেকচারের সাথে পৃষ্ঠের সমস্যাগুলিকে এমন একটি বিন্দুতে সাহায্য করবে যেখানে বিকল্প বিবেচনা করার খরচ সম্ভব হবে।
আপনি যদি vFunction সমাধান সম্পর্কে আরও জানতে আগ্রহী হন তবে আপনি এখানে তাদের সম্পর্কে আরও পড়তে পারেন।
একটি সত্যিই মহান দিন আছে!