اندر کی پلے بک۔ نئے جوابی انجن 2.9 میں نیٹ ورکنگ کی خصوصیات

اندر کی پلے بک۔ نئے جوابی انجن 2.9 میں نیٹ ورکنگ کی خصوصیات

Red Hat Ansible Engine 2.9 کی آئندہ ریلیز دلچسپ بہتری لاتی ہے، جن میں سے کچھ پر اس مضمون میں بحث کی گئی ہے۔ ہمیشہ کی طرح، ہم کمیونٹی سپورٹ کے ساتھ کھلے عام جوابدہ نیٹ ورک کی بہتری کو تیار کر رہے ہیں۔ ہمارے ساتھ شامل ہوں - پر ایک نظر ڈالیں۔ GitHub پر بورڈ جاری کریں۔ اور ترقیاتی منصوبے کا مطالعہ کریں۔ Red Hat Ansible Engine 2.9 کی ریلیز کے لیے ویکی پیج پر جوابدہ نیٹ ورک.

جیسا کہ ہم نے حال ہی میں اعلان کیا، ریڈ ہیٹ جوابی آٹومیشن پلیٹ فارم اب جوابدہ ٹاور، جوابی انجن اور تمام جوابی نیٹ ورک مواد شامل ہیں۔ آج کل، سب سے زیادہ مقبول نیٹ ورکنگ پلیٹ فارم جوابی ماڈیولز کے ذریعے لاگو ہوتے ہیں۔ مثال کے طور پر:

  • اریستا EOS
  • سسکو IOS
  • سسکو IOS XR
  • سسکو NX-OS
  • جونیپر جونوس
  • VyOS

ان پلیٹ فارمز کی مکمل فہرست کے لیے جو جوابی آٹومیشن سبسکرپشن کے ذریعے ریڈ ہیٹ کے ذریعے مکمل طور پر سپورٹ کرتے ہیں، یہاں شائع.

ہم نے کیا سیکھا ہے۔

پچھلے چار سالوں میں، ہم نے نیٹ ورک آٹومیشن پلیٹ فارم تیار کرنے کے بارے میں بہت کچھ سیکھا ہے۔ ہم نے یہ بھی سیکھا۔ کے طور پر پلیٹ فارم کے نمونے جوابدہ پلے بکس اور آخری صارفین کے کرداروں میں استعمال ہوتے ہیں۔ اور ہمیں جو پتہ چلا وہ یہ ہے:

  • تنظیمیں صرف ایک نہیں بلکہ بہت سے دکانداروں سے خودکار آلات ہیں۔
  • آٹومیشن نہ صرف ایک تکنیکی رجحان ہے، بلکہ ایک ثقافتی بھی ہے۔
  • آٹومیشن ڈیزائن کے بنیادی تعمیراتی اصولوں کی وجہ سے بڑے پیمانے پر نیٹ ورکس کو خودکار بنانا اس سے کہیں زیادہ مشکل ہے۔

جب ہم نے ایک سال پہلے اپنے طویل مدتی ترقی کے منصوبوں پر تبادلہ خیال کیا تو ہمارے کارپوریٹ کلائنٹس نے درج ذیل کے لیے کہا:

  • حقائق کو جمع کرنے کو تمام آلات پر بہتر معیاری اور آٹومیشن ورک فلو کے ساتھ منسلک کرنے کی ضرورت ہے۔
  • ڈیوائس پر کنفیگریشنز کو اپ ڈیٹ کرنے کے لیے بھی معیاری اور مستقل ہونے کی ضرورت ہے تاکہ جوابدہ ماڈیول حقائق کو جمع کرنے کے بعد سائیکل کے دوسرے نصف حصے کو سنبھال سکیں۔
  • ہمیں آلہ کی ترتیب کو سٹرکچرڈ ڈیٹا میں تبدیل کرنے کے لیے سخت اور معاون طریقوں کی ضرورت ہے۔ اس بنیاد پر، سچائی کے ماخذ کو نیٹ ورک ڈیوائس سے منتقل کیا جا سکتا ہے۔

حقیقت میں بہتری

