প্রকল্প সম্পর্কে
AWS Cost Calculator হলো একটি ওয়েব টুল যা ইনস্ট্যান্স টাইপ এবং নোড সংখ্যা আগে থেকে না জেনেই "এই আর্কিটেকচারের জন্য প্রতি মাসে আমার কত খরচ হবে?" এই প্রশ্নের উত্তর দেয়। একটি ঐতিহ্যগত প্রাইসিং ক্যালকুলেটরের পরিবর্তে যা শুরুতেই সম্পূর্ণ আর্কিটেকচার দাবি করে, এটি একটি মোটামুটি পরিষেবা বর্ণনা — যেমন ট্রাফিক লেভেল, MVP বনাম প্রোডাকশনের মতো পর্যায়, এবং পরিষেবার ধরন — গ্রহণ করে এবং USD ও KRW-তে মাসিক খরচসহ একটি প্রস্তাবিত AWS আর্কিটেকচার প্রদান করে।
এখানে দুটি ইনপুট মোড সমর্থিত। সার্ভিস-ভিত্তিক ফ্লো একটি বর্ণনা গ্রহণ করে এবং একটি আর্কিটেকচারের প্রস্তাব দেয়; ম্যানুয়াল বিল্ডার ব্যবহারকারীদের ECS, RDS, Redis, ALB, S3, Lambda, DynamoDB এবং CloudFront-এর মতো রিসোর্সগুলো ড্র্যাগ করে একত্রিত করতে এবং সেই নির্দিষ্ট স্ট্যাকের মূল্য নির্ধারণ করতে দেয়।
প্রকল্পটির কেন্দ্রীয় নকশা পছন্দ হলো একটি ডিটারমিনিস্টিক কস্ট ইঞ্জিন। প্রতিটি ডলারের হিসাব `CostEngine` কম্পোনেন্ট থেকে আসে যার প্রতিটি রিসোর্স টাইপের জন্য একটি করে মেথড রয়েছে এবং এটি প্রকৃত AWS Price List Bulk API ডেটা দ্বারা পরিচালিত। রিজিয়ন প্রাইসিং একটি `PricingService`-এর মাধ্যমে সমাধান করা হয় যা একটি ডেটাবেস টেবিল থেকে পড়ে এবং বিকল্প হিসেবে একটি ক্লাসপাথ JSON স্ন্যাপশট ব্যবহার করে। AI প্রোভাইডারদের শুধুমাত্র ইতিমধ্যে গণনা করা মূল্য ব্যাখ্যা করতে বলা হয়, কখনোই মূল্য গণনা করতে বলা হয় না।
AI-চালিত ফিচারগুলো — যেমন সাধারণ ভাষার ব্যাখ্যা, খরচ অপ্টিমাইজেশান পরামর্শ এবং আর্কিটেকচার সুপারিশ — একটি ধারাবাহিক প্যাটার্ন অনুসরণ করে: প্রথমে কনফিগার করা প্রোভাইডার (Claude API, Gemini API, অথবা ডেভেলপমেন্টের জন্য লোকাল `codex` CLI) চেষ্টা করে এবং কোনো ব্যর্থতা বা মিসকনফিগারেশনের ক্ষেত্রে রুল-বেসড ইমপ্লিমেন্টেশনে ফিরে যায়। ব্যবহারকারীরা ত্রুটির পরিবর্তে নিম্নমানের উত্তর দেখতে পান। অপ্টিমাইজেশান পরামর্শগুলো ক্রেডিট-গেটেড এবং এতে Graviton গ্রহণ, RDS/Redis ডাউনসাইজিং, এবং NAT Gateway বা CloudFront অ্যাডজাস্টমেন্টের মতো রুল-বেসড টিপস অন্তর্ভুক্ত থাকে।
গণনাগুলো সেভ করার সময়ের প্রাইসড স্ন্যাপশট হিসেবে সংরক্ষিত থাকে, যাতে একটি সংরক্ষিত গণনা আজকের রেটের বিপরীতে পুনরায় গণনা না করে ঠিক যেভাবে উদ্ধৃত করা হয়েছিল সেভাবেই দেখা যায়। ফলাফলগুলো PDF কার্ড হিসেবে এক্সপোর্ট করা সম্ভব।
এই স্ট্যাকটিতে Next.js 16 / React 19 / TypeScript / Tailwind CSS 4 ফ্রন্টএন্ডের সাথে Spring Boot / Java 21 ব্যাকএন্ড এবং PostgreSQL 16 ব্যবহার করা হয়েছে। অথেন্টিকেশন Google এবং Kakao OAuth2 এর পাশাপাশি লোকাল ইমেল এবং পাসওয়ার্ড সমর্থন করে, যা স্টেটলেস JWT ব্যবহার করে। লোকাল সেটআপের জন্য ডেটাবেসের জন্য `docker compose up -d`, পোর্ট ৮০৮০-তে API-এর জন্য `./mvnw spring-boot:run`, এবং পোর্ট ৩০০০-এ ফ্রন্টএন্ডের জন্য `npm run dev` ব্যবহৃত হয়; একটি শেল স্ক্রিপ্ট AWS প্রাইসিং স্ন্যাপশট রিফ্রেশ করে যার জন্য `curl` এবং `jq` প্রয়োজন। ব্যাকএন্ড টেস্টগুলো Maven-এর মাধ্যমে চলে এবং ফ্রন্টএন্ডে কোনো টেস্ট ফ্রেমওয়ার্ক কনফিগার করা নেই — UI পরিবর্তনের জন্য লিন্ট এবং বিল্ড চেক হিসেবে ব্যবহৃত হয়।
README-তে সীমাবদ্ধতাগুলো স্পষ্টভাবে উল্লেখ করা হয়েছে: সংরক্ষিত গণনাগুলো লিঙ্ক শেয়ার করা যায় না (শুধুমাত্র PDF এক্সপোর্ট সম্ভব), অ্যাকাউন্ট তৈরির আগে তৈরি করা প্রজেক্ট রো-গুলোর কোনো মালিক নেই এবং সেগুলো কারো হিস্ট্রিতে প্রদর্শিত হবে না, লোকাল ইমেল সাইন-আপে কোনো SMTP বা SES ইন্টিগ্রেশন নেই তাই `emailVerified` শুধুমাত্র OAuth প্রোভাইডার দ্বারা সেট করা হয়, এবং AI অপ্টিমাইজেশান লাইন আইটেমগুলোতে মডেল-অনুমানকৃত সঞ্চয় থাকতে পারে যা সবকটি সার্ভার-সাইডে পুনরায় যোগ করা হয় না। রোডম্যাপে OG প্রিভিউসহ শেয়ারযোগ্য ক্যালকুলেশন URL, বাজেট-ইন / আর্কিটেকচার-আউট রিভার্স রিকমেন্ডেশন এবং একটি দ্বিতীয় পর্যায় রয়েছে যা একটি ক্রস-অ্যাকাউন্ট IAM রোলের মাধ্যমে রিড-অনলি হিসেবে প্রকৃত AWS অ্যাকাউন্টের সাথে সংযুক্ত হবে যাতে প্রকৃত খরচের ওপর একই অপ্টিমাইজেশান রুলস প্রয়োগ করা যায়। এটি MIT লাইসেন্সের অধীনে প্রকাশিত।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.