Cisco DevNet as a learning platform, opportunities for developers and engineers

    Cisco DevNet is a program for programmers and engineers that helps IT developers and specialists who want to write applications and develop integration with Cisco products, platforms and interfaces.

    DevNet has been in the company for less than five years. During this time, the company's specialists and the community of programmers have created programs, applications, SDKs, libraries, frameworks for working with Cisco equipment / solutions.

    Within the framework of the program there is a possibility of development in the direction of training as well for companies / development teams. In the following articles I will describe in more detail the opportunities for companies. Below I will describe the possibilities for learning and programming under Cisco. It should be noted that certain skills and knowledge that you can get working with sandboxes or learning on the platform can be easily used when working with other vendors.

    Of course, there are many unique solutions that are available only in Cisco solutions, and the skills to work with them allow, among other things, to differentiate from competitors both in the labor market and in the application development market. Thanks to Cisco's leadership in many areas, you will have where to put your knowledge into practice.

    Now available tools and resources in the following areas: Networking, Security, Data Center, Collaboration, IoT, Cloud, Open Source, Analytics and Automation SW. For each of the areas there are separate learning labs. Many training information and practical tasks are collected in modules that allow you to get acquainted with the main aspects of technology or device / solution programming.

    If you paint and give links to all possibilities, hardly any of you would have read the article to the end. Therefore, out of all the variety, I chose for you the popular directions about which are written below.

    The basics


    Now there are many programming languages ​​and frameworks, each of which can perform certain tasks better and / or faster. When we speak about languages ​​it is also important to understand that the speed of the task is very rarely the main and only criterion for choosing a programming language.

    For developers, the following criteria are also important:

    • language support and development
    • frameworks that can simplify various tasks
    • community
    • availability of ready libraries

    If we talk about the direction of development in the context of the application, then there are two directions application and infrastructure.

    applications_ecosystem

    In the field of development for infrastructure (infrastructure development) there are a couple of programming languages ​​that, including due to the large community and applications created on them, are popular. It is worth highlighting Python (developed products such as Ansible, Salt) and Go (developed products such as docker, kubernetes, grafana).

    How can I start learning how to develop applications?
    In the module “ Programming Fundamentals ” you can start with the basics, where you can find out what the API is, git, the basics of the Python language, learn how to work with the JSON format in Python.

    Module “ Setting up Your Desktop OS for Network Programmability”Will tell you about installing the necessary libraries, working with NETCONF / YANG, using Ansible from a computer.

    Most APIs have a human-key-value format:

    dna-c_json

    If you have difficulty using programming languages ​​to solve various tasks, you can use the Postman API tool. Postman's graphical user interface is understandable and greatly simplifies working with REST API devices. There is a separate module on the learning platform for getting to know Postman . In addition, there are ready-made collections for Postman to work with various devices, for example, to work with the Cisco Digital Network Architecture Center (DNA-C) or with Webex Teams .

    Network programmability


    Today, Cisco solutions and hardware are becoming more programmable than Southbound APIs (such as CLI, SNMP ...), more and more devices and solutions are beginning to support Northbound APIs (such as Web UI, RESTful). Programmers are accustomed to working with data with which it is possible to interact with program methods, such as the RESTful API in JSON format, or the YANG model (NETCONF / RESTCONF protocols).

    In the direction of Network programmability there is a separate section where you can test, analyze and implement your ideas. When developing applications that interact with network equipment, it is important to test your code and hardware solutions. The program has the opportunity to use sandboxes in the category Networking.. When working with this direction, you will also have the opportunity to access various devices, including via ssh. By changing the device configuration or conducting other actions with the equipment and the network, you can see whether your application reacts to these changes as it was designed during development or not.

    Cyber ​​security


    About open API and the ability to program and learn in this area has already been written in this article . It can be added that setting up and integrating SIEM (Security information and event management) systems is important for resolving security issues and quickly responding to incidents within the SOC (Security operation center). In particular, the skills of setting up such systems are very popular in the market. From the link below, you can use a ready-made infrastructure for working with the Firepower Management Center, Cisco Firepower Threat Defense and Splunk .

    NetDevOps


    In this direction there is a good module that will introduce you to containers, microservices, ci / cd .

    Within this direction , sandboxes are available where you can work with Cisco Container Platform, Istio, ACI & Kubernetes, Contiv & Kubernetes, Knative, and others.

    Advantages of the program:

    • Opportunity to gain free knowledge and skills that are in demand in the market
    • Having a market of potential users and customers for your applications. Hundreds of thousands of solutions and equipment used by Cisco customers are available in various areas.
    • A variety of directions. After analyzing the portals for developers of other vendor companies, I can say that the availability of various equipment / solutions for programming and testing your code is several times better than that of other companies

    Above, you could briefly get acquainted with DevNet and opportunities for developers, in the following articles we will be able to get acquainted with other sections, as well as what opportunities for creating products based on Cisco equipment and solutions are available for companies.

    Also popular now: