AWS পেশাদার পদ্ধতি

এই বিভাগে আমাদের পেশাদার পদ্ধতিগুলি সংক্ষেপে আলোচনা করা হয়েছে এবং AWS ক্লাউডের সাথে OPDK ব্যবহার করার জন্য আমাদের সাজেশন প্রদান করা হয়েছে।

Cassandra প্রায় সব নীতির জন্য ব্যাকএন্ড ও ডেটাস্টোর হিসেবে ব্যবহার করা হয় এবং এটি Apigee Edge রানটাইম এনভায়রনমেন্টের একটি গুরুত্বপূর্ণ অংশ। এই ডকুমেন্ট AWS এনভায়রনমেন্টের জন্য Casssandra অপ্টিমাইজ করার উপর ফোকাস করে।

স্টোরেজ ও I/O সংক্রান্ত প্রয়োজনীয়তা

বেশিরভাগ Cassandra I/O সিকোয়েন্সিয়াল হয়, তবে কিছু ক্ষেত্রে র‍্যান্ডম I/O-এর প্রয়োজন হতে পারে। একটি উদাহরণ হল রিড অপারেশন চলাকালীন সর্ট করা স্ট্রিং টেবিল পড়ার সময়। Cassandra-র জন্য SSD হল সাজেস্ট করা স্টোরেজ মেকানিজম, কারণ এটি কম্প্যাকশন অপারেশনের জন্য পর্যাপ্ত সিকোয়েন্সিয়াল রাইট পারফর্ম্যান্স প্রদান করার পাশাপাশি র‍্যান্ডম রিড অপারেশনের জন্য অত্যন্ত কম-লেটেন্সি রেসপন্স টাইম প্রদান করে। এখানে রেপ্লিকেশনও বিবেচনা করা হয়।

AWS EC2-এর অনেক ইনস্ট্যান্স লোকাল স্টোরেজের সাথে আসে যেখানে হার্ড ড্রাইভ ফিজিক্যালি সেই হার্ডওয়্যারের সাথে অ্যাটাচ করা থাকে যেখানে EC2 ইনস্ট্যান্স হোস্ট করা হয়। প্রোডাকশনে Cassandra চালানোর সময় Apigee, SSD ও ইনস্ট্যান্স স্টোর, দুটিই ব্যবহার করার সাজেশন দেয়। আপনি ১টির বেশি SSD সহ ইনস্ট্যান্স টাইপ ব্যবহার করলে, আরও বেশি থ্রুপুট ও স্টোরেজ ক্ষমতা পেতে RAID0 ব্যবহার করতে পারবেন।

নেটওয়ার্ক সংক্রান্ত প্রয়োজনীয়তা

Cassandra নেটওয়ার্ক টোপোলজি সম্পর্কে অন্যান্য নোডের সাথে তথ্য আদানপ্রদান করতে গসিপ প্রোটোকল ব্যবহার করে। Gossip-এর ব্যবহার এবং Cassandra-র ডিস্ট্রিবিউটেড প্রকৃতি — যার মধ্যে রিড ও রাইট অপারেশনের জন্য একাধিক নোডের সাথে কথা বলা অন্তর্ভুক্ত — এর ফলে নেটওয়ার্কের মাধ্যমে প্রচুর ডেটা ট্রান্সফার হয়। Apigee কমপক্ষে ১ জিবিপিএস নেটওয়ার্ক ব্যান্ডউইথ সহ ইনস্ট্যান্স টাইপ এবং প্রোডাকশন সিস্টেমের জন্য ১ জিবিপিএসের বেশি ব্যবহার করার সাজেশন দেয়।

/১৬-এর CIDR সহ VPC ব্যবহার করুন। AWS-এ সাবনেট ১টির বেশি AZ জুড়ে থাকতে পারে না, তাই Apigee নিম্নলিখিত সাজেশন দেয়:

  • প্রতিটি অ্যাভেলেবিলিটি জোনে (AZ) ১টি করে সাবনেট তৈরি করুন
  • আপনার Apigee ইনস্টলেশনের জন্য ৩টি ব্যক্তিগত সাবনেট ব্যবহার করুন, প্রতিটি AZ-তে একটি করে Cassandra নোড সহ। Cassandra ক্লাস্টারের অনুভূমিক সম্প্রসারণের জন্য ৩টি সাবনেটে পর্যাপ্ত CIDR ব্লক থাকতে হবে।
  • Cassandra-র জন্য ডেডিকেটেড NAT সহ ৩টি পাবলিক সাবনেট কনফিগার করুন যাতে সফ্টওয়্যার ডাউনলোড এবং নিরাপত্তা আপডেটের জন্য ইন্টারনেটের সাথে যোগাযোগ করা যায়।

