অ্যান্টিপ্যাটার্ন: সোর্স কন্ট্রোল ম্যানেজমেন্ট ব্যবহার না করে এজ রিসোর্স ম্যানেজ করুন

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান
তথ্য

Apigee Edge বিভিন্ন ধরনের রিসোর্স প্রদান করে এবং সেগুলির প্রত্যেকটি আলাদা উদ্দেশ্য পরিবেশন করে। কিছু নির্দিষ্ট সংস্থান রয়েছে যা শুধুমাত্র এজ UI, ম্যানেজমেন্ট এপিআই, বা ম্যানেজমেন্ট এপিআই ব্যবহার করে এমন টুলের মাধ্যমে এবং পূর্বশর্ত ভূমিকা এবং অনুমতি সহ ব্যবহারকারীদের দ্বারা কনফিগার করা যেতে পারে (যেমন, তৈরি করা, আপডেট করা এবং/অথবা মুছে ফেলা)। উদাহরণস্বরূপ, শুধুমাত্র একটি নির্দিষ্ট সংস্থার অন্তর্গত org অ্যাডমিনরা এই সংস্থানগুলি কনফিগার করতে পারেন৷ এর মানে, এই সংস্থানগুলি শেষ ব্যবহারকারীদের দ্বারা বিকাশকারী পোর্টালগুলির মাধ্যমে বা অন্য কোনও উপায়ে কনফিগার করা যাবে না৷ এই সম্পদ অন্তর্ভুক্ত:

  • API প্রক্সি
  • ভাগ করা প্রবাহ
  • API পণ্য
  • ক্যাশে
  • কেভিএম
  • কীস্টোর এবং ট্রাস্টস্টোর
  • ভার্চুয়াল হোস্ট
  • লক্ষ্য সার্ভার
  • রিসোর্স ফাইল

যদিও এই সংস্থানগুলিতে সীমাবদ্ধ অ্যাক্সেস রয়েছে, এমনকি অনুমোদিত ব্যবহারকারীদের দ্বারাও যদি কোনও পরিবর্তন করা হয়, তবে ঐতিহাসিক ডেটা কেবল নতুন ডেটার সাথে ওভাররাইট হয়ে যায়। এটি এই কারণে যে এই সম্পদগুলি শুধুমাত্র তাদের বর্তমান অবস্থা অনুযায়ী Apigee এজে সংরক্ষণ করা হয়। এই নিয়মের প্রধান ব্যতিক্রম হল API প্রক্সি এবং শেয়ার্ড ফ্লো।

এপিআই প্রক্সি এবং শেয়ারড ফ্লো রিভিশন কন্ট্রোলের অধীনে

API প্রক্সি এবং শেয়ার্ড ফ্লো পরিচালনা করা হয় -- অন্য কথায়, তৈরি করা, আপডেট করা এবং স্থাপন করা -- সংশোধনের মাধ্যমে। সংশোধনগুলি ক্রমানুসারে সংখ্যাযুক্ত, যা আপনাকে নতুন পরিবর্তনগুলি যোগ করতে এবং এটিকে একটি নতুন পুনর্বিবেচনা হিসাবে সংরক্ষণ করতে বা API প্রক্সি/ভাগ করা প্রবাহের পূর্ববর্তী সংশোধন স্থাপন করে একটি পরিবর্তন ফিরিয়ে আনতে সক্ষম করে৷ যেকোনো সময়ে, পরিবেশে একটি API প্রক্সি/ভাগ করা প্রবাহের শুধুমাত্র একটি সংশোধন হতে পারে যদি না সংশোধনগুলির একটি ভিন্ন ভিত্তি পথ থাকে।

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

নিরীক্ষা এবং ইতিহাস