Ansible کا استعمال کرتے ہوئے نیٹ ورک ڈیوائسز سے حقائق اکٹھا کرنا اکثر بے ترتیب ہوتا ہے۔ ویب پر مبنی پلیٹ فارمز میں حقائق کو جمع کرنے کی صلاحیتوں کی مختلف ڈگریاں ہوتی ہیں، لیکن ان کے پاس کلیدی قدر کے جوڑوں میں ڈیٹا کی نمائندگی کو پارس کرنے اور معیاری بنانے کے لیے بہت کم یا کوئی فعالیت نہیں ہے۔ پڑھیں پوسٹ کین سیلنزا اس بارے میں کہ حقائق پر مبنی ڈیٹا کا تجزیہ اور معیاری بنانا کتنا مشکل اور تکلیف دہ ہو سکتا ہے۔

آپ نے ہمیں جوابدہ نیٹ ورک انجن کے کردار پر کام کرتے دیکھا ہوگا۔ قدرتی طور پر، 24K ڈاؤن لوڈز کے بعد، نیٹ ورک انجن کا کردار تیزی سے نیٹ ورک آٹومیشن کے منظرناموں کے لیے Ansible Galaxy میں سب سے زیادہ مقبول Ansible کرداروں میں سے ایک بن گیا ہے۔ اس سے پہلے کہ ہم جوابی 2.8 میں اس کی تیاری کے لیے اس میں سے زیادہ تر کو Ansible 2.9 میں منتقل کریں، اس Ansible کردار نے کمانڈز کو پارس کرنے، کمانڈز کو منظم کرنے اور نیٹ ورک ڈیوائسز کے لیے ڈیٹا اکٹھا کرنے میں مدد کے لیے ٹولز کا پہلا سیٹ فراہم کیا۔

اگر آپ جانتے ہیں کہ نیٹ ورک انجن کو کس طرح استعمال کرنا ہے، تو یہ جواب میں استعمال کے لیے حقائق کے ڈیٹا کو جمع کرنے، تجزیہ کرنے اور معیاری بنانے کا ایک بہت ہی موثر طریقہ ہے۔ اس کردار کا نقصان یہ ہے کہ آپ کو ہر پلیٹ فارم اور نیٹ ورک کی تمام سرگرمیوں کے لیے تجزیہ کاروں کا ایک پورا گروپ بنانے کی ضرورت ہے۔ یہ سمجھنے کے لیے کہ پارسر بنانا، بھیجنا اور برقرار رکھنا کتنا مشکل ہے، اس پر ایک نظر ڈالیں۔ 1200 سے زیادہ پارسر سسکو کے لڑکوں سے۔

مختصراً، آلات سے حقائق حاصل کرنا اور انہیں کلیدی قدر کے جوڑوں میں معمول بنانا بڑے پیمانے پر آٹومیشن کے لیے ضروری ہے، لیکن جب آپ کے پاس بہت سے وینڈرز اور نیٹ ورک پلیٹ فارمز ہوں تو اسے حاصل کرنا مشکل ہوتا ہے۔

جوابدہ 2.9 میں ہر نیٹ ورک فیکٹ ماڈیول اب نیٹ ورک ڈیوائس کی کنفیگریشن کا تجزیہ کر سکتا ہے اور سٹرکچرڈ ڈیٹا واپس کر سکتا ہے - بغیر اضافی لائبریریوں، جوابی کرداروں یا کسٹم پارسر کے۔

Ansible 2.9 کے بعد سے، ہر بار ایک اپ ڈیٹ کردہ نیٹ ورک ماڈیول جاری کیا جاتا ہے، حقیقت ماڈیول کو ترتیب کے اس حصے کے بارے میں ڈیٹا فراہم کرنے کے لیے بہتر کیا جاتا ہے۔ یعنی، حقائق اور ماڈیولز کی ترقی اب ایک ہی رفتار سے ہوتی ہے، اور ان میں ہمیشہ ایک مشترکہ ڈیٹا ڈھانچہ ہوگا۔

نیٹ ورک ڈیوائس پر وسائل کی ترتیب کو دو طریقوں سے بازیافت اور ساختی ڈیٹا میں تبدیل کیا جا سکتا ہے۔ دونوں طریقوں سے، آپ نئے مطلوبہ الفاظ کا استعمال کرتے ہوئے وسائل کی ایک مخصوص فہرست کو جمع اور تبدیل کر سکتے ہیں۔ gather_network_resources. وسائل کے نام ماڈیول کے ناموں سے ملتے ہیں، جو کہ بہت آسان ہے۔

حقائق جمع کرتے وقت:

کلیدی لفظ استعمال کرنا gather_facts آپ پلے بک کے شروع میں موجودہ ڈیوائس کنفیگریشن کو بازیافت کر سکتے ہیں، اور پھر اسے پوری پلے بک میں استعمال کر سکتے ہیں۔ آلہ سے بازیافت کیے جانے والے انفرادی وسائل کی وضاحت کریں۔

- hosts: arista
  module_defaults:
    eos_facts:
      gather_subset: min
      gather_network_resources:
      - interfaces
  gather_facts: True

آپ نے ان مثالوں میں کچھ نیا دیکھا ہوگا، یعنی - gather_facts: true اب نیٹ ورک ڈیوائسز کے لیے مقامی حقائق جمع کرنے کے لیے دستیاب ہے۔

نیٹ ورک فیکٹ ماڈیول کا براہ راست استعمال کرنا:

- name: collect interface configuration facts
  eos_facts:
    gather_subset: min
    gather_network_resources:
    - interfaces

پلے بک انٹرفیس کے بارے میں درج ذیل حقائق واپس کرتی ہے۔

ansible_facts:
   ansible_network_resources:
      interfaces:
      - enabled: true
        name: Ethernet1
        mtu: '1476'
      - enabled: true
        name: Loopback0
      - enabled: true
        name: Loopback1
      - enabled: true
        mtu: '1476'
        name: Tunnel0
      - enabled: true
        name: Ethernet1
      - enabled: true
        name: Tunnel1
      - enabled: true
        name: Ethernet1

غور کریں کہ کس طرح Ansible اریسٹا ڈیوائس سے مقامی کنفیگریشن کو بازیافت کرتا ہے اور اسے اسٹرکچرڈ ڈیٹا میں تبدیل کرتا ہے تاکہ اسے نیچے کی دھارے کے کاموں اور آپریشنز کے لیے معیاری کلیدی قدر کے جوڑے کے طور پر استعمال کیا جا سکے۔

انٹرفیس حقائق کو جوابدہ ذخیرہ شدہ متغیرات میں شامل کیا جا سکتا ہے اور وسائل کے ماڈیول میں ان پٹ کے طور پر فوری یا بعد میں استعمال کیا جا سکتا ہے۔ eos_interfaces اضافی پروسیسنگ یا تبدیلی کے بغیر۔

وسائل کے ماڈیولز

لہذا، ہم نے حقائق کو نکالا، ڈیٹا کو نارمل کیا، انہیں معیاری اندرونی ڈیٹا ڈھانچے کے خاکے میں فٹ کیا اور سچائی کا ایک ریڈی میڈ ذریعہ حاصل کیا۔ ہورے! یقیناً یہ بہت اچھا ہے، لیکن ہمیں پھر بھی کسی نہ کسی طرح کلیدی قدر کے جوڑوں کو اس مخصوص ترتیب میں تبدیل کرنے کی ضرورت ہے جس کی مخصوص ڈیوائس پلیٹ فارم کو توقع ہے۔ اب ہمیں ان نئے حقائق کو جمع کرنے اور معمول پر لانے کی ضروریات کو پورا کرنے کے لیے پلیٹ فارم کے لیے مخصوص ماڈیولز کی ضرورت ہے۔

ریسورس ماڈیول کیا ہے؟ آپ کسی ڈیوائس کے کنفیگریشن سیکشنز کو اس ڈیوائس کے ذریعہ فراہم کردہ وسائل کے طور پر سوچ سکتے ہیں۔ نیٹ ورک ریسورس ماڈیولز جان بوجھ کر ایک ہی وسائل تک محدود ہیں اور پیچیدہ نیٹ ورک سروسز کو ترتیب دینے کے لیے بلڈنگ بلاکس کی طرح اسٹیک کیے جا سکتے ہیں۔ نتیجے کے طور پر، وسائل کے ماڈیول کے لیے ضروریات اور تفصیلات قدرتی طور پر آسان ہو جاتی ہیں، کیونکہ وسائل کا ماڈیول پڑھ سکتا ہے۔ и نیٹ ورک ڈیوائس پر ایک مخصوص نیٹ ورک سروس کو ترتیب دیں۔

یہ بتانے کے لیے کہ ریسورس ماڈیول کیا کرتا ہے، آئیے ایک مثال پلے بک دیکھیں جو نئے نیٹ ورک ریسورس فیکٹس اور ماڈیول کا استعمال کرتے ہوئے ایک آئیڈیمپوڈنٹ آپریشن دکھاتی ہے۔ eos_l3_interface.

