Skip to content

NSoT-এর কোর প্রিন্সিপাল এবং Nautobot

আগের চ্যাপ্টারে আমরা দেখেছি ইনটেন্ডেড স্টেট আর অ্যাকচুয়াল স্টেট কী। এখন দেখা যাক নেটওয়ার্ক সোর্স অফ ট্রুথ (NSoT)-এর মূল প্রিন্সিপালগুলো কী।

প্রথম এবং সবচেয়ে গুরুত্বপূর্ণ প্রিন্সিপাল হলো "সিঙ্গেল সোর্স অফ ট্রুথ"। এর মানে হলো - আপনার নেটওয়ার্ক সম্পর্কে যেকোনো তথ্য জানার জন্য শুধুমাত্র একটা জায়গায় যেতে হবে। সেই একটা জায়গাতেই সব সঠিক তথ্য থাকবে। এটাই হবে আপনার "সত্যের উৎস"।

একটা উদাহরণ দিই। ধরুন, আপনার কোম্পানিতে পাঁচজন টেকনিশিয়ান। একজনের কাছে একটা এক্সেল শিট আছে যেখানে রাউটারের লিস্ট আছে। আরেকজনের কাছে একটা ওয়ার্ড ডকুমেন্ট আছে যেখানে আইপি অ্যাড্রেসের তালিকা আছে। তৃতীয়জন একটা নোটবুকে হাতে লিখে রাখে কোন কাস্টমার কোন রাউটারের আন্ডারে। চতুর্থজন মনে রাখে। পঞ্চমজন জানেই না কোথায় কী আছে।

এখন যদি আপনি জানতে চান, "মিরপুর-১২ এর মেইন রাউটারের আইপি অ্যাড্রেস কী?" - তাহলে কাকে জিজ্ঞেস করবেন? কোন ডকুমেন্ট দেখবেন? আর যদি পাঁচজনের পাঁচ রকম উত্তর আসে, তাহলে কোনটা সত্যি?

এই হলো সিঙ্গেল সোর্স অফ ট্রুথ না থাকার সমস্যা। কেউ জানে না আসলে কী সঠিক। আর যখন কেউ জানে না, তখন সবাই নিজের মতো করে কাজ করে। ফলে আরও বেশি গোলমাল তৈরি হয়।

কিন্তু যদি সিঙ্গেল সোর্স অফ ট্রুথ থাকে? তাহলে সবাই জানে, "NSoT-এ গিয়ে দেখো। যা সেখানে লেখা আছে, সেটাই সঠিক।" কোনো কনফিউশন নেই, কোনো দ্বিধা নেই। একটাই জায়গা, একটাই সত্য।

আর সবচেয়ে গুরুত্বপূর্ণ ব্যাপার হলো - এই সিঙ্গেল সোর্স অফ ট্রুথ হবে মাস্টার। নেটওয়ার্কে যা আছে তা নয়, বরং NSoT-এ যা লেখা আছে সেটাই হবে সত্য। নেটওয়ার্ককে মিলতে হবে NSoT-এর সাথে, উল্টোটা না।

ডেটা মডেলিং - কীভাবে ডাটা সাজাবেন

দ্বিতীয় প্রিন্সিপাল হলো ডেটা মডেলিং। মানে, আপনার নেটওয়ার্কের তথ্যগুলো কীভাবে সাজাবেন, কোন ফরম্যাটে রাখবেন, কোন স্ট্রাকচারে রাখবেন।

একটা লাইব্রেরির কথা ভাবুন। লাইব্রেরিতে হাজার হাজার বই আছে। এখন এই বইগুলো কীভাবে সাজাবেন? এলোমেলো করে র‍্যাকে ঢুকিয়ে দেবেন? তাহলে তো কোনো বই খুঁজে পাওয়া অসম্ভব হবে। তাই লাইব্রেরিতে একটা সিস্টেম থাকে। বই সাজানো হয় ক্যাটাগরি অনুযায়ী - সায়েন্স, হিস্টরি, লিটারেচার। প্রতিটা বইয়ের একটা কোড নাম্বার থাকে। একটা ক্যাটালগ সিস্টেম থাকে যেখানে সার্চ করলেই জানা যায় বইটা কোথায় আছে।