Apigee Edge অডিট এবং API, পণ্য এবং প্রতিষ্ঠানের ইতিহাস বৈশিষ্ট্যগুলি প্রদান করে যা সমস্যা সমাধানের পরিস্থিতিতে সহায়ক হতে পারে। এই বৈশিষ্ট্যগুলি আপনাকে নির্দিষ্ট ক্রিয়াকলাপগুলি (তৈরি করা, পড়া, আপডেট করা, মুছে ফেলা, স্থাপন করা এবং আনডিপ্লোয় করা) এবং এজ রিসোর্সে কখন ক্রিয়াকলাপগুলি সঞ্চালিত হয়েছে তার মতো তথ্য দেখতে সক্ষম করে৷ যাইহোক, যদি কোন আপডেট বা মুছে ফেলার ক্রিয়াকলাপগুলি যেকোনও এজ সংস্থানগুলিতে সঞ্চালিত হয়, অডিটগুলি আপনাকে পুরানো ডেটা সরবরাহ করতে পারে না।

অ্যান্টিপ্যাটার্ন

সোর্স কন্ট্রোল সিস্টেম ব্যবহার না করে সরাসরি এজ UI বা ম্যানেজমেন্ট API-এর মাধ্যমে এজ রিসোর্সগুলি (উপরে তালিকাভুক্ত) পরিচালনা করা

একটি ভুল ধারণা রয়েছে যে Apigee Edge পরিবর্তন বা মুছে ফেলার পরে তাদের পূর্ববর্তী অবস্থায় সম্পদ পুনরুদ্ধার করতে সক্ষম হবে। যাইহোক, এজ ক্লাউড তাদের পূর্ববর্তী অবস্থায় সম্পদ পুনরুদ্ধার প্রদান করে না। তাই, এজ রিসোর্স সম্পর্কিত সমস্ত ডেটা সোর্স কন্ট্রোল ম্যানেজমেন্টের মাধ্যমে ম্যানেজ করা হয়েছে তা নিশ্চিত করা ব্যবহারকারীর দায়িত্ব, যাতে দুর্ঘটনাজনিত মুছে ফেলার ক্ষেত্রে বা কোনও পরিবর্তনকে ফিরিয়ে আনার প্রয়োজন হলে পুরানো ডেটা দ্রুত পুনরুদ্ধার করা যায়। এটি উত্পাদন পরিবেশের জন্য বিশেষভাবে গুরুত্বপূর্ণ যেখানে রানটাইম ট্র্যাফিকের জন্য এই ডেটা প্রয়োজন।

আসুন কয়েকটি উদাহরণের সাহায্যে এটি ব্যাখ্যা করি এবং যে ধরনের প্রভাব ঘটতে পারে যদি কোনও উত্স নিয়ন্ত্রণ ব্যবস্থার মাধ্যমে ডেটা পরিচালনা না করা হয় এবং জ্ঞাতসারে বা অজান্তে পরিবর্তন/মুছে ফেলা হয়:

উদাহরণ 1: API প্রক্সি মুছে ফেলা বা পরিবর্তন করা

যখন একটি API প্রক্সি মুছে ফেলা হয়, বা একটি পরিবর্তন একটি বিদ্যমান সংশোধনে স্থাপন করা হয়, পূর্ববর্তী কোড পুনরুদ্ধারযোগ্য হবে না। যদি API প্রক্সিতে Java, JavaScript, Node.js, বা Python কোড থাকে যা Apigee-এর বাইরে সোর্স কন্ট্রোল ম্যানেজমেন্ট (SCM) সিস্টেমে পরিচালিত না হয়, তাহলে অনেক উন্নয়ন কাজ এবং প্রচেষ্টা নষ্ট হতে পারে।

উদাহরণ 2: নির্দিষ্ট ভার্চুয়াল হোস্ট ব্যবহার করে API প্রক্সি নির্ধারণ

