Skip to content

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Roles (রোল): Nautobot 3.0 এ সব roles একটা জায়গায় - ডিভাইস role, র‍্যাক role, IP role সব unified হয়ে গেছে। আরো সহজ এবং consistent।

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

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

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

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

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

  • একটা লোকেশন হায়ারার্কি আছে: "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 এর নতুন ফিচার - Custom Relationships:

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

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

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

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

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

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

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

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

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

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

Nautobot - NSoT-এর সেরা সমাধান

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

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

NetBox থেকে Nautobot-এর জার্নি

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

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

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

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

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

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

API ড্রিভেন: সবকিছু API দিয়ে করা যাবে। REST এবং GraphQL উভয়ই।

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

NetBox বনাম Nautobot - কোনটা বেছে নেবেন

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

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

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

এবার Nautobot 3.0। Nautobot-এর সবচেয়ে বড় সুবিধা হলো এটা অটোমেশন-ফোকাসড। একদম শুরু থেকেই এটা বানানো হয়েছে অটোমেশন মাথায় রেখে। তাই এখানে Jobs ফিচার আছে যেটা দিয়ে আপনি কাস্টম অটোমেটেড টাস্ক চালাতে পারবেন। দ্বিতীয়ত, প্লাগইন ইকোসিস্টেম অনেক শক্তিশালী। প্লাগইন বানানো সহজ, আর অনেক রেডিমেড প্লাগইন আছে। তৃতীয়ত, GraphQL সাপোর্ট আছে যেটা REST API-এর চেয়ে বেশি ফ্লেক্সিবল। চতুর্থত, Golden Config, Device Lifecycle Management-এর মতো গুরুত্বপূর্ণ ফিচারগুলো প্লাগইন হিসেবে সহজে যুক্ত করা যায়। আর পঞ্চমত, Nautobot 3.0 এ আরো বড় পরিবর্তন এসেছে - Hierarchical Locations, Unified Roles, Custom Relationships - এই ফিচারগুলো NetBox এ নেই।

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

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

Nautobot 3.0 - কী নতুন?

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

Hierarchical Locations: আগের Sites এখন Locations হয়ে গেছে, আর সেটা nestable। আপনি "Bangladesh" → "Dhaka" → "Dhaka North" → "Mirpur Cluster" → "Mirpur POP" - এভাবে unlimited লেভেলে organize করতে পারবেন।

Unified Roles: আগে Device Roles, Rack Roles, IP Roles সব আলাদা ছিল। এখন সব একটা জায়গায় - Extras app এ। Content Types দিয়ে specify করবেন কোথায় ব্যবহার হবে।

Custom Relationships: এখন আপনি যেকোনো দুটো object এর মধ্যে custom relationship তৈরি করতে পারবেন। যেমন Device ↔ Tenant, Circuit ↔ Provider - যা চান।

Better Performance: Database optimization, query improvement - সব মিলিয়ে Nautobot 3.0 অনেক দ্রুত।

GraphQL API: REST API এর পাশাপাশি GraphQL support যা আরো flexible querying দেয়।

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

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

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

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

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

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

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

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

Apps Architecture (Nautobot 3.0): Nautobot 3.0 modular apps দিয়ে organize করা - Organization, DCIM, IPAM, Circuits, Extras। প্রতিটা app নিজস্বভাবে কাজ করে কিন্তু একসাথে integrate হয়।

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

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

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

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

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

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

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

রেডি তো?