- name: example of facts being pushed right back to device.
  hosts: arista
  gather_facts: false
  tasks:
  - name: grab arista eos facts
    eos_facts:
      gather_subset: min
      gather_network_resources: l3_interfaces

  - name: ensure that the IP address information is accurate
    eos_l3_interfaces:
      config: "{{ ansible_network_resources['l3_interfaces'] }}"
      register: result

  - name: ensure config did not change
    assert:
      that: not result.changed

جیسا کہ آپ دیکھ سکتے ہیں، ڈیوائس سے جمع کردہ ڈیٹا کو بغیر کسی تبدیلی کے براہ راست متعلقہ وسائل کے ماڈیول میں منتقل کیا جاتا ہے۔ لانچ ہونے پر، پلے بک ڈیوائس سے قدریں بازیافت کرتی ہے اور ان کا متوقع اقدار سے موازنہ کرتی ہے۔ اس مثال میں، واپس کی گئی قدریں توقع کے مطابق ہیں (یعنی یہ کنفیگریشن انحراف کی جانچ کرتا ہے) اور رپورٹ کرتا ہے کہ آیا کنفیگریشن بدل گئی ہے۔

کنفیگریشن ڈرفٹ کا پتہ لگانے کا مثالی طریقہ جوابدہ ذخیرہ شدہ متغیرات میں حقائق کو ذخیرہ کرنا اور وقتاً فوقتاً انسپکشن موڈ میں ریسورس ماڈیول کے ساتھ استعمال کرنا ہے۔ یہ دیکھنے کا ایک آسان طریقہ ہے کہ آیا کسی نے اقدار کو دستی طور پر تبدیل کیا ہے۔ زیادہ تر معاملات میں، تنظیمیں دستی طور پر تبدیلیوں اور کنفیگریشن کی اجازت دیتی ہیں، حالانکہ بہت سے آپریشنز Ansible Automation کے ذریعے کیے جاتے ہیں۔

نئے وسائل کے ماڈیول پچھلے ماڈیولز سے کیسے مختلف ہیں؟

نیٹ ورک آٹومیشن انجینئر کے لیے، جوابی 3 اور پچھلے ورژن میں وسائل کے ماڈیولز کے درمیان 2.9 اہم فرق ہیں۔

1) دیئے گئے نیٹ ورک کے وسائل کے لیے (جس کے بارے میں کنفیگریشن سیکشن کے طور پر بھی سوچا جا سکتا ہے)، ماڈیولز اور حقائق بیک وقت تمام تعاون یافتہ نیٹ ورک آپریٹنگ سسٹمز میں تیار ہوں گے۔ ہمارا خیال ہے کہ اگر Ansible ایک نیٹ ورک پلیٹ فارم پر وسائل کی ترتیب کو سپورٹ کرتا ہے، تو ہمیں اسے ہر جگہ سپورٹ کرنا چاہیے۔ یہ وسائل کے ماڈیولز کے استعمال کو آسان بناتا ہے کیونکہ ایک نیٹ ورک آٹومیشن انجینئر اب مقامی اور معاون ماڈیولز کے ساتھ تمام نیٹ ورک آپریٹنگ سسٹمز پر وسائل (جیسے LLDP) کو ترتیب دے سکتا ہے۔

2) وسائل کے ماڈیولز میں اب ریاستی قدر شامل ہے۔

  • merged: کنفیگریشن کو فراہم کردہ کنفیگریشن (پہلے سے طے شدہ) کے ساتھ ملا دیا جاتا ہے۔
  • replaced: وسائل کی ترتیب کو فراہم کردہ کنفیگریشن سے بدل دیا جائے گا۔
  • overridden: وسائل کی ترتیب کو فراہم کردہ کنفیگریشن سے بدل دیا جائے گا۔ غیر ضروری وسائل کی مثالیں حذف کر دی جائیں گی۔
  • deleted: وسائل کی ترتیب کو ڈیفالٹ پر حذف/بحال کر دیا جائے گا۔

اندر کی پلے بک۔ نئے جوابی انجن 2.9 میں نیٹ ورکنگ کی خصوصیات

