আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন। তথ্য
Apigee Edge বিভিন্ন ধরনের রিসোর্স প্রদান করে এবং প্রতিটি রিসোর্স আলাদা আলাদা উদ্দেশ্য পূরণ করে। কিছু নির্দিষ্ট রিসোর্স আছে যা শুধুমাত্র Edge UI, ম্যানেজমেন্ট API বা ম্যানেজমেন্ট API ব্যবহার করে এমন টুল এবং পূর্বশর্তমূলক ভূমিকা ও অনুমতি সহ ব্যবহারকারীদের মাধ্যমে কনফিগার (অর্থাৎ, তৈরি, আপডেট এবং/অথবা মুছে ফেলা) করা যেতে পারে। যেমন, শুধুমাত্র নির্দিষ্ট সংস্থার অর্গানাইজেশন অ্যাডমিনরাই এইসব রিসোর্স কনফিগার করতে পারবেন। অর্থাৎ, ডেভেলপার পোর্টাল বা অন্য কোনও উপায়ে সাধারণ ব্যবহারকারীরা এইসব রিসোর্স কনফিগার করতে পারবেন না। এইসব রিসোর্সের মধ্যে রয়েছে:
- API প্রক্সি
- শেয়ার করা ফ্লো
- API প্রোডাক্ট
- ক্যাশে
- KVM
- কীস্টোর ও ট্রাস্টস্টোর
- ভার্চুয়াল হোস্ট
- টার্গেট সার্ভার
- রিসোর্স ফাইল
এইসব রিসোর্সের অ্যাক্সেস সীমিত করা থাকলেও, অনুমোদিত ব্যবহারকারীরাও যদি এতে কোনও পরিবর্তন করেন, তাহলে ঐতিহাসিক ডেটা নতুন ডেটা দিয়ে ওভাররাইট হয়ে যায়। এর কারণ হল, এইসব রিসোর্স শুধুমাত্র Apigee Edge-এ তাদের বর্তমান অবস্থা অনুযায়ী সেভ করা হয়। এই নিয়মের প্রধান ব্যতিক্রম হল API প্রক্সি ও শেয়ারড ফ্লো।
রিভিশন কন্ট্রোলের অধীনে API প্রক্সি ও শেয়ার করা ফ্লো
API প্রক্সি ও শেয়ার্ড ফ্লো ম্যানেজ করা হয় -- অর্থাৎ, রিভিশনের মাধ্যমে এগুলি তৈরি, আপডেট ও ডেপ্লয় করা হয় -- । রিভিশনগুলি ক্রমিক সংখ্যায় সাজানো থাকে, যা আপনাকে নতুন পরিবর্তন যোগ করতে এবং সেটি নতুন রিভিশন হিসেবে সেভ করতে অথবা API প্রক্সি/শেয়ার করা ফ্লোয়ের আগের রিভিশন প্রয়োগ করে কোনও পরিবর্তন আগের অবস্থায় ফিরিয়ে আনতে সাহায্য করে। যেকোনও সময়, কোনও API প্রক্সি/শেয়ার করা ফ্লোয়ের শুধুমাত্র একটি রিভিশন কোনও এনভায়রনমেন্টে ডিপ্লয় করা যেতে পারে, যদি না রিভিশনের আলাদা বেস পাথ থাকে।
যদিও API প্রক্সি ও শেয়ার্ড ফ্লো রিভিশনের মাধ্যমে ম্যানেজ করা হয়, তবে আগে থেকে থাকা রিভিশনে কোনও পরিবর্তন করা হলে, তা আর আগের অবস্থায় ফিরিয়ে আনা যায় না, কারণ পুরনো পরিবর্তনগুলি নতুন পরিবর্তন দিয়ে ওভাররাইট করা হয়।
অডিট ও ইতিহাস
Apigee Edge অডিট ও API, প্রোডাক্ট ও সংস্থার ইতিহাস ফিচার প্রদান করে যা সমস্যা সমাধানের ক্ষেত্রে সহায়ক হতে পারে। এইসব ফিচার আপনাকে নির্দিষ্ট অপারেশন (তৈরি করা, পড়া, আপডেট করা, মুছে দেওয়া, ডেপ্লয় করা এবং আনডেপ্লয় করা) কে করেছেন এবং Edge রিসোর্সে কখন অপারেশন করা হয়েছে সেইসব তথ্য দেখতে দেয়। তবে, Edge রিসোর্সে কোনও আপডেট বা মুছে দেওয়ার অপারেশন পারফর্ম করা হলে, অডিট আপনাকে পুরনো ডেটা প্রদান করতে পারবে না।
অ্যান্টিপ্যাটার্ন
সোর্স কন্ট্রোল সিস্টেম ব্যবহার না করে Edge UI বা ম্যানেজমেন্ট API-এর মাধ্যমে সরাসরি Edge রিসোর্স (উপরে তালিকাভুক্ত) ম্যানেজ করা
Apigee Edge, রিসোর্স পরিবর্তন বা মুছে দেওয়ার পরে সেগুলিকে আগের অবস্থায় ফিরিয়ে আনতে পারবে, এমন একটি ভুল ধারণা রয়েছে। তবে, Edge Cloud রিসোর্সকে আগের অবস্থায় ফিরিয়ে আনার সুবিধা দেয় না। তাই, Edge রিসোর্স সম্পর্কিত সমস্ত ডেটা সোর্স কন্ট্রোল ম্যানেজমেন্টের মাধ্যমে ম্যানেজ করা হচ্ছে কিনা তা নিশ্চিত করার দায়িত্ব ব্যবহারকারীর। এর ফলে, দুর্ঘটনাবশত মুছে ফেলা হলে বা কোনও পরিবর্তন রোলব্যাক করার প্রয়োজন হলে, পুরনো ডেটা দ্রুত রিস্টোর করা যেতে পারে। প্রোডাকশন এনভায়রনমেন্টের জন্য এটি বিশেষভাবে গুরুত্বপূর্ণ, কারণ রানটাইম ট্রাফিকের জন্য এই ডেটা প্রয়োজনীয়।
আসুন, কয়েকটি উদাহরণ ও সোর্স কন্ট্রোল সিস্টেমের মাধ্যমে ডেটা ম্যানেজ না করা হলে এবং সেটি জেনে বা না জেনে পরিবর্তন/মুছে দেওয়া হলে কী ধরনের প্রভাব পড়তে পারে তা ব্যাখ্যা করা যাক:
উদাহরণ ১: API প্রক্সি মুছে ফেলা বা পরিবর্তন করা
কোনও API প্রক্সি মুছে দেওয়া হলে বা আগে থেকে থাকা কোনও রিভিশনে কোনও পরিবর্তন ডেপ্লয় করা হলে, আগের কোড আর ফিরিয়ে আনা যাবে না। API প্রক্সিতে Java, JavaScript, Node.js বা Python কোড থাকলে যা Apigee-এর বাইরে সোর্স কন্ট্রোল ম্যানেজমেন্ট (SCM) সিস্টেমে ম্যানেজ করা হয় না, তাহলে অনেক ডেভেলপমেন্ট কাজ ও প্রচেষ্টা নষ্ট হয়ে যেতে পারে।
উদাহরণ ২: নির্দিষ্ট ভার্চুয়াল হোস্ট ব্যবহার করে API প্রক্সি নির্ধারণ করা
ভার্চুয়াল হোস্টের সার্টিফিকেট মেয়াদ শেষ হয়ে যাচ্ছে এবং সেই ভার্চুয়াল হোস্ট আপডেট করতে হবে। অনেক API প্রক্সি থাকলে, কোন API প্রক্সি পরীক্ষার উদ্দেশ্যে সেই ভার্চুয়াল হোস্ট ব্যবহার করে তা শনাক্ত করা কঠিন হতে পারে। Apigee-এর বাইরে কোনও SCM সিস্টেমে API প্রক্সি ম্যানেজ করা হলে, তাহলে রিপোজিটরি সার্চ করা সহজ হবে।
উদাহরণ ৩: কীস্টোর/ট্রাস্টস্টোর মুছে দেওয়া
ভার্চুয়াল হোস্ট বা টার্গেট সার্ভার কনফিগারেশনের দ্বারা ব্যবহৃত কোনোকীস্টোর/ট্রাস্টস্টোর মুছে দেওয়া হলে, সোর্স কন্ট্রোলে সার্টিফিকেট এবং/অথবা প্রাইভেট কী সহ কীস্টোর/ট্রাস্টস্টোরের কনফিগারেশন সংক্রান্ত বিবরণ সেভ করা না থাকলে, এটি আর ফিরিয়ে আনা যাবে না।
প্রভাব
- Edge রিসোর্সগুলির মধ্যে কোনওটি মুছে দেওয়া হলে, Apigee Edge থেকে রিসোর্স ও এর কন্টেন্ট রিকভার করা সম্ভব নয়।
- রিসোর্স আগের অবস্থায় ফিরিয়ে না আনা পর্যন্ত অপ্রত্যাশিত সমস্যার কারণে API অনুরোধ ব্যর্থ হতে পারে, যার ফলে পরিষেবা বন্ধ হয়ে যেতে পারে ।
- Apigee Edge-এ API প্রক্সি ও অন্যান্য রিসোর্সের মধ্যে পারস্পরিক নির্ভরতা সার্চ করা কঠিন।
পেশাদার পদ্ধতি
- API প্রক্সি ও শেয়ার করা ফ্লো ম্যানেজ করার জন্য কন্টিনিউয়াস ইন্টিগ্রেশন ও কন্টিনিউয়াস ডিপ্লয়মেন্ট (CICD) পাইপলাইনের সাথে যেকোনও স্ট্যান্ডার্ড SCM ব্যবহার করুন।
- API প্রোডাক্ট,
ক্যাশে, KVM, টার্গেট সার্ভার, ভার্চুয়াল হোস্ট ও কীস্টোর সহ অন্যান্য Edge রিসোর্স ম্যানেজ করার জন্য যেকোনও স্ট্যান্ডার্ড SCM ব্যবহার করুন।
- আগে থেকেই কোনও Edge রিসোর্স থাকলে, ম্যানেজমেন্ট API ব্যবহার করে সেগুলির কনফিগারেশন সংক্রান্ত বিবরণ JSON/XML পেলোড হিসেবে পান এবং সোর্স কন্ট্রোল ম্যানেজমেন্টে সেগুলি স্টোর করুন।
- সোর্স কন্ট্রোল ম্যানেজমেন্টে এইসব রিসোর্সে করা যেকোনও নতুন আপডেট ম্যানেজ করুন।
- নতুন Edge রিসোর্স তৈরি করার বা আগে থেকে থাকা Edge রিসোর্স আপডেট করার প্রয়োজন হলে, সোর্স কন্ট্রোল ম্যানেজমেন্টে সেভ করা উপযুক্ত JSON/XML পেলোড ব্যবহার করুন এবং ম্যানেজমেন্ট API ব্যবহার করে Edge-এ কনফিগারেশন আপডেট করুন।
* এনক্রিপ্ট করা KVM, API থেকে সাধারণ টেক্সট হিসেবে এক্সপোর্ট করা যায় না। এনক্রিপ্ট করা KVM-এ কোন কোন ভ্যালু রাখা হয়েছে, সেটির রেকর্ড রাখা ব্যবহারকারীর দায়িত্ব।