مقالات

استراتژی برنامه نویسی آریستا | وبلاگ جیسون ادلمن


Arista تا حد زیادی به دلیل سیستم عامل خود که بیشتر با نام EOS شناخته می شود، شناخته شده است. Arista شناخته شده است که ویژگی‌های جدید را با سرعت بیشتری نسبت به سایر فروشندگان عرضه می‌کند و سیستم‌عامل بازتری دارد – زیرا EOS اولین سیستم‌عامل شبکه درجه تولید بود که هر شکلی از لینوکس را در معرض دید کاربران نهایی قرار داد.

به همین دلیل، من معتقدم که Arista استراتژی برنامه نویسی بهتری نسبت به سایر فروشندگان دارد. از آنچه من می توانم بگویم، اینطور نیست. با این حال، با توجه به برخی ویژگی‌هایی که Arista در EOS دارد، برنامه‌نویسی EOS را نسبت به سایر پلتفرم‌ها کمی آسان‌تر می‌کند. بیایید نگاهی بیندازیم.

در Network Field Day 16، آریستا استراتژی برنامه نویسی خود را بررسی کرد. 5 مؤلفه اصلی بررسی شد:

  1. EAPI
  2. OpenConfig
  3. جریان NetDB
  4. توربین ها
  5. EosSdk

قبل از اینکه به هر یک از اینها بپردازم، ابتدا به این نکته توجه می کنم که هنگام بررسی “قابلیت برنامه ریزی سیستم عامل” چه چیزی مهم است [to me] قابلیت برنامه‌ریزی در سطح دستگاه است (نه کنترل‌کننده‌ها یا قابلیت‌های پخش – اینها موضوعات مهمی هستند اما باید جداگانه پوشش داده شوند). برنامه نویسی توانایی است برنامه تعویض دستگاه درسته؟ حال بیایید به 5 مؤلفه در استراتژی آریستا نگاه کنیم.

EAPI – این یک API عالی برای یادگیری نحوه برنامه ریزی یک سوئیچ EOS است. این با Nexus NX-API CLI سیسکو برابری می کند. با این حال، EAPI (همانطور برای NX-API) یک API RESTful قوی نیست. آنها APIهای عالی برای یادگیری هستند زیرا هنوز از دستورات استفاده می کنند. این همان نوع API است که وقتی سیستم عامل قبل از یک استراتژی API-first ساخته شده است، به آن نیاز دارید، که کاملاً خوب است (اما نباید نهایی باشد. استراتژی). شما به سادگی دستورات را از طریق HTTP/S به دستگاه ارسال می‌کنید و پاسخ‌های JSON را دریافت می‌کنید (در صورت پشتیبانی از دستور).

OpenConfig (OC) – به خودی خود، OC نباید یک استراتژی برنامه نویسی بدون ارائه زمینه بیشتر باشد. چه حمل و نقلی پشتیبانی می شود؟ فقط پخش میشه؟ آیا برای مدیریت پیکربندی است؟ چه مدل هایی پشتیبانی می شوند؟ در مورد Arista، این فقط gRPC است و فقط برای جریان داده‌ها.

جریان NetDB – به دو دلیل گنجاندن این موضوع برای من سخت است. این برای پخش است (نه برنامه نویسی) و برای درک/استفاده از آن با جزئیات بیشتر باید با Arista به عنوان یک مشتری تعامل داشته باشید.

توربین ها – همانطور که از تصویر می بینید، اینها برنامه های سفارشی در بالای CVP هستند. همانطور که قبلاً اشاره کردم، ترجیح می دهم قابلیت برنامه ریزی در سطح دستگاه و کنترل کننده قابلیت برنامه ریزی همچنین هنوز یک است کار در حال انجام است.

EosSdk – این در واقع راهی برای برنامه ریزی در سطح دستگاه است، اما برای صفحه کنترل سوئیچ (بر خلاف صفحه مدیریت). من فکر می‌کنم که دانستن وجود آن ساده و جالب است، اما برای اکثر کاربران EOS دور از دسترس و غیر ضروری است.

به روز رسانی: مدت کوتاهی پس از ارسال این، به من اطلاع داده شد که آخرین نسخه EOS دارای پشتیبانی gRPC برای پخش و همچنین پیکربندی در مدل های خاص است. برخی از این مدل ها نیز از طریق NETCONF در معرض دید قرار می گیرند.

وقتی به عقب برمی‌گردم و به استراتژی برنامه‌پذیری Arista نگاه می‌کنم، این چیزی است که با آن می‌مانم:

  1. Arista باید ایجاد یک RESTful API واقعی مبتنی بر شی را در نظر بگیرد – برنامه ای که از دستورات CLI استفاده نمی کند، حتی اگر از مدل های مصرف کننده استفاده کند. RESTCONF به ذهن می رسد.
  2. باید بین قابلیت برنامه ریزی و پخش از راه دور تفاوت وجود داشته باشد.
  3. با آنچه در مورد OpenConfig پشتیبانی می شود، کاملاً واضح باشید. برای زمینه بیشتر به بالا مراجعه کنید.
  4. اگر یک پلتفرم از الگوهای YANG پشتیبانی می کند، پشتیبانی از NETCONF و/یا RESTCONF برای APIهای واقعی (در زمینه پیکربندی صفحه کنترل) بسیار ترجیح داده می شود. آنها در این مرحله برای اکثر کاربران بر gRPC ترجیح داده می شوند. به عنوان مثال، در پایتون، شروع کار با پایتون بسیار آسان است requests و ncclient. چگونه می توانید با یک مشتری gRPC خنثی از فروشنده شروع کنید؟ از آنچه من دیده ام، تا کنون هر فروشنده ای مشتریان gRPC خود را توسعه داده است. یعنی gRPC استاندارد نیست؟

چیزی که eAPI را به یک استراتژی معتبر تبدیل می کند (و قابل برنامه ریزی تر از سایر سیستم عامل ها) خود API نیست، بلکه EOS از دو ویژگی پشتیبانی می کند: تعویض پیکربندی (تعویض پیکربندی اتمی) و جلسات پیکربندی (تراکنش های دسته ای به عنوان پیکربندی نامزد). داشتن یک سیستم عامل باز و این ویژگی ها عالی هستند، اما نباید از تمرکز بر روی درست کردن آن کم کنند [configuration] توسعه API.

افکار عمومی؟ در زیر نظر بدید!

متشکرم

جیسون (@jedelman8)


Source link

نوشته های مشابه

دیدگاهتان را بنویسید

دکمه بازگشت به بالا