3) وسائل کے ماڈیولز میں اب مستحکم واپسی کی قدریں شامل ہیں۔ جب نیٹ ورک ریسورس ماڈیول نے نیٹ ورک ڈیوائس میں ضروری تبدیلیاں کی ہیں (یا تجویز کی ہیں)، تو یہ پلے بک میں وہی کلیدی قدر کے جوڑے لوٹاتا ہے۔

  • before: کام سے پہلے سٹرکچرڈ ڈیٹا کی شکل میں ڈیوائس پر کنفیگریشن؛
  • after: اگر آلہ تبدیل ہو گیا ہے (یا ٹیسٹ موڈ استعمال ہونے پر تبدیل ہو سکتا ہے)، نتیجے میں آنے والی ترتیب کو سٹرکچرڈ ڈیٹا کے طور پر واپس کر دیا جائے گا۔
  • commands: کوئی بھی کنفیگریشن کمانڈ ڈیوائس کو مطلوبہ حالت میں لانے کے لیے اس پر چلتی ہے۔

اندر کی پلے بک۔ نئے جوابی انجن 2.9 میں نیٹ ورکنگ کی خصوصیات

اندر کی پلے بک۔ نئے جوابی انجن 2.9 میں نیٹ ورکنگ کی خصوصیات

اس سب کا کیا مطلب ہے؟ یہ کیوں ضروری ہے؟

اس پوسٹ میں بہت سارے پیچیدہ تصورات کا احاطہ کیا گیا ہے، لیکن ہم امید کرتے ہیں کہ آخر میں آپ کو اس بات کی بہتر تفہیم ہوگی کہ انٹرپرائز کلائنٹس حقیقت میں جمع کرنے، ڈیٹا کو معمول پر لانے، اور آٹومیشن پلیٹ فارم کے لیے لوپ کنفیگریشن کے لیے کیا مانگ رہے ہیں۔ لیکن انہیں ان اصلاحات کی ضرورت کیوں ہے؟ بہت سی تنظیمیں اب اپنے آئی ٹی ماحول کو زیادہ چست اور مسابقتی بنانے کے لیے ڈیجیٹل تبدیلی کی پیروی کر رہی ہیں۔ بہتر یا بدتر کے لیے، بہت سے نیٹ ورک انجینئرز نیٹ ورک ڈویلپر بن جاتے ہیں یا تو ذاتی مفاد سے یا انتظامیہ کے کہنے پر۔

تنظیمیں یہ سمجھ رہی ہیں کہ انفرادی نیٹ ورک ٹیمپلیٹس کو خودکار کرنے سے سائلو کا مسئلہ حل نہیں ہوتا اور صرف ایک حد تک کارکردگی میں اضافہ ہوتا ہے۔ Red Hat Ansible Automation پلیٹ فارم نیٹ ورک ڈیوائس پر بنیادی ڈیٹا کو پروگرام کے مطابق منظم کرنے کے لیے سخت اور معیاری وسائل کے ڈیٹا ماڈل فراہم کرتا ہے۔ یعنی صارفین بتدریج انفرادی کنفیگریشن کے طریقوں کو ترک کر رہے ہیں اور زیادہ جدید طریقوں کے حق میں ٹیکنالوجیز پر زور دے رہے ہیں (مثال کے طور پر IP ایڈریسز، VLANs، LLDP، وغیرہ)، بجائے کسی مخصوص وینڈر کے نفاذ کے۔

کیا اس کا مطلب یہ ہے کہ قابل اعتماد اور ثابت شدہ کمانڈ ماڈیولز اور کنفیگریشن کے دن گنے جا چکے ہیں؟ کسی صورت میں نہیں۔ متوقع نیٹ ورک ریسورس ماڈیولز تمام صورتوں میں یا ہر وینڈر کے لیے لاگو نہیں ہوں گے، اس لیے کمانڈ اور کنفیگریشن ماڈیولز کی ضرورت اب بھی نیٹ ورک انجینئرز کو کچھ نفاذ کے لیے درکار ہوگی۔ وسائل کے ماڈیولز کا مقصد بڑے جنجا ٹیمپلیٹس کو آسان بنانا اور غیر ساختہ ڈیوائس کنفیگریشنز کو ایک سٹرکچرڈ JSON فارمیٹ میں معمول بنانا ہے۔ وسائل کے ماڈیولز کے ساتھ، موجودہ نیٹ ورکس کے لیے یہ آسان ہو جائے گا کہ وہ اپنی کنفیگریشن کو ساختی کلیدی قدر کے جوڑوں میں تبدیل کریں جو سچائی کے پڑھنے میں آسان ذریعہ کی نمائندگی کرتے ہیں۔ سٹرکچرڈ کلیدی قدر کے جوڑے استعمال کر کے، آپ ہر ڈیوائس پر کنفیگریشن چلانے سے لے کر آزاد سٹرکچرڈ ڈیٹا کے ساتھ کام کر سکتے ہیں اور نیٹ ورکس کو بنیادی ڈھانچے کے طور پر کوڈ کے نقطہ نظر کے سامنے لا سکتے ہیں۔

