মনোলিথিক এবং মাইক্রোসার্ভিস আর্কিটেকচার কি?

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

Microservice না, Monkey Service

মাইক্রোসার্ভিস সিরিজটি শুরু করার আগে নিচের দুইটি পোস্টপড়ে আসা বাধ্যতামূলক : ১) স্কেলিং ওয়েব সার্ভার এবং গেদু ভাইয়ের আদি ফ্যামিলি ২) ভার্টিক্যাল স্কেলিং এবং হরিজন্টাল স্কেলিং মানকি সার্ভিস আপনার এপ্লিকেশনের একটি মডিউল কে একটি বানর হিসেবে কল্পনা করুন । বানরটিকে এমনভাবে প্রশিক্ষন দিলেন যে এটি একটি নোট ইনপুট হিসেবে নিবে তারপর সে ঐ নোট টি নিয়ে কিছুকক্ষন […]

সাধু বাবার লোড ব্যালেন্সিং

ওয়েব সার্ভার স্কেলিং-এ লোড ব্যালেন্সিং এর ভুমিকা কি তা নিয়ে আজকের এই পোস্ট । তবে ট্যাকনিক্যাল ব্যাখ্যার পূর্বে আগে সাধু বাবার একটি কাহিনী বুঝে নেই। তামিল নাড়ুর কোন এক অজপাড়া গায়ে নতুন এক সাধু বাবার আগমন হল । সাধু বাবা নাকি চোখের দিকে তাকিয়েই চৌদ্দগুষ্ঠির ইতিহাস বলে দিতে পারে , যে কোন সমস্যা সমাধানের উপায় […]

ভার্টিক্যাল স্কেলিং এবং হরিজন্টাল স্কেলিং

ভার্টিক্যাল স্কেলিং এবং হরিজন্টাল স্কেলিং নিয়ে আমার আগের পোস্ট “স্কেলিং ওয়েব সার্ভার এবং গেদু ভাইয়ের আদি ফ্যামিলি” এর ট্যাকনিক্যাল ব্যাখ্যা নিয়ে আজকের এই পর্ব । একটা ফরমাল সঙ্গা দিয়ে শুরু করা যাক : আপনার সিস্টেমের বর্তমান ইউজার এক্সপেরিয়েন্স অক্ষুন্ন রেখে,  এ্যাপ্লিকেশন কোডে পরিবর্তন না এনে;  হার্ডওয়্যার, ওএস বা সফ্টওয়্যার কম্পোনেন্টে পরিবর্তনের মাধ্যমে সিস্টেমের নতুন ট্রাফিক লোড […]

স্কেলিং ওয়েব সার্ভার এবং গেদু ভাইয়ের আদি ফ্যামিলি

ওয়েব সার্ভার স্কেলিং নিয়ে আমাদের দেশে চোখে পড়ার মত সাড়া পাওয়া যায় না বললেই চলে, তাই নতুনদের জন্য আমার এই প্রচেষ্টা । সার্ভার স্কেলিং শুরু করার আগে আমি একটি ছোট গল্প এবং তার পরিনতির কথা বলতে চাই! আশা করি আপনাদের ভালো লাগবে ! গেদু ভাইয়ের সংসার পেশায় গেদু ভাই একজন ভাড়ায় চালিত ট্যাক্সি ড্রাইভার, একটু হিসাবি […]

ডিজাইনিং রেস্ট এপিআই [৬] : এপিআই ডকুমেন্টেশন

বেশিরভাগ ডেভেলপাররা এপিআই ইম্পিলিমেন্ট করে তাদের শ্রম নষ্ট করার আগে এপিআই ডকুমেন্টেশন পড়ে বুঝতে চেষ্টা করে যে এপিআই টা তাকে কি দিতে পারে এবং কত সহজে দিতে পারে । তাই একটি ভাল ডকুমেন্টেশন এপিআই সাক্সেস এর জন্য অনেক গুরুত্বপূর্ন । শুধুমাত্র এপিআই ফাংশনালিটি সুন্দরভাবে প্রেজেন্ট করলেই সেটি একটি ভালো ডকুমেন্টেশন হয়ে যায় না । ডকুমেন্টেশনের পাশাপাশি ইম্পলিমেন্টেশনের […]

ডিজাইনিং রেস্ট এপিআই [৫] : এপিআই ভার্সনিং

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

ডিজাইনিং রেস্ট এপিআই [৪] : ইরর ডিজাইন

আমরা অনেক ধৈর্য আর যত্ন সহকারে কোড করি কিন্তু দুর্ভাগ্যবশত সবসময় কিছু না কিছু ভুল থেকেই যায় । সিস্টেমটির যেভাবে কাজ করার কথা ছিল সেভাবে কেন কাজ করছে না এর উত্তর তখন আমাদের কাছে অনেক মূল্যবান । আর রেস্ট এর ক্লায়েন্ট এ্যাপ্লিকেশন ডেভেলপারদের কাছে এই উত্তর টা বের করা মোটামুটি এভারেস্ট জয়ের মত। কারন তারা শুধুমাত্র আপনার এপিআই […]

ডিজাইনিং রেস্ট এপিআই [৩] : এপিআই অথেনটিকেশন

এপিআই অথেনটিকেশন রেস্ট ডেভেলপারদের কাছে একটি চ্যালেন্জ । রেস্ট এর একটি কম্পোনেন্ট হল এপিআই অবশ্যই স্টেটলেস হতে হবে যেটি client-stateless-server (CSS) এ সঙ্গায়িত করা হয়েছে । রেস্ট এর স্ট্রাকচার সবাই মানলেও অথেন্টিকেশনের সময় বেশিরভাগ ডেভেলপারই এই দিকটা এড়িয়ে চলে । এই পর্বে রেস্টফুল এপিআই অথেনটিকেশন নিয়ে আলোচনা করব । এপিআই অথেনটিকেশন এপিআই অথেনটিকেশনের কথা বললেই শুরুতেই ওঅথ  OAUTH […]

ডিজাইনিং রেস্ট এপিআই [২] : রিকোয়েস্ট এবং রেসপন্স

এপিআই ডেভেলপের ক্ষেত্রে আমাদের অবশ্যই মাথায় রাখতে হবে যেন এপিআই টি কনজিউমারদের কাছে অনেক ফ্লেক্সিবল হয়। বিভিন্ন প্লাটফর্মে রেস্ট এপিআইতে রিকোয়েস্ট করতে গিয়ে নতুনদের অনেক হিমশিম খেতে হয় । যারা কখনও PUT এবং DELETE ব্যবহার করেননি তারা হয়তো অনেকেই ভাবছেন এইচ.টি.এম.এল ফরম কিংবা প্রোগ্রামিং ল্যাংগুয়েজে যেভাবে GET, POST রিকোয়েস্ট করেন সেভাবে করলেই হয়ে যাবে। <form method=”DELETE” action=”update.php”> …. </from> না […]