নেটওয়ার্ক ডেটাও তাই। এলোমেলো করে রাখলে হবে না। একটা স্ট্রাকচার লাগবে। আর সেই স্ট্রাকচারকেই বলা হয় ডেটা মডেল।

NSoT-এর ডেটা মডেল খুবই চিন্তা করে বানানো। এখানে বিভিন্ন টাইপের অবজেক্ট আছে:

Locations (লোকেশন): আপনার পপ লোকেশন, অফিস, ডেটা সেন্টার। Nautobot 3.0 এ এটা হায়ারারকিকাল - মানে "Dhaka North Zone" এর ভেতরে "Mirpur Cluster", তার ভেতরে "Mirpur POP", আবার তার ভেতরে "Rack A"। এই নেস্টেড স্ট্রাকচার অনেক শক্তিশালী।

Devices (ডিভাইস): রাউটার, সুইচ, ফায়ারওয়াল - যেকোনো নেটওয়ার্ক ডিভাইস। প্রতিটা ডিভাইসের একটা নাম, একটা টাইপ, একটা লোকেশন, একটা রোল থাকবে।

Interfaces (ইন্টারফেস): ডিভাইসের পোর্ট বা ইন্টারফেস। যেমন eth0, GigabitEthernet0/1।

IP Addresses (আইপি অ্যাড্রেস): যেকোনো আইপি অ্যাড্রেস। এটা কোন ডিভাইসের কোন ইন্টারফেসে অ্যাসাইন করা সেটাও থাকবে।

VLANs (ভিল্যান): আপনার নেটওয়ার্কের ভিল্যান। প্রতিটা ভিল্যানের একটা নাম্বার, একটা নাম থাকবে।

Circuits (সার্কিট): আপস্ট্রিম প্রোভাইডার থেকে নেওয়া লিংক।

Roles (রোল): Nautobot 3.0 এ সব রোলস একটা জায়গায় - ডিভাইস রোল, র‍্যাক রোল, আইপি রোল সব ইউনিফাইড হয়ে গেছে। আরো সহজ এবং কনসিসটেন্ট

এই সবগুলো অবজেক্ট সুন্দরভাবে অর্গানাইজড। প্রতিটার নিজস্ব প্রপার্টি আছে। আর সবচেয়ে গুরুত্বপূর্ণ - এদের মধ্যে রিলেশনশিপ আছে।

রিলেশনশিপ ও ডিপেন্ডেন্সি - কে কার সাথে যুক্ত

তৃতীয় প্রিন্সিপাল হলো রিলেশনশিপ। নেটওয়ার্কের কোনো কিছুই আলাদা করে থাকে না। সবকিছু একে অন্যের সাথে যুক্ত।

একটা পরিবারের কথা ভাবুন। পরিবারে আপনি আছেন, আপনার বাবা-মা আছেন, ভাই-বোন আছেন। এখন যদি কেউ জিজ্ঞেস করে, "আপনার বাবা কে?", আপনি উত্তর দিতে পারবেন। কারণ আপনার সাথে আপনার বাবার একটা রিলেশনশিপ আছে। একইভাবে, আপনার ভাইয়ের সাথে আপনার বাবারও রিলেশনশিপ আছে। এই রিলেশনশিপগুলো জানা থাকলে পুরো পরিবারের স্ট্রাকচার বোঝা যায়।

নেটওয়ার্কেও রিলেশনশিপ আছে। একটা উদাহরণ দিই:

  • একটা লোকেশন হায়ারার্কি আছে: "Dhaka North Zone" → "Mirpur Cluster" → "Mirpur POP"
  • সেই পপে একটা ডিভাইস আছে: "R-DN-MIR-CORE-01" (রাউটার)
  • সেই রাউটারের একটা ইন্টারফেস আছে: "GigabitEthernet0/1"
  • সেই ইন্টারফেসে একটা আইপি অ্যাসাইন করা: "10.10.1.1/24"
  • সেই আইপি একটা প্রিফিক্সের অংশ: "10.10.1.0/24"
  • সেই প্রিফিক্স একটা ভিল্যানে: "VLAN 100 - Management"