جوابی انجن 2.9 میں کون سے وسائل کے ماڈیولز آئیں گے؟

اس سے پہلے کہ ہم آپ کو تفصیل سے بتائیں کہ جواب 2.9 میں کیا ہوگا، آئیے یاد رکھیں کہ ہم نے کام کے پورے دائرہ کار کو کس طرح تقسیم کیا۔

ہم نے 7 زمروں کی نشاندہی کی اور ہر ایک کو مخصوص نیٹ ورک وسائل تفویض کیے:

اندر کی پلے بک۔ نئے جوابی انجن 2.9 میں نیٹ ورکنگ کی خصوصیات

نوٹ: بولڈ میں وسائل کی منصوبہ بندی کی گئی تھی اور جوابی 2.9 میں لاگو کیا گیا تھا۔
انٹرپرائز صارفین اور کمیونٹی کے تاثرات کی بنیاد پر، نیٹ ورک ٹوپولوجی پروٹوکول، ورچوئلائزیشن، اور انٹرفیس سے متعلق ان ماڈیولز سے پہلے نمٹنا منطقی تھا۔
مندرجہ ذیل وسائل کے ماڈیولز جوابدہ نیٹ ورک ٹیم کے ذریعہ تیار کیے گئے ہیں اور یہ Red Hat کے تعاون یافتہ پلیٹ فارم سے مطابقت رکھتے ہیں:

اندر کی پلے بک۔ نئے جوابی انجن 2.9 میں نیٹ ورکنگ کی خصوصیات

درج ذیل ماڈیولز جوابدہ کمیونٹی کے ذریعہ تیار کیے گئے ہیں:

  • exos_lldp_global - ایکسٹریم نیٹ ورکس سے۔
  • nxos_bfd_interfaces - سسکو سے
  • nxos_telemetry - سسکو سے

جیسا کہ آپ دیکھ سکتے ہیں، وسائل کے ماڈیولز کا تصور ہماری پلیٹ فارم پر مرکوز حکمت عملی میں فٹ بیٹھتا ہے۔ یعنی، ہم نیٹ ورک ماڈیولز کی ترقی میں معیاری کاری کی حمایت کرنے کے لیے، اور جواب دہ کرداروں اور پلے بکس کی سطح پر صارفین کے کام کو آسان بنانے کے لیے خود Ansible میں ضروری صلاحیتوں اور افعال کو شامل کرتے ہیں۔ وسائل کے ماڈیولز کی ترقی کو بڑھانے کے لیے، جواب دینے والی ٹیم نے ماڈیول بلڈر ٹول جاری کیا۔

جوابدہ 2.10 اور اس سے آگے کے منصوبے

Ansible 2.9 کے جاری ہونے کے بعد، ہم Ansible 2.10 کے لیے وسائل کے ماڈیولز کے اگلے سیٹ پر کام کریں گے، جو نیٹ ورک ٹوپولوجی اور پالیسی کو مزید کنفیگر کرنے کے لیے استعمال کیا جا سکتا ہے، جیسے ACL، OSPF اور BGP. ترقیاتی منصوبے کو اب بھی ایڈجسٹ کیا جا سکتا ہے، اس لیے اگر آپ کے کوئی تبصرے ہیں، تو براہ کرم اسے رپورٹ کریں۔ جوابدہ نیٹ ورک کمیونٹی.

وسائل اور شروع کرنا

جوابی آٹومیشن پلیٹ فارم کے بارے میں پریس ریلیز
جوابدہ آٹومیشن پلیٹ فارم بلاگ
جواب میں مواد کی ترسیل کا مستقبل
جوابی منصوبے کے ڈھانچے کو تبدیل کرنے پر مظاہر

ماخذ: www.habr.com

نیا تبصرہ شامل کریں