একটি ভার্চুয়াল হোস্টের একটি শংসাপত্রের মেয়াদ শেষ হচ্ছে এবং সেই ভার্চুয়াল হোস্টের আপডেট করা প্রয়োজন৷ কোন API প্রক্সিগুলি পরীক্ষার উদ্দেশ্যে ভার্চুয়াল হোস্ট ব্যবহার করে তা সনাক্ত করা কঠিন হতে পারে যদি অনেকগুলি API প্রক্সি থাকে। যদি API প্রক্সিগুলি Apigee-এর বাইরে একটি SCM সিস্টেমে পরিচালিত হয়, তাহলে সংগ্রহস্থল অনুসন্ধান করা সহজ হবে।

উদাহরণ 3: কীস্টোর/ট্রাস্টস্টোর মুছে ফেলা

ভার্চুয়াল হোস্ট বা টার্গেট সার্ভার কনফিগারেশন দ্বারা ব্যবহৃত একটি কীস্টোর/ট্রাস্টস্টোর মুছে ফেলা হলে, সার্টিফিকেট এবং/অথবা ব্যক্তিগত কী সহ কীস্টোর/ট্রাস্টস্টোরের কনফিগারেশনের বিশদগুলি উৎসে সংরক্ষণ করা না হলে এটি পুনরুদ্ধার করা সম্ভব হবে না। নিয়ন্ত্রণ

প্রভাব

  • যদি কোনো এজ রিসোর্স মুছে ফেলা হয়, তাহলে Apigee Edge থেকে রিসোর্স এবং এর বিষয়বস্তু পুনরুদ্ধার করা সম্ভব নয়।
  • এপিআই অনুরোধগুলি অপ্রত্যাশিত ত্রুটিগুলির সাথে ব্যর্থ হতে পারে যা বিভ্রাটের দিকে পরিচালিত করে যতক্ষণ না সংস্থানটি তার আগের অবস্থায় ফিরে আসে।
  • Apigee Edge-এ API প্রক্সি এবং অন্যান্য সংস্থানগুলির মধ্যে আন্তঃ-নির্ভরতা অনুসন্ধান করা কঠিন।

সর্বোত্তম অনুশীলন

  • API প্রক্সি এবং শেয়ার্ড ফ্লোগুলি পরিচালনার জন্য একটি অবিচ্ছিন্ন ইন্টিগ্রেশন এবং ক্রমাগত স্থাপনার (CICD) পাইপলাইনের সাথে যেকোন মান SCM ব্যবহার করুন।
  • এপিআই পণ্য, ক্যাশে, কেভিএম, টার্গেট সার্ভার, ভার্চুয়াল হোস্ট এবং কীস্টোর সহ অন্যান্য এজ সংস্থানগুলি পরিচালনা করার জন্য যে কোনও মানক SCM ব্যবহার করুন।
    • যদি কোনো বিদ্যমান এজ রিসোর্স থাকে, তাহলে JSON/XML পেলোড হিসেবে কনফিগারেশনের বিশদ পেতে এবং সেগুলিকে সোর্স কন্ট্রোল ম্যানেজমেন্টে সংরক্ষণ করতে ব্যবস্থাপনা API ব্যবহার করুন।
    • সোর্স কন্ট্রোল ম্যানেজমেন্টে এই রিসোর্সের যেকোন নতুন আপডেট ম্যানেজ করুন।
    • যদি নতুন এজ রিসোর্স তৈরি করা বা বিদ্যমান এজ রিসোর্স আপডেট করার প্রয়োজন হয়, তাহলে সোর্স কন্ট্রোল ম্যানেজমেন্টে সংরক্ষিত উপযুক্ত JSON/XML পেলোড ব্যবহার করুন এবং ম্যানেজমেন্ট API ব্যবহার করে এজ-এ কনফিগারেশন আপডেট করুন।

* এনক্রিপ্ট করা KVM এপিআই থেকে প্লেইন টেক্সটে এক্সপোর্ট করা যাবে না। এনক্রিপ্ট করা KVM-এ কী কী মান রাখা হয়েছে তার রেকর্ড রাখা ব্যবহারকারীর দায়িত্ব।

আরও পড়া