দেখুন, এখানে সবকিছু একে অন্যের সাথে কানেক্টেড। আইপি থেকে ইন্টারফেস, ইন্টারফেস থেকে ডিভাইস, ডিভাইস থেকে লোকেশন - সব লিঙ্কড। এই রিলেশনশিপগুলো NSoT-এ স্টোর করা থাকে।

এর সুবিধা কী? ধরুন, আপনি জানতে চান "VLAN 100-এ কোন কোন ডিভাইস আছে?"। NSoT সাথে সাথে বলে দিতে পারবে। কারণ সে জানে VLAN 100 কোন প্রিফিক্সে, সেই প্রিফিক্স কোন আইপিতে, সেই আইপি কোন ইন্টারফেসে, সেই ইন্টারফেস কোন ডিভাইসে।

আরেকটা উদাহরণ। ধরুন, একটা রাউটার ডাউন হয়ে গেছে। আপনি জানতে চান, "এই রাউটার ডাউন হলে কোন কোন কাস্টমার আফেক্টেড হবে?"। যদি রিলেশনশিপ ঠিকমতো সেট করা থাকে, তাহলে NSoT সাথে সাথে বলে দিতে পারবে।

Nautobot 3.0 এর নতুন ফিচার - কাস্টম রিলেশনশিপস :

এখন আপনি নিজের মতো করে রিলেশনশিপ তৈরি করতে পারবেন। যেমন, একটা ডিভাইসের সাথে একটা টেন্যান্ট (কাস্টমার) কানেক্ট করতে পারবেন। এটা আগে সম্ভব ছিল না। এখন Nautobot 3.0 এ এই ফ্লেক্সিবিলিটি আছে।

এই হলো রিলেশনশিপের শক্তি। এটা শুধু তথ্য স্টোর করা না, বরং তথ্যগুলোর মধ্যে কানেকশন তৈরি করা।

ভার্সনিং ও অডিট ট্রেইল - কে কখন কী করল

চতুর্থ প্রিন্সিপাল হলো ভার্সনিং আর অডিট ট্রেইল। মানে, যা কিছু চেঞ্জ হয় তার একটা রেকর্ড রাখা।

ব্যাংক অ্যাকাউন্টের কথা ভাবুন। আপনি যখন টাকা তোলেন বা জমা দেন, তখন সেটার একটা রেকর্ড থাকে। পরে যেকোনো সময় স্টেটমেন্ট দেখলে জানতে পারবেন কখন কত টাকা তোলা হয়েছে, কে তুলেছে। এটা জরুরি, কারণ এতে ট্র্যান্সপারেন্সি থাকে, কোনো সমস্যা হলে বোঝা যায় কোথায় ভুল হয়েছে।

নেটওয়ার্কেও একই জিনিস দরকার। কোনো কনফিগ চেঞ্জ করা হলে, কোনো ডিভাইস যুক্ত করা হলে, কোনো আইপি অ্যালোকেট করা হলে - সবকিছুর একটা রেকর্ড থাকা উচিত। কে করল, কখন করল, কী করল - সব জানা থাকলে পরে সমস্যা হলে ডিবাগ করা সহজ হয়।

NSoT-এ এই ফিচার বিল্ট-ইন। প্রতিটা চেঞ্জের একটা লগ তৈরি হয়। ধরুন, আপনি একটা রাউটারের আইপি চেঞ্জ করলেন। NSoT রেকর্ড করবে:

তারিখ: ২০২৫-০১-১৫, সময়: ১৪:৩০
ইউজার: সাকিব (sakib@example.com)
অবজেক্ট: R-DN-MIR-CORE-01
চেঞ্জ: আইপি অ্যাড্রেস
পুরোনো ভ্যালু: 10.10.1.1
নতুন ভ্যালু: 10.10.1.5

এই রেকর্ড থেকে আপনি জানতে পারবেন কে, কখন, কী চেঞ্জ করেছে। এমনকি পুরোনো ভ্যালুও জানা আছে, তাই দরকার হলে রোলব্যাক করা যাবে।

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

নটোবট - NSoT-এর সেরা সমাধান

