Cisco DevNet як платформа для навчання, можливості для розробників та інженерів

Cisco DevNet — це програма для програмістів та інженерів, яка допомагає розробникам та фахівцям у галузі ІТ, які хочуть писати програми та розвивати інтеграцію з продуктами, платформами та інтерфейсами Cisco.

DevNet існує у компанії менше п'яти років. За цей час спеціалістами компанії та спільнотою програмістів створено програми, програми, SDK, бібліотеки, фреймворки для роботи з обладнанням/рішеннями Cisco.

У рамках програми є можливість розвитку у напрямі навчання і для компаній/команд розробників. У наступних статтях я більш детально опишу про можливості для компаній. Нижче я опишу про можливості для навчання та програмування під Cisco. Варто відзначити, що певні навички та знання, які ви можете отримати працюючи з пісочницями або навчаючись на платформі, можна легко використовувати при роботі з іншими вендорами.

Безумовно, є багато унікальних рішень, які доступні тільки в рішеннях Cisco, і навички роботи з ними дозволяють, у тому числі диференціюватися від конкурентів як на ринку праці так і на ринку розробки додатків. Завдяки лідерству Cisco у багатьох сферах вам буде де застосувати свої знання на практиці.

Наразі доступні інструменти та ресурси за такими напрямками: Networking, Security, Data Center, Collaboration, IoT, Cloud, Open Source, Analytics and Automation SW. У кожному з напрямів є окремі навчальні лаби. Багато навчальної інформації та практичних завдань зібрані в модулі які дозволяють познайомитися з основними аспектами технології чи програмування пристрою/рішення.

Якщо розписувати та давати посилання на всі можливості, навряд чи хтось із вас дочитав би статтю до кінця. Тому з усієї різноманітності я вибрав для вас популярні напрямки, про які написано нижче.

Основи

Зараз існує безліч мов програмування та фреймворків, кожна з яких може краще і/або швидше виконувати певні завдання. Коли ми говоримо про мови, важливо також розуміти, що швидкість виконання завдання дуже рідко є основним і єдиним критерієм для вибору мови програмування.

Для розробників також важливі такі критерії, як:

  • підтримка та розвиток мови
  • фреймворки, які можуть спростити вирішення різних завдань
  • ком'юніті
  • наявність готових бібліотек

Якщо говорити про напрями розробки в розрізі застосування, то є два напрями застосування та infrastructure.

Cisco DevNet як платформа для навчання, можливості для розробників та інженерів
У сфері розробки для інфраструктури (infrastructure development) є кілька мов програмування, які, в тому числі за рахунок великого ком'юніті та створених на них додатків, користуються популярністю. Тут варто виділити Python (розроблені такі продукти як Ansible, Salt) та Go (Розроблені такі продукти як docker, kubernetes, grafana).

З чого можна розпочати навчання розробки додатків?
У модулі “Основи програмування” можна почати з основ, де можна дізнатися, що таке API, git, основи мови Python, навчитися працювати з форматом JSON в Python.

Модуль “Setting up Your Desktop OS for Network Programmability” розповість про встановлення необхідних бібліотек, роботу з NETCONF/YANG, використання Ansible з комп'ютера.

Більшість API мають зрозумілий для людини формат ключ-значення:

Cisco DevNet як платформа для навчання, можливості для розробників та інженерів
Якщо у вас є труднощі з використанням мов програмування для вирішення тих чи інших завдань, ви можете використовувати інструмент для роботи з API — Postman. Графічний інтерфейс Postman зрозумілий і спрощує роботу з REST API пристроїв. На навчальній платформі для знайомства з Postman є окремий модуль. Крім того, є готові колекції для Postman для роботи з різними пристроями, наприклад для роботи з Cisco Digital Network Architecture Center (DNA-C) або з Команди Вебекса.

Network programmability

Сьогодні рішення та обладнання Cisco стає більш програмованим крім Southbound APIs (таких як CLI, SNMP ...) все більше і більше пристроїв і рішень починають підтримувати Northbound APIs (такі як Web UI, RESTful). Програмістам звично і краще працювати з даними, з якими можна взаємодіяти програмними методами, наприклад, RESTful API у форматі JSON, або модель YANG (протоколи NETCONF/RESTCONF).

У напрямку Network programmability існує окремий розділ де можна тестувати, аналізувати та реалізовувати свої ідеї. При розробці додатків, які взаємодіють з мережевим обладнанням, важливо тестувати свій код і рішення на обладнанні. В рамках програми є можливість користуватися пісочницями категорії Networking. При роботі з цим напрямком у вас також буде можливість отримувати доступ до різних пристроїв і навіть через ssh. Змінюючи конфігурацію пристроїв або проводячи інші дії з обладнанням та мережею, ви зможете дивитися чи реагує ваш додаток на ці зміни так як і було задумано при розробці чи ні.

кібербезпека

Про відкриті API та можливість програмувати та навчатися у цій сфері вже було написано в цій статті. Можна додати, що для вирішення питань безпеки та швидкого реагування на інциденти в рамках SOC (Security operation center) важливим є налаштування та інтеграція SIEM (Security information and event management) систем. Зокрема, навички налаштування таких систем дуже затребувані на ринку. За посиланням нижче можна використовувати готову інфраструктуру для роботи з Firepower Management Center, Cisco Firepower Threat Defence та Splunk.

NetDevOps

У цьому напрямку є хороший модуль який познайомить вас з контейнерами, мікросервісами, ci/cd.

У рамках цього напрямок доступні пісочниці де можна попрацювати з Cisco Container Platform, Istio, ACI & Kubernetes, Contiv & Kubernetes, Knative та ін.

Плюси програми:

  • Можливість безкоштовно придбати знання та навички, які затребувані на ринку
  • Наявність ринку потенційних користувачів та клієнтів для ваших додатків. За різними напрямками доступні сотні тисяч рішень та обладнання, яким користуються клієнти Cisco
  • Різноманітність напрямків. Проаналізувавши портали для розробників інших компаній вендорів, можу сказати, що доступність різного обладнання/рішень для програмування та тестування свого коду в рази краща, ніж у інших компаній.

Вище ви могли коротко познайомитися з DevNet та можливостями для розробників, у наступних статтях ми зможемо познайомитися з іншими розділами, а також які можливості для створення продуктів на базі обладнання та рішень Cisco доступні для компаній.

Джерело: habr.com

Додати коментар або відгук