Blog Details
MD. SHARIFUL ISLAM
10 Oct 2024
10 min read
বর্তমান যুগে API-নির্ভর অ্যাপ্লিকেশন তৈরি করা অনেক বেশি জনপ্রিয় এবং প্রয়োজনীয়। আজকের এই ব্লগ পোস্টে আমরা আলোচনা করবো কীভাবে একটি সহজ অ্যাপ্লিকেশন তৈরি করা যায় যা ঢাকার এবং সিঙ্গাপুরের তাপমাত্রার পার্থক্য নির্ণয় করবে এবং ডেটাবেজে সেভ করে রাখবে। এই ডিজাইনের মূল লক্ষ্য হলো অল্প খরচে একটি কার্যকরী সিস্টেম তৈরি করা, যা মাসিক খরচের দিক থেকেও অপটিমাইজড থাকবে।
আমাদের অ্যাপ্লিকেশনের দুইটি প্রধান ফাংশন থাকবে:
১. API কলের মাধ্যমে তাপমাত্রার পার্থক্য বের করা:
২. স্বয়ংক্রিয়ভাবে ডেটা সংরক্ষণ:
এই অ্যাপ্লিকেশনটির বড় একটি চ্যালেঞ্জ হলো কম খরচে এটি ডেপ্লয় করা এবং প্রতিদিনের কাজ পরিচালনা করা। প্রতিদিনের API কলের সংখ্যা হতে পারে ১০০ থেকে ২০০। চলুন, বিভিন্ন সমাধান নিয়ে আলোচনা করি।
প্রথম সমাধানটি হলো, আমরা একটি ছোট AWS EC2 instance (যেমন t2.micro) ব্যবহার করতে পারি। অ্যাপ্লিকেশনটি সেখানে ডেপ্লয় করা হবে এবং API কলের মাধ্যমে বাইরের ইউজাররা তাপমাত্রার পার্থক্য জানতে পারবে। প্রতি তিন মিনিট অন্তর একটি Cron job রান করিয়ে ডেটা সংরক্ষণের কাজটি করা যাবে।
স্ট্রাকচার:
প্লাস পয়েন্ট:
মাইনাস পয়েন্ট:
দ্বিতীয় সমাধান হিসেবে, আমরা একটি AWS Lambda function তৈরি করতে পারি যা বাইরের API কল হ্যান্ডেল করবে। Lambda function এর সাথে একটি AWS API Gateway থাকবে যাতে বাইরের ইউজাররা API কল করতে পারে। এছাড়া, প্রতি তিন মিনিট অন্তর ডেটা সেভ করার জন্য Node.js-এর setInterval()
ফাংশন ব্যবহার করা যেতে পারে।
স্ট্রাকচার:
প্লাস পয়েন্ট:
মাইনাস পয়েন্ট:
setInterval()
ফাংশনের কারণে Lambda function পুরোপুরি নির্ধারিত সময়ে ট্রিগার না হতে পারে।এই সমাধানটি দ্বিতীয় সমাধানের অনুরূপ, তবে setInterval()
ব্যবহার করার পরিবর্তে AWS EventBridge ব্যবহার করা হবে। EventBridge প্রতি তিন মিনিট অন্তর Lambda function ট্রিগার করবে।
স্ট্রাকচার:
প্লাস পয়েন্ট:
মাইনাস পয়েন্ট:
এই তিনটি সমাধানের মধ্যে কোনটি আপনার জন্য পারফেক্ট হবে তা নির্ভর করবে আপনার বাজেট এবং অ্যাপ্লিকেশনের স্কেলিং প্রয়োজনের ওপর। যদি আপনি একেবারে ম্যানুয়াল কন্ট্রোল রাখতে চান এবং খরচ কমাতে চান, তবে সলিউশন ১ ভালো হবে। অন্যদিকে, যদি আপনি কম মেইনটেন্যান্স এবং সার্ভারলেস আর্কিটেকচারের সুবিধা চান, তবে সলিউশন ৩ সবচেয়ে কার্যকরী হবে।
আমাদের উদ্দেশ্য হলো সর্বনিম্ন খরচে সর্বোচ্চ কার্যক্ষমতা নিশ্চিত করা। আপনি কোন সমাধানটি পছন্দ করলেন? কিংবা আপনার নিজের কোনো নতুন প্রস্তাব থাকলে সেটাও শেয়ার করতে পারেন।
অ্যাপ্লিকেশন ডিজাইন করার সময় খরচ এবং কার্যকারিতার মধ্যে একটি ভালো ভারসাম্য রাখা খুবই গুরুত্বপূর্ণ। এই ছোট্ট API প্রকল্পের মাধ্যমে আমরা দেখেছি কীভাবে AWS এর বিভিন্ন সার্ভিস ব্যবহার করে অপটিমাইজড সমাধান তৈরি করা যায়। আশা করি, এই পোস্টটি আপনাকে সিস্টেম ডিজাইন সম্পর্কে কিছুটা ধারণা দিতে পেরেছে।
Don’t worry, we don’t spam!