এবার আসি নটবটের কথায়। আমরা এতক্ষণ NSoT-এর প্রিন্সিপালগুলো দেখলাম। কিন্তু এই প্রিন্সিপালগুলো বাস্তবায়ন করবেন কীভাবে? এক্সেল শিট দিয়ে? ওয়ার্ড ডকুমেন্ট দিয়ে? উত্তর হলো - না। দরকার একটা প্রপার টুল। আর সেই টুলই হলো নটবট।

নটোবট হলো একটা ওপেন-সোর্স প্ল্যাটফর্ম যেটা নেটওয়ার্ক সোর্স অফ ট্রুথ বানানোর জন্য তৈরি। এটা নেটওয়ার্ক টু কোড কোম্পানি ডেভেলপ করেছে। আর এটার পেছনের স্টোরিটা বেশ ইন্টারেস্টিং।

নেটবক্স (NetBox) থেকে নটবটের জার্নি

অনেকেই হয়তো নেটবক্স-এর নাম শুনেছেন। নেটবক্স হলো ডিজিটাল ওশান কোম্পানির বানানো একটা টুল, যেটা শুরু হয়েছিল ২০১৬ সালে। নেটবক্স ছিল খুবই পপুলার। অনেক বড় বড় কোম্পানি নেটবক্স ইউজ করত তাদের নেটওয়ার্ক ডকুমেন্ট করতে।

কিন্তু NetBox-এর কিছু লিমিটেশন ছিল। এটা মূলত একটা আইপিএএম (আইপি অ্যাড্রেস ম্যানেজমেন্ট) (IPAM: IP Address Management) আর ডিসিম (ডাটা সেন্টার ইনফ্রাস্ট্রাকচার ম্যানেজমেন্ট) (DCIM: Data Center Infrastructure Management) টুল ছিল। এর মধ্যে অটোমেশন ফিচার ছিল সীমিত। প্লাগইন সাপোর্ট ছিল, কিন্তু সেটাও ফুল-ফ্লেজড না।

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

নটোবট বানানোর সময় তারা কয়েকটা জিনিস মাথায় রেখেছিল:

অটোমেশন ফার্স্ট: শুধু ডেটা স্টোর করা না, বরং সেই ডেটা দিয়ে অটোমেশন চালানো।

এক্সটেনসিবিলিটি: সহজে প্লাগইন বানানো যাবে, কাস্টমাইজ করা যাবে।

এপিআই (API) ড্রিভেন: সবকিছু এপিআই দিয়ে করা যাবে। রেস্ট (REST) এবং গ্রাফকিউএল (GraphQL) উভয়ই।

এন্টারপ্রাইজ রেডি: বড় অর্গানাইজেশনের জন্য স্কেলেবল।

নেটবক্স বনাম Nautobot - কোনটা বেছে নেবেন

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

নেটবক্স-এর কিছু সুবিধা আছে যেগুলো উপেক্ষা করা যায় না। প্রথমত, এটা অনেক পুরোনো একটা প্রজেক্ট, ২০১৬ সাল থেকে চলছে। ফলে এর কমিউনিটি বেশ বড়। আপনি যেকোনো সমস্যায় পড়লে অনেক মানুষ সাহায্য করতে পারবে। দ্বিতীয়ত, অনেক ডকুমেন্টেশন আছে। ব্লগ পোস্ট, টিউটোরিয়াল, ভিডিও - সব পাওয়া যায়। তৃতীয়ত, অনেক প্লাগইন আছে যেগুলো কমিউনিটি বানিয়েছে। আর চতুর্থত, যদি আপনার ইউজ কেস সিম্পল হয় - মানে শুধু ডেটা স্টোর করতে চান, একটা আইপিএএম টুল চান - তাহলে নেটবক্স একদম যথেষ্ট।

কিন্তু নেটবক্স-এর কিছু অসুবিধাও আছে। সবচেয়ে বড় সমস্যা হলো অটোমেশন ফিচার কম। নেটবক্স মূলত একটা ডেটা স্টোর হিসেবে বানানো হয়েছিল, অটোমেশন প্ল্যাটফর্ম হিসেবে না। তাই যদি আপনি অটোমেশন চালাতে চান, তাহলে আপনাকে অনেক কাস্টম কোড লিখতে হবে। দ্বিতীয়ত, এন্টারপ্রাইজ সাপোর্ট নেই আনলেস আপনি পেইড ভার্সন না নেন। আর তৃতীয়ত, কাস্টমাইজেশন একটু কঠিন। প্লাগইন বানানো যায়, কিন্তু সেটার প্রসেস নটবটের মতো সহজ না।

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

