bn

কিভাবে এটা কাজ করে?

ব্যবসার জন্য সাহায্য প্রয়োজন?

আপনার প্রয়োজন অনুসারে একটি ব্যক্তিগতকৃত FinMV উদ্ধৃতির জন্য আমাদের সাথে যোগাযোগ করুন।

মনোলিথিক বা মাইক্রোসার্ভিস?

আপনার কোম্পানির টেকনিক্যাল ডিরেক্টর, যখন একটি আর্থিক প্ল্যাটফর্ম চালু করার পরিকল্পনা করছেন, তখন তাকে একটি প্রজেক্ট আর্কিটেকচার বিকল্প বেছে নিতে হবে। তার কাছে কোন আর্কিটেকচার বিকল্পগুলি উপলব্ধ এবং কোনটি বেছে নেওয়া ভাল?

বিকল্প 1. মনোলিথিক আর্কিটেকচার (একশিলা)

একটি মনোলিথিক স্থাপত্য হল একটি স্নোবলের মত৷ আপনি একটি প্রকল্প শুরু করুন এবং আপনার কাছে একটি ছোট স্নোবল আছে। এটি এত ছোট যে এটি একটি ছোট দল দ্বারা বিকাশ এবং রোল করা যেতে পারে। কয়েক বছর কেটে গেছে, এবং এখন আপনার স্নোবল এত বিশাল হয়ে উঠেছে যে 20 বিকাশকারীরা ইতিমধ্যেই এটিকে ঠেলে দিচ্ছে৷ আরও কয়েক বছরের মধ্যে, শতশত ডেভেলপাররা এক টন কোড দিয়ে আপনার স্নোবল রোল করবে, কিন্তু নতুন বৈশিষ্ট্যগুলির লঞ্চ খুব ধীর হয়ে যাবে৷

ফলে, মালিকরা প্রযুক্তিগত পরিচালক, দলের সদস্যদের পরিবর্তন করতে শুরু করে, কিন্তু এটি আরও খারাপ হয়৷ নতুন দলের সদস্যরা ঐতিহাসিক বিবরণ জানেন না, কেন তুষার বলটি এমন হয় এবং অন্যটি নয়। পণ্যের ডকুমেন্টেশন দ্রুত পুরানো হয়ে যায়।

শুরু থেকেই কেন এটি করবেন না? প্রথমত, একটি ব্যবসার একেবারে শুরুতে, সবসময়ই সম্পদ সীমিত থাকে, পর্যাপ্ত বিকাশকারী, দক্ষতা এবং সময় থাকে না। ম্যানুয়ালটি তাগিদ দিচ্ছে, এবং প্রোগ্রামাররা দ্রুততম সম্ভাব্য উপায়ে এটি করার জন্য তাড়াহুড়ো করছে৷

দ্বিতীয়ত, কারিগরি প্রকৌশলীরা মনে করেন: "আচ্ছা, আপাতত এটি একটি মনোলিথিক আর্কিটেকচার হোক, কিন্তু যখন ব্যবসা বাড়বে, তখন আমরা সবকিছু আবার করব"৷ দুর্ভাগ্যবশত, বাস্তবে, একটি বিদ্যমান একশিলা প্রকল্পকে একটি মাইক্রোসার্ভিস আর্কিটেকচারে স্থানান্তর করা স্ক্র্যাচ থেকে সবকিছু লেখার চেয়ে দশ গুণ বেশি কঠিন হবে৷

বিকল্প 2. মাইক্রোসার্ভিস আর্কিটেকচার

আমরা মাইক্রোসার্ভিস আর্কিটেকচারের উপর ভিত্তি করে অবিলম্বে আপনার আর্থিক প্ল্যাটফর্ম তৈরি করব।

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

এই আর্কিটেকচারের অনেক সুবিধা আছে, তবে আমি সবচেয়ে গুরুত্বপূর্ণগুলির নাম দেব:

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

বাস্তব জীবনের উদাহরণ

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

এই কার্যকারিতা বাস্তবায়ন করতে পুরো টিমের কয়েক মাস সময় লেগেছে, এবং নতুন কার্যকারিতার বিকাশ আরও মন্থর হয়েছে৷ একটি মাইক্রোসার্ভিস আর্কিটেকচারের ক্ষেত্রে, সবকিছু অনেক সহজ এবং দ্রুত হবে৷

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

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

যেহেতু সবকিছু সবকিছুর সাথে সংযুক্ত ছিল, তাই নতুন ভাষা চালু করার সাথে সাথে একটি মাইক্রোসার্ভিস আর্কিটেকচারে যাওয়ার সিদ্ধান্ত নেওয়া হয়েছিল৷ মনোলিথিক থেকে মাইক্রোসার্ভিস আর্কিটেকচারে রূপান্তরের প্রক্রিয়াটি এক বছরেরও বেশি সময় নেয়৷

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

সেই সময়ে PHP এবং Laravel-এর নতুন সংস্করণগুলি প্রকল্পের গতি বাড়িয়ে তুলতে পারে এবং আরও উন্নয়ন করতে পারে, কিন্তু একচেটিয়া আর্কিটেকচার প্রযুক্তি স্ট্যাক আপডেট করার অনুমতি দেয়নি