
আপনি কি জানেন বর্তমানে বিশ্বে যতোগুলো এ্যাপ্লিকেশন রান করছে এর প্রায় ৭০ শতাংশ লেগাসি? অর্থাৎ এই ৭০ শতাংশ এ্যাপ্লিকেশন লেগাসি সিস্টেমে, লেগাসি কোডবেজে রান হচ্ছে। আর এর ভিতর অন্তত ১৫-২০ শতাংশ এ্যাপ্লিকেশন রয়েছে যাদের লার্জ কোডবেজ এবং কমপ্লেক্স বিজনেস লজিক। আপনি কি মনে করেন এই সকল এ্যাপ্লিকেশন রাতারাতি AI Agent দিয়ে রিরাইট কিংবা রিফ্যাক্টর করে ফেলা সম্ভব? চলুন আজকে লেখায় আমরা লেগাসি এ্যাপ্লিকেশনের বর্তমান অবস্থা, এর ভবিষ্যত ও এখানে সফটওয়্যার ইন্ডাস্ট্রি ও ডেভলপারদের করনীয় কি আছে সেটা জানার চেস্টা করি।
🟢 লেগাসি এ্যাপ্লিকেশনগুলোর বর্তমান অবস্থা
আমরা তো জানলাম যে আমাদের টোটাল এ্যাপ্লিকেশনের প্রায় ৭০ শতাংশ হচ্ছে লেগাসি। মার্কেটে যারা সত্যিকার অর্থেই বিজনেস করছেন, যারা আপনার আমার জীবনে ইমপ্যাক্ট তৈরী করছেন, ক্রিটিকাল সমস্যাগুলোর সমাধান দিয়ে যাচ্ছেন, আমাদের নিরবিচ্ছিন্ন সার্ভিস দিয়ে যাচ্ছেন এর অধিকাংশই হচ্ছে লেগাসি এ্যাপ্লিকেশন।
তাহলে প্রশ্ন আসতে পারে লেগাসি এ্যাপ্লিকেশন মূলত কি?
লেগাসি এ্যাপ্লিকেশন হচ্ছে আধুনিক সময়ে সেকেলে বা পুরোনো প্রযুক্তি ব্যবহার করে যেই এ্যাপ্লিকেশন রান করছে সেটাই লেগাসি এ্যাপ্লিকেশন।যেমন:
– ব্যাংকিং সিস্টেম
– ATM মেশিন অপারেশন
– টেলিকম
– এন্টারপ্রাইজ
– গভর্নমেন্ট ও পাবলিক সেকটর
– এভিয়েশন
– রিটেইল ও ইকমার্স
– ম্যানুফ্যাকচারিং
– হেলথকেয়ার
কিছুকিছু লেগাসি এ্যাপ্লিকেশন রয়েছে যেগুলো প্রায় ২০-২৫ বছর যাবৎ রান করছে এবং এই পুরো সময়টা জুড়ে এ্যাপ্লিকেশনে ধারাবাহিক ও বিচ্ছিন্নভাবে ফিচারযুক্ত হয়েছে। একই এ্যাপ্লিকেশনে শতশত ডেভলপার বিভিন্ন জায়গায় কিছু কিছু কাজ করে গেছেন, যারা এখন আর এই প্রোজেক্টে নেই। সময়ের প্রয়োজনে এতে এমন কিছু ফিচার যুক্ত হয়েছে যা ঐ সময়ের ডেভলপার ছাড়া অন্য কেউ জানে না। এসকল এ্যাপ্লিকেশনের নেই কোনো ডকুমেন্টেশন, নেই প্রোপার গাইডলাইন, এমনকি কোনো সিঙ্গেল পার্সন এই এ্যাপ্লিকেশনগুলোর পুরোটা জানেন না। এমন অনেক ফিচার এই ধরনের এ্যাপ্লিকেশনে থাকে যা কিভাবে কাজ করে সেটা কেউ জানে না, এমনকি এটা কি কাজ করে সেটাও জানে না। কিন্তু সেটা আবার রিমুভও করা যাবে না তাহলে পুরো এ্যাপ্লিকেশন বসে যাবে। এই ধরনের এ্যাপ্লিকেশনগুলোতে বছরের পর বছর ধরে নানান ফিচার যুক্ত হয়ে পুরো সিস্টেম অনেক কমপ্লেক্স হয়ে গেছে, তাছাড়া এগুলো অনেক ক্রিটিকাল লজিক হ্যান্ডল করে। এই একেকটা ফিচারের রয়েছে অন্যান্য ফিচারের সাথে Interdependency.
🟢 আমরা কি চাইলেই এগুলোকে রিরাইট করতে পারি না?
আইটি ইন্ডাস্ট্রিতে একটি খুব প্রচলিত প্রবাদ আছে: “If it ain’t broke, don’t fix it” (যদি এটা ভেঙে না যায়, তাহলে এটা ফিক্স করতে যেয়ো না)। লেগাসি এ্যাপ্লিকেশনের ক্ষেত্রে এই কথাটি অক্ষরে অক্ষরে সত্য। সাধারনভাবে মনে হতে পারে একটি পুরোনো লেগাসি এ্যাপ্লিকেশনকে আধুনিক সিস্টেম (.Net, NodeJS, বা Laravel) এবং নতুন ফ্রন্টএন্ড(ReactJS, VueJS) দিয়ে রিরাইট করে ফেলা মনে হয় দারুন একটা আইডিয়া। কিন্তু বাস্তবে এটি পুরো উল্টো, বরং এটি একটি চলন্ত এরোপ্লেনের ইঞ্জিন পরিবর্তন করার মতো রিস্কি। চলুন অনেকগুলো কারনের ভিরত থেকে দু-চারটা বিষয় নিয়ে আলোচনা করি যে কেন লেগাসি কোডবেস বা সিস্টেমকে চাইলেই সহজে রিরাইট করে ফেলা সম্ভব না:
❯ The Blackbox Syndrome: এই বিশাল পুরোনো এ্যাপ্লিকেশনগুলোর সবথেকে বড় সমস্যা হলো সিস্টেমটি আসলে কিভাবে এর অভ্যন্তরে কাজ করে সেটা এখন আর কেউই পুরোপুরি জানে না। এর রয়েছে ডকুমেন্টেশনের অভাব, ১৫-২০ বছর ধরে ফিচার যুক্ত ও মডিফাই হতে হতে এটি একটি মোনোলিথ মনস্টারে রূপ নিয়েছে। তাছাড়া এই কোডবেসে মূল ডেভলপারের অনুপস্থিতি আরেকটা বড় সমস্যা, যারা সিস্টেমের কোর বিজনেস লজিক ও কাস্টম রুলসগুলো লিখেছেন তারা হয়তো বহু আগেই চাকরী ছেড়ে চলে গেছেন। আর কোডের হিডেন ডিপেন্ডেন্সি তো রয়েছেই। ফলে রিরাইট করতে গেলে আপনার সামনে এমন সকল অজানা বাগ এসে হাজির হবে সেটা আপনার ও পুরো টিমের কারোরই বোধগম্য নয়।
❯ লস্ট বিজনেস লজিক: এটা আরেকটি বড় কারন চাইলেই কোড রিরাইট করতে না পারার। একটি বড় এন্টারপ্রাইজ সিস্টেমে হাজার হাজার ছোট ছোট বিজনেস রুলস বা এজ-কেস লুকিয়ে থাকে, যা কালের পরিক্রমায় ব্রেইন থেকে হাড়িয়ে গেলেও ঐ ফিচার কিন্তু ঠিকই সিস্টেম থেকে যায় ও ক্লায়েন্ট বা কাস্টমারকে সার্ভ করতে থাকে। এই রকম ক্ষেত্রে এটি রিরাইট করতে গেলে সূক্ষ লজিকগুলো মিস হয়ে যাবার প্রবল সম্ভাবনা থাকে। আর সেটি যদি হয় ফিনটেক, টেলকো বা হেলথটেক তাহলে একটি সামান্য ভুলে বিলিয়ন ডলারের ক্ষয়-ক্ষতিও হতে হবে।
❯ Data Migration: সফটওয়্যার রিরাইট করা যতটা কঠিন তার থেকে শতগুন বেশি কঠিন লেগাসি এ্যাপ্লিকেশন থেকে ডাটা মাইগ্রেশন। অধিকাংশক্ষেত্রেই পুরো সিস্টেমের ডাটা, ডাটা স্ট্রাকচার, স্কিমা নতুন সিস্টেমের সাথে মিলে না। নতুন সিস্টেমে এটি ফিট করাতে হলে পুরো বিজনেস ডোমেইনে নলেজ থাকতে হয়, এজ-কেজগুলো বুঝতে হয়, ইউজারের জার্নিগুলো জানতে হয়। ছোট্ট একটি ভুলেও এখানে বিশাল সমস্যা তৈরী করতে পারে।
আর এই পুরো প্রক্রিয়া খুবই ব্যায়বহুল এবং অনিশ্চিত ROI(Return on Investment). তাছাড়া কিছু কিছু এ্যাপ্লিকেশনের সাথে অন্যান্য বিজনেস এতোটা টাইটলি কাপলড যে আপনি এখানে কোনো ডাউনটাইম রাখতে পারবেন না, রাখলে আপনার ক্লায়েন্টের বা কাস্টমারের বিজনেসের বড় অংকের ক্ষতি হয়ে যেতে পারে যা প্রায় অপূরনীয়। আর সাথে তো নানান পলিসিগত ও রেগুলেটরি ডিপেনডেন্সি আছেই।
🟢 এগুলো আমাদেরকে কেন বলছেন?
কারন অনেকেই ভাবছেন AI আসার ফলে সবাই AI দিয়ে এ্যাপ্লিকেশন বানিয়ে ফেলবে, ডেভলপারদের আর কোনো কাজ থাকবে না। ডেভলপার’রা হয়ে যাবে বেকার, আসলেই কি তাই? এবার আপনি উপরের আলোচনার সাপেক্ষ একটা ম্যাথ করে মিলিয়ে নিন সামনের দিনগুলোতে কি পরিমান কাজের সম্ভাবনা তৈরী হচ্ছে
আপনি কার জন্য কাজ করতে চাইবেন? যিনি আজকে একটি ফ্লোটিং আইডিয়ার উপরে AI দিয়ে একটি এ্যাপ্লিকেশন বানিয়ে দু মাস পরে সেটা শাটডাউন করে দিবে তার? নাকি যারা যুগের পর যুগ সুনামের সাথে মানুষকে সার্ভিস দিয়ে এসেছে এবং প্রফিটেবল, সেই কোম্পানীকে? বুদ্ধিমান হলে স্টাবলিস্ট কোম্পানির সাথে কাজ করা উচিৎ স্টেবিলিটি ও ইমপ্যাক্ট তৈরীর জন্য। এখন যত দ্রত মানুষ এপ্লিকেশন বানাবে ততো দ্রুত সেগুলো ফ্লপ করবে। বিজনেসে ইনভেস্টমেন্টেও কম হবে ফলে এতে সিরিয়াসনেসও কমে যাবে। এতে করে সিরিয়াস বিজনেস কম গ্রো করবে। অথচ লেগাসি এ্যাপ্লিকেশনগুলো কিন্তু ঠিকই যুগের পর যুগ সফলতার সাথে ঠিকে আছে, যারা প্রফিটেবল।
সামনে লেগাসি এ্যাপ্লিকেশকে AI-enabled করার হিউজ একটা মার্কেট তৈরী হচ্ছে, যেটা বিশাল একটা মার্কেট। বুঝতেই পারছেন পুরো ওয়ার্ল্ডের প্রায় ৭০ শতাংশ। যেখানে আপনাকে এ্যাপ্লিকেশনকে স্ক্রাচ থেকে বিল্ড না করে বরং এক্সিস্টিং সিস্টেমে AI ইন্টিগ্রেট করার চাহিদা তৈরী হচ্ছে। একটা বড় সিস্টেম চাইলেই রাতারাতি সেটাকে রিরাইট করে ফেলা সম্ভব না বা করবেও না। বরং তারা যেই সিস্টেমটা কাজ করছে সেটাকে ঠিক রেখৈ AI-enable করে ফেলবে। মানে AI অনেকক্ষেত্রে core legacy সিস্টেমকে রিপ্লেস না করে বরং:
– Wrapper layer
– Middleware
– API Gateway
– Event stream
– Agent layer
– Semantic Indexing
– Automation Orchestration
– MCP
– RAG
এগুলোর মাধ্যমে সিস্টেমকে AI-enabled করবে।
আপনি যদি ভাবেন এই এ্যাপ্লিকেশনগুলোকে চাইলেই AI Agent দিয়ে রিরাইট করে ফেলা সম্ভব তাহলে আমি বলবো আপনি ভুলের সাগরে ডুবে আছেন। এটা যে কতো বড় আত্মঘাতী সেটা যারা ইন্ডাস্ট্রিতে কাজ করছেন বহুবছর যাবৎ তারা জানেন।
চলুন দেখি এক্সিস্টিং সিস্টেমগুলোকে এ্যাজ ইট ইজ রেখে কোন সেগমেন্টে AI-enabled করা যেতে পারে তার কিছু নমুনা:
❯ Banking & Financial
– Fraud detection
– Loan risk analysis
– Customer support agent
– Document verification
❯ Healthcare
– Medical transcription
– Drug recommendations
– Hospital workflow
❯ Enterprise Software
– AI copilot
– Workflow automation
– Internal knowledge assistant
❯ E-commerce
– Recommendation engine
– AI search
– Dynamic pricing
– Return fraud detection
উপরের সকলগুলো কাজ আপনি LLM, MCP, RAG, AI Agent এগুলো দিয়ে AI-enabled করে ফেলতে পারবেন। এখানেতো কয়েকটা উদাহরন হিসেবে দিলাম, এইরকম সেগমেন্ট রয়েছে হাজার হাজার। সামনে সবাই তাদের এক্সিস্টিং সিস্টেমকে মডার্ন করার জন্য সেটাকে AI-enabled করবে। শুধু AI-enabled না বরং সার্ভিসে আইসোলেট করে ফেলানো, নতুন ইউআই যুক্ত করার মতো নানান কাজ থাকবে।
——
আমি মনেকরি আগামি ২-৩ বছরের মধ্যে নতুন একটা ইন্ডাস্ট্রি তৈরী হবে Legacy AI Modernization-কে কেন্দ্র করে। যেটা বিশাল একটা মার্কেট। সেখানে অনেক অনেক দক্ষ সফটওয়ার ইঞ্জিনিয়ার দরকার হবে Legacy System-কে AI-enabled করতে। আর আপনিও যদি সেই সময়টাতে নিজেকে যোগ্য হিসেবে গড়তে চান তাহলে আপনাকে নিচের দেয়া বিষয়গুলে শিখতে হবে:
- LLM কিভাবে কাজ করে
- কিভাবে LLM-কে ট্রেইন করানো যায়
- কিভাবে আপনার নলেজবেজ AI-কে ফিট করানো যায়
- MCP কি, কিভাবে কাজ করে, কখন এটি ব্যবহার করবো, কিভাবে ডেভলপ করতে হয়
- RAG সিস্টেমের ব্যবহার জানতে হবে, প্রয়োগ জানতে হবে
- কিভাবে এক্সিস্টিং ডাটাকে RAG-য়ে ফিট করাতে হয় সেটা জানতে হবে
- Vector Database কি, ডাটার ভেকটর ফর্ম কি সেটা জানতে হবে
- কোন ধরনের কাজের জন্য কোন Vector DB ব্যবহার করলে ভালো হবে সেটা জানতে হবে
- AI Agent Orchestration নিয়ে কাজ জানতে হবে।
- সফটওয়্যার ইঞ্জিনিয়ারিংটা ভালো করে বুঝতে হবে
- লার্জ প্রোবলেমকে ছোট ছোট প্রোবলেমে ভাঙতে জানতে হবে
- বড় একটা সিস্টেমকে এক্সপ্লোর করতে জানতে হবে
- জানতে হবে বড় একটা সিস্টেমকে ছোট ছোট প্রোসেসে ভাগ করতে
- ডাটাবেস ডিজাইন জানতে হবে, ডাটা মাইগ্রেশন জানতে হবে
- কোড রিড করে বিজনেস লজিক এক্সট্রাক্ট করতে জানতে হবে
- লেগেসি কোডবেজ রিফ্যাক্টর ও ডিবাগ করতে জানতে হবে
তাই হতাশ না হয়ে বরং চলুন শেখাকে কন্টিনিউ করি। আজকে থেকেই একেকটা টপিক নিয়ে পড়াশুনা করি ও সেটা ইমপ্লিমেন্ট করতে চেস্টা করি। নিজে দক্ষতা অর্জন করি। আর এই সময়টা তিক্ত হলেও ধৈর্য ধারন করুন, ইনশা’আল্লাহ আগামীটা বেশ সুন্দর হবে।