নটবটেরও কিছু অসুবিধা আছে অবশ্য। প্রথমত, এটা নেটবক্স-এর চেয়ে নতুন। ২০২০ সালে শুরু হয়েছে। যদিও এখন বেশ ম্যাচিউর হয়ে গেছে, তবুও নেটবক্স-এর মতো পুরোনো না। দ্বিতীয়ত, কমিউনিটি একটু ছোট। যদিও দ্রুত বাড়ছে, কিন্তু নেটবক্স-এর কমিউনিটির মতো বড় এখনও হয়নি। তবে এই অসুবিধাগুলো দিন দিন কমে আসছে।

আমার মতে, যদি আপনি শুধু ডেটা স্টোর করতে চান, একটা সিম্পল আইপিএএম টুল চান, আর অটোমেশনের দিকে যাওয়ার কোনো প্ল্যান নেই - তাহলে নেটবক্স যথেষ্ট। কিন্তু যদি আপনি অটোমেশনের দিকে যেতে চান, স্কেল করতে চান, ভবিষ্যতে এআই ইন্টিগ্রেশন করতে চান, আর Nautobot 3.0 এর নতুন ফিচার (হায়ারারকিকাল লোকেশনস, কাস্টম রিলেশনশিপস) ব্যবহার করতে চান - তাহলে নটোবট অনেক ভালো চয়েস। নটোবট আপনাকে শুধু একটা ডেটাবেস দিচ্ছে না, বরং একটা সম্পূর্ণ অটোমেশন প্ল্যাটফর্ম দিচ্ছে। আর যেহেতু আমরা এই বইয়ে নেটওয়ার্ক অটোমেশন (ভবিষ্যত এআই ইন্টিগ্রেশন) নিয়ে কথা বলছি, তাই Nautobot 3.0 আমাদের জন্য পারফেক্ট।

Nautobot 3.0 - কী নতুন?

Nautobot 3.0 একটা মেজর রিলিজ যেখানে অনেক গুরুত্বপূর্ণ পরিবর্তন এসেছে:

হায়ারারকিকাল লোকেশনস: আগের সাইটস এখন লোকেশনস হয়ে গেছে, আর সেটা নেস্টেবল। আপনি "Bangladesh" → "Dhaka" → "Dhaka North" → "Mirpur Cluster" → "Mirpur POP" - এভাবে আনলিমিটেড লেভেলে অর্গানাইজ করতে পারবেন।

ইউনিফাইড রোলস: আগে ডিভাইস রোলস, র্যাক রোলস, আইপি রোলস সব আলাদা ছিল। এখন সব একটা জায়গায় - এক্সট্রাস অ্যাপ এ। কনটেন্ট টাইপস দিয়ে স্পেসিফাই করবেন কোথায় ব্যবহার হবে।

কাস্টম রিলেশনশিপস: এখন আপনি যেকোনো দুটো অবজেক্ট এর মধ্যে কাস্টম রিলেশনশিপ তৈরি করতে পারবেন। যেমন Device ↔ Tenant, Circuit ↔ Provider - যা চান।

বেটার পারফরম্যান্স: ডাটাবেস অপ্টিমাইজেশন, কোয়েরি ইমপ্রুভমেন্ট - সব মিলিয়ে Nautobot 3.0 অনেক দ্রুত।

গ্রাফকিউএল এপিআই: রেস্ট এপিআই এর পাশাপাশি গ্রাফকিউএল সাপোর্ট যা আরো ফ্লেক্সিবল কোয়েরিং দেয়।

নটবটের আর্কিটেকচার - কীভাবে কাজ করে

নটবটের আর্কিটেকচার বুঝতে হলে কয়েকটা লেয়ার বুঝতে হবে:

ডেটাবেস লেয়ার: একদম নিচে আছে ডেটাবেস। Nautobot 3.0 পোস্টগ্রেস্কিউএল (PostgreSQL) ইউজ করে (মাইএসকিউএল (MySQL) সাপোর্ট ডিপ্রিকেটেড)। এখানে সব ডেটা স্টোর হয়।

অ্যাপ্লিকেশন লেয়ার: এটা পাইথন দিয়ে বানানো, ডজ্যাঙ্গো (Django) ফ্রেমওয়ার্ক ইউজ করে। এখানে সব বিজনেস লজিক থাকে। Nautobot 3.0 Django 4.2 ব্যবহার করে।

এপিআই লেয়ার: নটোবট একটা শক্তিশালী রেস্ট এপিআই দেয়। এছাড়া গ্রাফকিউএল এপিআই-ও আছে। এই এপিআই দিয়ে আপনি প্রোগ্রামেটিক্যালি নটবটের সাথে ইন্টার‍্যাক্ট করতে পারবেন।

ইউজার ইন্টারফেস: একটা ওয়েব-বেসড ইউআই আছে যেখানে আপনি ব্রাউজার দিয়ে ডেটা দেখতে, এডিট করতে পারবেন।

প্লাগইন সিস্টেম: নটবটে প্লাগইন যুক্ত করে ফাংশনালিটি বাড়ানো যায়। যেমন গোল্ডেন কনফিগ প্লাগইন দিয়ে কনফিগ ম্যানেজ করা যায়, ডিভাইস লাইফসাইকেল প্লাগইন দিয়ে ডিভাইসের লাইফসাইকেল ট্র্যাক করা যায়।

জবস সিস্টেম: নটবটে আপনি কাস্টম জবস লিখতে পারবেন পাইথন দিয়ে। এই জবসগুলো চালানো যায় ম্যানুয়ালি অথবা শিডিউল করে। যেমন, প্রতিদিন রাতে একটা জব চলবে যেটা সব রাউটার থেকে কনফিগ ব্যাকআপ নেবে।

অ্যাপস আর্কিটেকচার (Nautobot 3.0): Nautobot 3.0 মডুলার অ্যাপস দিয়ে অর্গানাইজ করা - Oঅর্গানাইজেশন, ডিসিম, আইপিএএম, সার্কিটস, এক্সট্রাস। প্রতিটা অ্যাপ নিজস্বভাবে কাজ করে কিন্তু একসাথে ইন্টিগ্রেট হয়।

কমিউনিটি বনাম ক্লাউড ভার্সন

নটোবট দুটো ভার্সনে পাওয়া যায় - একটা কমিউনিটি এডিশন, আরেকটা ক্লাউড ভার্সন। দুটোর মধ্যে পার্থক্য বুঝলে আপনার জন্য কোনটা ঠিক সেটা বেছে নিতে সুবিধা হবে।

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

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

আমার রেকমেন্ডেশন

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

আর একটা ভালো খবর হলো, কমিউনিটি এডিশনে বেশিরভাগ ফিচারই আছে যেগুলো আপনার লাগবে। পেইড ভার্সনে যেসব এক্সট্রা জিনিস আছে সেগুলো মূলত এন্টারপ্রাইজ-লেভেল সাপোর্ট আর হোস্টিং রিলেটেড। ফাংশনালিটির দিক থেকে তেমন পার্থক্য নেই। বিশেষ করে Nautobot 3.0 এর সব নতুন ফিচার - Hierarchical Locations, Unified Roles, Custom Relationships - সব কমিউনিটি এডিশনেই আছে। আর কমিউনিটি সাপোর্টও বেশ ভালো। নটবটের একটা Slack চ্যানেল আছে (networktocode.slack.com) যেখানে অনেক এক্সপেরিয়েন্সড ইউজার আর ডেভেলপাররা আছেন। তারা সাহায্য করতে পছন্দ করেন। আপনি যদি GitHub-এ কোনো ইস্যু রিপোর্ট করেন বা প্রশ্ন করেন, তাহলে বেশিরভাগ সময়ই দ্রুত রেসপন্স পাবেন। তাই কমিউনিটি ভার্সন দিয়ে শুরু করতে কোনো দ্বিধা থাকা উচিত না।

রেডি তো?