পুরনো মাস্টার-স্লেভ আর্কিটেকচারের মতো নয়, Cassandra-র মাস্টার-লেস আর্কিটেকচার আছে যেখানে সব নোড একই ভূমিকা পালন করে, তাই সমস্যার একমাত্র কারণ বলে কিছু নেই। উচ্চ উপলভ্যতা চালু করতে একাধিক AZ জুড়ে আপনার Cassandra নোড ছড়িয়ে দেওয়ার কথা বিবেচনা করুন। AZ জুড়ে নোড ছড়িয়ে দেওয়ার মাধ্যমে, আপনি এখনও বিপর্যয় ঘটলে উপলভ্যতা ও আপটাইম বজায় রাখতে পারবেন।

ইন্সট্যান্স ফ্যামিলি বেছে নেওয়া

Cassandra CPU-এর প্রয়োজনীয়তা দেখার সময়, এটি মনে রাখা দরকার যে ইনসার্ট-হেভি ওয়ার্কলোড IO-বাউন্ড হওয়ার আগে Cassandra-তে CPU-বাউন্ড হয়। অন্যভাবে বলতে গেলে, ডেটা পরিবর্তনের সব কাজ কমিট লগে যায়, কিন্তু Cassandra ডেটা পরিবর্তনের কাজে এতটাই দক্ষ যে CPU-এর ক্ষমতা সীমিত হয়ে পড়ে। Cassandra অত্যন্ত সমবর্তী এবং উপলভ্য যতগুলি সম্ভব সিপিইউ কোর ব্যবহার করে।

Apigee এমন একটি ইনস্ট্যান্স ফ্যামিলি ব্যবহার করার সাজেশন দেয়, যাতে CPU এবং মেমরি, দুটিরই ব্যালেন্স থাকে। বিশেষ করে, আপনার AWS অঞ্চলে উপলভ্য থাকলে C5 ফ্যামিলি ইনস্ট্যান্স এবং ফল ব্যাক বিকল্প হিসেবে C3 ব্যবহার করার জন্য আমরা সাজেস্ট করি। কিছু ক্ষেত্রে, 4xlarge হল দুটি ফ্যামিলির মধ্যেই সবচেয়ে ভালো ইনস্ট্যান্স যা সেরা দাম/পারফর্ম্যান্স প্রদান করে।

এছাড়াও, Apigee, Cassandra ইনস্ট্যান্সের জন্য ডিফল্ট টেনেন্সি ব্যবহার করার সাজেশন দেয়। আপনি যদি প্রতি AZ-তে ১টির বেশি ইনস্ট্যান্স স্কেল করেন, তাহলে আপনি টেনেন্সি ডেডিকেটেড হিসেবে সেট করলে, সম্ভবত আপনার সব Cassandra ইনস্ট্যান্স একই অন্তর্নিহিত হার্ডওয়্যারে রাখা হবে। তাই, হার্ডওয়্যার কাজ না করলে, আপনি সম্ভবত সেই AZ-এ আপনার সব ইনস্ট্যান্স হারাবেন।

সাজেশনের সারসংক্ষেপ

নিম্নলিখিত সারণীতে Apigee Edge for Private Cloud-এর সাথে AWS ব্যবহার করার জন্য Apigee-এর সুপারিশের সারসংক্ষেপ দেওয়া হয়েছে:

ইনস্ট্যান্স ফ্যামিলি C5d (পছন্দের) বা C3
ইনস্ট্যান্সের ধরন C(x).4xlarge
Instance Store RAID0 সহ SSD (লোকাল স্টোরেজ)
ভাড়ার ধরন ডিফল্ট
Node প্লেসমেন্ট প্রতি AZ-তে ১টি Cassandra নোড
VPC এবং সাবনেট প্রতিটি AZ-এর জন্য ১টি সাবনেট এবং প্রতিটি অঞ্চলের জন্য ১টি VPC

আরও তথ্যের জন্য, Amazon ইনস্ট্যান্সের ধরন দেখুন।