Edge Private Cloud-এর অন-প্রেমিসেস ইনস্টলেশন বা Edge ইনস্ট্যান্সের মধ্যে একাধিক Edge কম্পোনেন্ট থাকে যা সার্ভার নোডের একটি সেটে ইনস্টল করা হয়। নিম্নলিখিত ছবিতে, একটি Edge ইনস্ট্যান্স তৈরি করা গ্রহ, অঞ্চল, পড, সংস্থা, এনভায়রনমেন্ট এবং ভার্চুয়াল হোস্টের মধ্যে সম্পর্ক দেখানো হয়েছে:

নিচের টেবিলে এই সম্পর্কগুলি বর্ণনা করা হয়েছে:
| কম্পোনেন্ট | এর মধ্যে আছে | এর সাথে যুক্ত | ডিফল্ট |
|---|---|---|---|
| গ্রহ | এক বা একাধিক অঞ্চল | প্রযোজ্য নয় | |
| অঞ্চল | এক বা একাধিক পড | "dc-1" | |
| পড | এক বা একাধিক Edge কম্পোনেন্ট | "সেন্ট্রাল" "গেটওয়ে" "অ্যানালিটিক্স" |
|
| Organization | এক বা একাধিক এনভায়র্নমেন্ট | মেসেজ প্রসেসর সহ এক বা একাধিক পড এবং একজন ব্যবহারকারী যিনি প্রতিষ্ঠানের অ্যাডমিন হিসেবে কাজ করছেন | কিছুই নয় |
| পরিবেশ | এক বা একাধিক ভার্চুয়াল হোস্ট | মূল সংস্থার সাথে যুক্ত পডে এক বা একাধিক মেসেজ প্রসেসর | কিছুই নয় |
| ভার্চুয়াল হোস্ট | এক বা একাধিক হোস্টের ছদ্মনাম | কিছুই নয় |
গ্রহ সম্পর্কে
প্ল্যানেট হল সম্পূর্ণ Edge হার্ডওয়্যার ও সফ্টওয়্যার এনভায়রনমেন্ট এবং এতে এক বা একাধিক অঞ্চল থাকতে পারে। Edge-এ, প্ল্যানেট হল অঞ্চলের একটি লজিক্যাল গ্রুপিং: Edge ইনস্টল করার অংশ হিসেবে আপনি নির্দিষ্টভাবে কোনও প্ল্যানেট তৈরি বা কনফিগার করেন না।
অঞ্চল সম্পর্কে
অঞ্চল হল এক বা একাধিক পডের গ্রুপ। ডিফল্ট হিসেবে, আপনি Edge ইনস্টল করলে, ইনস্টলার "dc-1" নামের একটি অঞ্চল তৈরি করে, যার মধ্যে তিনটি পড থাকে, যেমনটি নিম্নলিখিত সারণী থেকে দেখা যায়:
| অঞ্চল | অঞ্চলে পড |
|---|---|
| "dc-1" | "গেটওয়ে", "সেন্ট্রাল", "অ্যানালিটিক্স" |
নিচের ছবিতে ডিফল্ট অঞ্চল দেখানো হয়েছে:

এই ছবিতে দেখানো হয়েছে যে লোড ব্যালেন্সার "গেটওয়ে" পডে ট্রাফিক ডাইরেক্ট করছে। "গেটওয়ে" পডে Edge Router ও Message Processor কম্পোনেন্ট থাকে যা API অনুরোধ ম্যানেজ করে। আপনি একাধিক ডেটা সেন্টার সংজ্ঞায়িত না করলে, আপনাকে অতিরিক্ত অঞ্চল তৈরি করতে হবে না।
আরও জটিল ইনস্টলেশনের ক্ষেত্রে, আপনি দুটি বা তার বেশি অঞ্চল তৈরি করতে পারবেন। একাধিক অঞ্চল তৈরি করার একটি কারণ হল ভৌগোলিক অবস্থান অনুযায়ী মেশিনগুলিকে সাজানো, যা নেটওয়ার্ক ট্রানজিট টাইম কমিয়ে দেয়। এই পরিস্থিতিতে, আপনি API এন্ডপয়েন্ট হোস্ট করেন যাতে সেগুলি ভৌগোলিকভাবে সেইসব API-এর গ্রাহকদের কাছে থাকে।
Edge-এ, প্রতিটি অঞ্চলকে ডেটা সেন্টার হিসেবে উল্লেখ করা হয়। মার্কিন যুক্তরাষ্ট্রের পূর্বাঞ্চলে অবস্থিত ডেটা সেন্টার ম্যাসাচুসেটসের বোস্টন থেকে আসা অনুরোধগুলি হ্যান্ডেল করতে পারে, অন্যদিকে সিঙ্গাপুরে অবস্থিত ডেটা সেন্টার এশিয়া থেকে আসা ডিভাইস বা কম্পিউটারের অনুরোধগুলি হ্যান্ডেল করতে পারে।
যেমন, নিচের ছবিতে দুটি ডেটা সেন্টারের সাথে সম্পর্কিত দুটি অঞ্চল দেখানো হয়েছে:

পড সম্পর্কে
পড হল এক বা একাধিক এজ কম্পোনেন্ট ও Cassandra ডেটা স্টোরের একটি গ্রুপ। Edge কম্পোনেন্ট একই নোডে ইনস্টল করা যেতে পারে, তবে সাধারণত আলাদা আলাদা নোডে ইনস্টল করা হয়। Cassandra ডেটা স্টোর হল একটি ডেটা রেপোজিটরি যা পডের Edge কম্পোনেন্ট ব্যবহার করে।
ডিফল্ট হিসেবে, আপনি Edge ইনস্টল করলে, ইনস্টলার তিনটি পড তৈরি করে এবং প্রতিটি পডের সাথে নিম্নলিখিত Edge কম্পোনেন্ট ও Cassandra ডেটা স্টোর অ্যাসোসিয়েট করে:
| পড | Edge কম্পোনেন্ট | Cassandra ডেটা স্টোর |
|
|---|---|---|---|
| "গেটওয়ে" | রাউটার, মেসেজ প্রসেসর | cache-datastore counter-datastore dc-datastore |
keyvaluemap-datastore kms-datastore |
| "কেন্দ্রীয়" | ম্যানেজমেন্ট সার্ভার, Zookeeper, LDAP, UI, Qpid | application-datastore apimodel-datastore audit-datastore auth-datastore |
identityzone-datastore edgenotification-datastore management-server scheduler-datastore user-settings-datastore |
| "অ্যানালিটিক্স" | Postgres | analytics-datastore | reportcrud-datastore |
"gateway" পডে Edge কম্পোনেন্ট ও Cassandra ডেটা স্টোর API প্রসেসিংয়ের জন্য প্রয়োজন। API অনুরোধ প্রসেস করার জন্য এইসব কম্পোনেন্ট ও ডেটা স্টোর চালু থাকতে হবে। "সেন্ট্রাল" ও "অ্যানালিটিক্স" পডের মধ্যে থাকা কম্পোনেন্ট ও ডেটা স্টোরকে API প্রসেস করার প্রয়োজন নেই, তবে এগুলি Edge-এ অতিরিক্ত কার্যকারিতা যোগ করে।
নিচের ছবিতে প্রতিটি পডের কম্পোনেন্ট দেখানো হয়েছে:

ডিফল্ট হিসেবে তৈরি হওয়া তিনটি পডের সাথে আপনি আরও মেসেজ প্রসেসর ও রাউটার পড যোগ করতে পারেন। অথবা, আগে থেকে থাকা পডে অতিরিক্ত Edge কম্পোনেন্ট যোগ করতে পারেন। যেমন, "গেটওয়ে" পডে অতিরিক্ত রাউটার ও মেসেজ প্রসেসর যোগ করে ট্রাফিকের বেড়ে যাওয়া লোড ম্যানেজ করতে পারেন।
লক্ষ্য করুন যে "গেটওয়ে" পডে Edge Router ও Message Processor কম্পোনেন্ট থাকে। রাউটার শুধুমাত্র একই পডের মেসেজ প্রসেসরকে অনুরোধ পাঠায়, অন্য পডের মেসেজ প্রসেসরকে নয়।
প্রতিটি পডের ইনস্টলেশন প্রক্রিয়া শেষে সার্ভার রেজিস্ট্রেশনের বিবরণ দেখতে, আপনি নিম্নলিখিত API কল ব্যবহার করতে পারবেন। এটি একটি সহায়ক মনিটরিং টুল।
curl -u adminEmail:pword http://ms_IP:8080/v1/servers?pod=podName
যেখানে ms_IP হল ম্যানেজমেন্ট সার্ভারের IP অ্যাড্রেস বা DNS নাম, এবং podName হল নিম্নলিখিতগুলির মধ্যে একটি:
gatewaycentralanalytics
যেমন, "gateway" পডের জন্য:
curl -u adminEmail:pword http://ms_IP:8080/v1/servers?pod=gateway
Apigee নিম্নলিখিত আউটপুটের মতো আউটপুট রিটার্ন করে:
[ { "externalHostName" : "localhost", "externalIP" : "192.168.1.11", "internalHostName" : "localhost", "internalIP" : "192.168.1.11", "isUp" : true, "pod" : "gateway", "reachable" : true, "region" : "dc-1", "tags" : { "property" : [ { "name" : "jmx.rmi.port", "value" : "1101" }, ... ] }, "type" : [ "message-processor" ], "uUID" : "276bc250-7dd0-46a5-a583-fd11eba786f8" }, { "internalIP" : "192.168.1.11", "isUp" : true, "pod" : "gateway", "reachable" : true, "region" : "dc-1", "tags" : { "property" : [ ] }, "type" : [ "dc-datastore", "management-server", "cache-datastore", "keyvaluemap-datastore", "counter-datastore", "kms-datastore" ], "uUID" : "13cee956-d3a7-4577-8f0f-1694564179e4" }, { "externalHostName" : "localhost", "externalIP" : "192.168.1.11", "internalHostName" : "localhost", "internalIP" : "192.168.1.11", "isUp" : true, "pod" : "gateway", "reachable" : true, "region" : "dc-1", "tags" : { "property" : [ { "name" : "jmx.rmi.port", "value" : "1100" }, ... ] }, "type" : [ "router" ], "uUID" : "de8a0200-e405-43a3-a5f9-eabafdd990e2" } ]
type অ্যাট্রিবিউট কম্পোনেন্টের ধরন তালিকাভুক্ত করে। মনে রাখবেন, এটি পডে রেজিস্টার করা Cassandra
ডেটা স্টোর তালিকাভুক্ত করে। Cassandra নোড "গেটওয়ে" পডে ইনস্টল করা থাকলেও, আপনি
সব পডের সাথে রেজিস্টার করা Cassandra ডেটা স্টোর দেখতে পাবেন।
সংস্থা সম্পর্কে
সংস্থা হল Apigee অ্যাকাউন্টের মধ্যে থাকা সব অবজেক্টের কন্টেনার, যার মধ্যে API, API প্রোডাক্ট, অ্যাপ ও ডেভেলপার অন্তর্ভুক্ত। কোনও সংস্থা এক বা একাধিক পডের সাথে যুক্ত থাকে, যেখানে প্রতিটি পডে এক বা একাধিক মেসেজ প্রসেসর থাকতে হবে।
Edge Private Cloud-এর অন-প্রাঙ্গণে ইনস্টলেশনে, ডিফল্ট হিসেবে কোনও সংস্থা থাকে না। আপনি কোনও সংস্থা তৈরি করলে, দুটি তথ্য নির্দিষ্ট করেন:
- সংস্থার অ্যাডমিনিস্ট্রেটর হিসেবে কাজ করেন এমন ব্যবহারকারী। সেই ব্যবহারকারী তারপরে সংস্থার সাথে অতিরিক্ত ব্যবহারকারীকে যোগ করতে এবং প্রতিটি ব্যবহারকারীর ভূমিকা সেট করতে পারবেন।
- "গেটওয়ে" পড, মেসেজ প্রসেসর থাকা পড।
কোনও সংস্থার মধ্যে এক বা একাধিক এনভায়র্নমেন্ট থাকতে পারে। ডিফল্ট Edge ইনস্টলেশন পদ্ধতি আপনাকে দুটি এনভায়রনমেন্ট তৈরি করতে প্রম্পট করে: "টেস্ট" ও "প্রোডাকশন"। তবে, আপনি প্রয়োজন অনুযায়ী আরও এনভায়রনমেন্ট তৈরি করতে পারেন, যেমন "স্টেজ", "এক্সপেরিমেন্ট" ইত্যাদি।
সংস্থা কিছু Apigee কেপেবিলিটির সুযোগ প্রদান করে। যেমন, কী-ভ্যালু-ম্যাপ (KVM) ডেটা অর্গানাইজেশন লেভেলে উপলভ্য, অর্থাৎ সব এনভায়রনমেন্ট থেকে। অন্যান্য ক্ষমতা, যেমন ক্যাশিং, একটি নির্দিষ্ট এনভায়রনমেন্টের মধ্যে সীমাবদ্ধ। Apigee অ্যানালিটিক্স ডেটা, সংস্থা ও এনভায়রনমেন্টের কম্বিনেশন অনুযায়ী ভাগ করা হয়।
নিচে কোনও সংস্থার প্রধান অবজেক্ট দেখানো হল, এর মধ্যে সেইসব অবজেক্টও রয়েছে যেগুলি কোনও সংস্থার মধ্যে গ্লোবালি সংজ্ঞায়িত করা হয়েছে এবং সেইসব অবজেক্টও রয়েছে যেগুলি কোনও এনভায়রনমেন্টের জন্য নির্দিষ্টভাবে সংজ্ঞায়িত করা হয়েছে:

এনভায়রনমেন্ট সম্পর্কে
এনভায়রনমেন্ট হল কোনও সংস্থার API প্রক্সির জন্য রানটাইম এক্সিকিউশন কনটেক্সট। অ্যাক্সেস করার আগে আপনাকে অবশ্যই কোনও এনভায়রনমেন্টে API প্রক্সি ডেপ্লয় করতে হবে। আপনি একটি বা একাধিক এনভায়রনমেন্টে API প্রক্সি ডেপ্লয় করতে পারবেন।
কোনও প্রতিষ্ঠানে একাধিক এনভায়রনমেন্ট থাকতে পারে। যেমন, আপনি কোনও প্রতিষ্ঠানে "ডেভ", "টেস্ট" ও "প্রোডাকশন" এনভায়র্নমেন্ট নির্ধারণ করতে পারেন।
আপনি কোনও এনভায়রনমেন্ট তৈরি করলে, সেটি এক বা একাধিক মেসেজ প্রসেসরের সাথে যুক্ত করেন। আপনি পরিবেশকে মেসেজ প্রসেসরদের একটি নামযুক্ত সেট হিসেবে ভাবতে পারেন, যার উপর API প্রক্সি চলে। প্রতিটি এনভায়র্নমেন্ট একই মেসেজ প্রসেসর বা আলাদা আলাদা মেসেজ প্রসেসরের সাথে যুক্ত থাকতে পারে।
পরিবেশ তৈরি করতে, দুটি তথ্য উল্লেখ করুন:
- যে সংস্থা পরিবেশের মালিক।
- পরিবেশে API প্রক্সি অনুরোধ ম্যানেজ করা মেসেজ প্রসেসর। এইসব মেসেজ
প্রসেসরকে অবশ্যই এনভায়রনমেন্টের মূল প্রতিষ্ঠানের সাথে যুক্ত পডে থাকতে হবে।
ডিফল্ট হিসেবে, আপনি কোনও এনভায়র্নমেন্ট তৈরি করলে, Edge এনভায়র্নমেন্টের সাথে "গেটওয়ে" পডে উপলভ্য সব মেসেজ প্রসেসর অ্যাসোসিয়েট করে। অথবা, আপনি উপলভ্য মেসেজ প্রসেসরগুলির একটি সাবসেট নির্দিষ্ট করতে পারেন, যাতে বিভিন্ন মেসেজ প্রসেসর বিভিন্ন এনভায়রনমেন্টে অনুরোধ হ্যান্ডেল করতে পারে।
একটি মেসেজ প্রসেসর একাধিক এনভায়রনমেন্টের সাথে যুক্ত থাকতে পারে। যেমন, আপনার Edge ইনস্টলেশনে দুটি মেসেজ প্রসেসর আছে: A ও B. তারপরে, আপনার সংস্থায় তিনটি এনভায়রনমেন্ট তৈরি করুন: "dev", "test" এবং "prod":
- "ডেভেলপমেন্ট" এনভায়রনমেন্টের জন্য, আপনি মেসেজ প্রসেসর A অ্যাসোসিয়েট করেন কারণ আপনি ট্রাফিকের খুব বেশি ভলিউম আশা করেন না।
- "টেস্ট" এনভায়রনমেন্টের জন্য, আপনি মেসেজ প্রসেসর B অ্যাসোসিয়েট করেন কারণ আপনি প্রচুর পরিমাণে ট্রাফিক আশা করেন না।
- "prod" এনভায়রনমেন্টের জন্য, প্রোডাকশন-লেভেল ভলিউম ম্যানেজ করতে আপনি মেসেজ প্রসেসর A ও B, দুটিই অ্যাসোসিয়েট করেন।
কোনও এনভায়রনমেন্টে অ্যাসাইন করা মেসেজ প্রসেসরগুলি একই পড থেকে অথবা একাধিক পড থেকে হতে পারে। এগুলি একাধিক অঞ্চল ও ডেটা সেন্টার জুড়ে থাকতে পারে। যেমন, আপনার প্রতিষ্ঠানে "গ্লোবাল" এনভায়রনমেন্টকে আপনি এমনভাবে সংজ্ঞায়িত করেছেন যাতে তিনটি অঞ্চলের মেসেজ প্রসেসর অন্তর্ভুক্ত থাকে, অর্থাৎ তিনটি আলাদা ডেটা সেন্টার: মার্কিন যুক্তরাষ্ট্র, জাপান ও জার্মানি।
"গ্লোবাল" এনভায়রনমেন্টে API প্রক্সি ডিপ্লয় করলে, API প্রক্সিটি তিনটি ডেটা সেন্টারের সবকটি মেসেজ প্রসেসরে রান করে। এইসব ডেটা সেন্টারের যেকোনও একটিতে রাউটারে আসা API ট্রাফিক শুধুমাত্র সেই ডেটা সেন্টারের মেসেজ প্রসেসরকে ডাইরেক্ট করা হবে, কারণ রাউটার শুধুমাত্র একই পডের মেসেজ প্রসেসরকে ট্রাফিক ডাইরেক্ট করে।
ভার্চুয়াল হোস্ট সম্পর্কে
ভার্চুয়াল হোস্ট Edge রাউটারে সেই পোর্টকে ডিফাইন করে যেখানে API প্রক্সি এক্সপোজ করা হয়, এবং এর সাথে সাথে, সেই URL-কেও ডিফাইন করে যা অ্যাপ API প্রক্সি অ্যাক্সেস করার জন্য ব্যবহার করে। প্রতিটি এনভায়রনমেন্টে কমপক্ষে একটি ভার্চুয়াল হোস্ট অবশ্যই ডিফাইন করতে হবে।
রাউটার নোডে ভার্চুয়াল হোস্টের উল্লেখ করা পোর্ট নম্বর খোলা আছে কিনা তা নিশ্চিত করুন। আপনি নিম্নলিখিত URL-এ অনুরোধ করে API প্রক্সি অ্যাক্সেস করতে পারবেন:
http://routerIP:port/proxy-base-path/resource-name https://routerIP:port/proxy-base-path/resource-name
যেখানে:
httpবাhttps: ভার্চুয়াল হোস্ট যদি TLS/SSL-এর সাথে কাজ করে এমনভাবে কনফিগার করা থাকে, তাহলে HTTPS ব্যবহার করুন। ভার্চুয়াল হোস্ট TLS/SSL-এর সাথে কাজ না করলে, HTTP ব্যবহার করুন।- routerIP:port হল ভার্চুয়াল হোস্টের IP অ্যাড্রেস ও পোর্ট নম্বর।
- আপনি API প্রক্সি তৈরি করলে proxy-base-path এবং resource-name সংজ্ঞায়িত করা হয়।
সাধারণত, আপনি IP অ্যাড্রেস ও পোর্ট নম্বর সহ গ্রাহকদের কাছে API প্রকাশ করেন না। পরিবর্তে, আপনি রাউটার ও পোর্টের জন্য একটি DNS এন্ট্রি নির্ধারণ করেন। যেমন:
http://myAPI.myCo.com/proxy-base-path/resource-name https://myAPI.myCo.com/proxy-base-path/resource-name
এছাড়াও, আপনাকে অবশ্যই ভার্চুয়াল হোস্টের জন্য একটি হোস্ট অ্যালিয়াস তৈরি করতে হবে যা DNS এন্ট্রির ডোমেন নামের সাথে মেলে। উপরের উদাহরণ থেকে, আপনি myAPI.myCo.com-এর একটি হোস্ট অ্যালিয়াস নির্দিষ্ট করবেন। আপনার কোনও DNS এন্ট্রি না থাকলে, রাউটারের IP অ্যাড্রেস এবং ভার্চুয়াল হোস্টের পোর্টকে হোস্ট অ্যালিয়াস হিসেবে সেট করুন, যেমন routerIP:port।
আরও জানতে, ভার্চুয়াল হোস্ট সম্পর্কে দেখুন।
আপনার প্রথম সংস্থা, এনভায়রনমেন্ট ও ভার্চুয়াল হোস্ট তৈরি করা
Edge ইনস্টলেশন প্রসেস সম্পূর্ণ করার পরে, আপনার প্রথম কাজ হল সাধারণত "অনবোর্ডিং" প্রসেসের মাধ্যমে সংস্থা, এনভায়রনমেন্ট ও ভার্চুয়াল হোস্ট তৈরি করা। অনবোর্ডিং সম্পন্ন করতে, Edge ম্যানেজমেন্ট সার্ভার নোডে নিম্নলিখিত কমান্ড রান করুন:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
এই কমান্ড একটি কনফিগারেশন ফাইলকে ইনপুট হিসেবে নেয় যা ব্যবহারকারী, সংস্থা, এনভায়রনমেন্ট ও ভার্চুয়াল হোস্টকে সংজ্ঞায়িত করে।
যেমন, আপনি এগুলি তৈরি করেন:
- আপনার বেছে নেওয়া কোনও ব্যবহারকারীকে প্রতিষ্ঠানের অ্যাডমিনিস্ট্রেটর হিসেবে কাজ করতে হবে
exampleনামের একটি সংস্থাprodনামের সংস্থার একটি এনভায়রনমেন্ট যা "gateway" পডের সমস্ত Message প্রসেসরের সাথে যুক্তdefaultনামের এনভায়রনমেন্টে একটি ভার্চুয়াল হোস্ট যা পোর্ট ৯০০১-এ HTTP অ্যাক্সেস দেয়- ভার্চুয়াল হোস্টের জন্য হোস্ট অ্যালিয়াস
সেই স্ক্রিপ্ট চালানোর পরে, আপনি এই ফর্ম্যাটে URL ব্যবহার করে আপনার API অ্যাক্সেস করতে পারবেন:
http://routerIP:9001/proxy-base-path/resource-name
আপনি পরে যেকোনও সংখ্যক সংস্থা, এনভায়রনমেন্ট ও ভার্চুয়াল হোস্ট যোগ করতে পারবেন।
আরও তথ্যের জন্য, কোনও সংস্থাকে অনবোর্ড করা দেখুন।