Cisco DevNet

Last updated
CiscoDevNet2.png

Cisco DevNet is Cisco's developer program to help developers and IT professionals who want to write applications and develop integrations with Cisco products, platforms, and APIs. Cisco DevNet includes Cisco's products in software-defined networking, security, cloud, data center, internet of things, collaboration, and open-source software development. The developer.cisco.com site also provides learning and sandbox environments as well as a video series for those trying to learn coding and testing apps.

Contents

History

Cisco has a long history of building a developer community. Cisco began its developer initiatives in 2000 with the Architecture for Voice, Video and Integrated Devices (AVVID). [1] At this time, most developers were focused on creating customizations for the Cisco VoIP phone systems.

At some point, the developer focus of the AVVID program grew, and Cisco launched the Cisco Technology Developer Program (CTDP). This evolved into the Cisco Developer Community (CDC) and Cisco Developer Network (CDN) in 2009. This growth extended the number of APIs used to build solutions on Cisco platforms, and included API guides, forums, downloads, and the early version of the sandbox system. [2]

As Cisco's need to support developers grew, DevNet was launched in 2014 under leadership of Susie Wee. [3] [4] [5] The new Cisco developer network contains APIs from many of Cisco's technologies, including networking, IoT, collaboration, open source, data center, and others. It also contains learning labs, a sandbox, and a community where developers can share their creations. DevNet also attends and hosts many developer events, such as hackathons and coding camps [6] [7] [8]

DevNet holds developer events around the world, including the DevNet Zone at Cisco Live.

DevNet held its first DevNet Create developer conference aimed at an application developer and DevOps audience in San Francisco in May 2017. Guy Kawasaki spoke about "The Art of Innovation" during DevNet Create 2018. DevNet Create 2019 returns to the Computer History Museum in Mountain View, California April 24–25, 2019.

Site Components

DevNet has several components that help developers learn how to code and work with Cisco APIs.

API Guides and Documentation

Cisco DevNet supports a wide variety of technologies. For each product, individual API guides and documentation are provided. Several API types are supported, depending on the product. For example, many of the newer technologies have REST APIs, while some of the older collaboration-based products might support XML coding. [9]

Learning Labs

DevNet's Learning Labs provide individual labs, learning modules, and learning tracks for coders of all skill levels. Developers and students can learn coding basics. Network engineers can get more familiar with Software Defined Networking (SDN) and other networking-specific areas. Experienced coders can get more in-depth training on Cisco APIs. [10]

Sandboxes

Sandboxes on DevNet provide a free space where people can try out their code in a network environment. Depending on the product, some sandboxes are virtual while others utilize lab equipment. [11]

Sample Code

DevNet sample code exists can be uploaded from a GitHub repository to the DevNet Code Exchange. This tool allows developers to find, download, and contribute to code. [12] You can also find DevNet sample code from the CiscoDevNet GitHub organization on ciscodevnet.github.io. [13]

DevNet Exchange

The DevNet Exchange displays a variety of solutions, applications, and code that has been developed with Cisco products in mind by Cisco Partners. The site allows developers to explore code by other developers as well as provides a platform to showcase code. [14]

Awards

Best Overall Developer Portal Award, Community Spotlight & Outreach Award, and Best DX Innovation Award. 2018 DevPortal Awards [15]

Collaboration with Apple

In June 2016, Cisco and Apple Inc. announced a partnership at the Apple Worldwide Developers Conference. [16] This partnership was intended to build greater interoperability between Cisco gear and Apple iOS. Some of Cisco's supported APIs include:

Getting DevNet Certified

You can choose to Do It Yourself or DIY, call it getting DevNet certified the hard way or you can follow a structured approach where a training provider has broken the official curriculum down into lessons, labs and practice quizzes i.e. making it easier for you to navigate through the exam topics and track your learning progress. Regardless of the approach taken, DevNet skill set can be broken down into five domains of knowledge.

  1. Network Fundamentals (protocols, devices, connectivity options up/down the TCP/IP stack including knowledge of Linux)
  2. Programming Skills (primarily Python)
  3. DevOps Tools (CICD, SCM's such as Git etc.)
  4. Infrastructure APIs (obviously, every vendor has their own so DevNet program focuses on Cisco)
  5. Application development (or Integrations) and Deployment lifecycle

See also

Related Research Articles

Apple Worldwide Developers Conference (WWDC) is an information technology conference held annually by Apple Inc. The conference is usually held in the San Jose Convention Center in California. Due to the COVID-19 safety restrictions, WWDC 2021 was presented online. The event is usually used to showcase new software and technologies in the macOS, iOS, iPadOS, watchOS, and tvOS families as well as other Apple software. Attendees can participate in hands-on labs with Apple engineers and attend in-depth sessions covering a wide variety of topics.

In computer security, a sandbox is a security mechanism for separating running programs, usually in an effort to mitigate system failures and/or software vulnerabilities from spreading. It is often used to execute untested or untrusted programs or code, possibly from unverified or untrusted third parties, suppliers, users or websites, without risking harm to the host machine or operating system. A sandbox typically provides a tightly controlled set of resources for guest programs to run in, such as storage and memory scratch space. Network access, the ability to inspect the host system, or read from input devices are usually disallowed or heavily restricted.

seccomp is a computer security facility in the Linux kernel. seccomp allows a process to make a one-way transition into a "secure" state where it cannot make any system calls except exit , sigreturn , read and write to already-open file descriptors. Should it attempt any other system calls, the kernel will terminate the process with SIGKILL or SIGSYS. In this sense, it does not virtualize the system's resources but isolates the process from them entirely.

Google Developers is Google's site for software development tools and platforms, application programming interfaces (APIs), and technical resources. The site contains documentation on using Google developer tools and APIs—including discussion groups and blogs for developers using Google's developer products.

Puppet (software) Open source configuration management software

In computing, Puppet is a software configuration management tool which includes its own declarative language to describe system configuration. It is a model-driven solution that requires limited programming knowledge to use.

In FOSS development communities, a forge is a web-based collaborative software platform for both developing and sharing computer applications. A forge platform is generally able to host multiple independent projects.

Microsoft Azure, commonly referred to as Azure, is a cloud computing service created by Microsoft for building, testing, deploying, and managing applications and services through Microsoft-managed data centers. It provides software as a service (SaaS), platform as a service (PaaS) and infrastructure as a service (IaaS) and supports many different programming languages, tools, and frameworks, including both Microsoft-specific and third-party software and systems.

Node.js JavaScript runtime environment

Node.js is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser. Node.js lets developers use JavaScript to write command line tools and for server-side scripting—running scripts server-side to produce dynamic web page content before the page is sent to the user's web browser. Consequently, Node.js represents a "JavaScript everywhere" paradigm, unifying web-application development around a single programming language, rather than different languages for server-side and client-side scripts.

Blink is a browser engine developed as part of the Chromium project with contributions from Google, Facebook, Microsoft, Opera Software, Adobe, Intel, IBM, Samsung, and others. It was first announced in April 2013.

Google Cloud Platform (GCP), offered by Google, is a suite of cloud computing services that runs on the same infrastructure that Google uses internally for its end-user products, such as Google Search, Gmail, file storage, and YouTube. Alongside a set of management tools, it provides a series of modular cloud services including computing, data storage, data analytics and machine learning. Registration requires a credit card or bank account details.

Gitter

Gitter is an open-source instant messaging and chat room system for developers and users of GitLab and GitHub repositories. Gitter is provided as software-as-a-service, with a free option providing all basic features and the ability to create a single private chat room, and paid subscription options for individuals and organisations, which allows them to create arbitrary numbers of private chat rooms.

Perforce, legally Perforce Software, Inc., is an American developer of software used for developing and running applications, including version control software, web-based repository management, developer collaboration, application lifecycle management, web application servers, debugging tools and Agile planning software.

WebAssembly Cross-platform assembly language and bytecode designed for execution in web browsers

WebAssembly is an open standard that defines a portable binary-code format for executable programs, and a corresponding textual assembly language, as well as interfaces for facilitating interactions between such programs and their host environment. The main goal of WebAssembly is to enable high-performance applications on web pages, but the format is designed to be executed and integrated in other environments as well, including standalone ones.

Snap (package manager) Software deployment system for Linux by Canonical

Snap is a software packaging and deployment system developed by Canonical for operating systems that use the Linux kernel. The packages, called snaps, and the tool for using them, snapd, work across a range of Linux distributions and allow upstream software developers to distribute their applications directly to users. Snaps are self-contained applications running in a sandbox with mediated access to the host system. Snap was originally released for cloud applications but was later ported to work for Internet of Things devices and desktop applications too.

TensorFlow Machine learning software library

TensorFlow is a free and open-source software library for machine learning and artificial intelligence. It can be used across a range of tasks but has a particular focus on training and inference of deep neural networks.

React Native Open-source mobile application framework created by Facebook

React Native is an open-source UI software framework created by Facebook, Inc. It is used to develop applications for Android, Android TV, iOS, macOS, tvOS, Web, Windows and UWP by enabling developers to use the React framework along with native platform capabilities. It is also being used to develop virtual reality applications at Oculus.

uWSGI is a software application that "aims at developing a full stack for building hosting services". It is named after the Web Server Gateway Interface (WSGI), which was the first plugin supported by the project.

ML.NET

ML.NET is a free software machine learning library for the C# and F# programming languages. It also supports Python models when used together with NimbusML. The preview release of ML.NET included transforms for feature engineering like n-gram creation, and learners to handle binary classification, multi-class classification, and regression tasks. Additional ML tasks like anomaly detection and recommendation systems have since been added, and other approaches like deep learning will be included in future versions.

Microsoft, a technology company known for its opposition to the open source software paradigm, turned to embrace the approach in the 2010s. From the 1970s through 2000s under CEOs Bill Gates and Steve Ballmer, Microsoft viewed the community creation and sharing of communal code, later to be known as free and open source software, as a threat to its business, and both executives spoke negatively against it. In the 2010s, as the industry turned towards cloud, embedded, and mobile computing—technologies powered by open source advances—CEO Satya Nadella led Microsoft towards open source adoption although Microsoft's traditional Windows business continued to grow throughout this period generating revenues of 26.8 billion in the third quarter of 2018, while Microsoft's Azure cloud revenues nearly doubled.

AssemblyScript Programming language, variant of TypeScript that compiles to WebAssembly

AssemblyScript is a TypeScript-based programming language that is optimized for WebAssembly and compiled to WebAssembly using asc, the reference AssemblyScript compiler. It is developed by the AssemblyScript Project and the AssemblyScript community.

References

  1. Cisco AVVID Partner Program. Cisco.com (2000). Retrieved on February 10, 2017.
  2. Cisco Developer Network Woos Third Parties. Tech Target (2009-10-5). Retrieved on February 10, 2017.
  3. Cisco Relaunches Developer Network. The Register (2014-07-22). Retrieved on February 10, 2017.
  4. Cisco Launches DevNet to Woo Software Developers. Eweek (2014-07-22). Retrieved on February 10, 2017.
  5. Cisco DevNet Focuses on Developers. Network Computing (2014-07-21). Retrieved on February 10, 2017.
  6. Introducing DevNet Create, the Developer Conference Where Applications Meet Infrastructure blogs.cisco.com (2017-02-07). Retrieved on February 10, 2017.
  7. Cisco Live DevNet Zone Archived 2017-02-11 at the Wayback Machine www.ciscolive.com (2017). Retrieved on February 10, 2017.
  8. Cisco Virtual Hackathon for Asia-Pacific Archived 2017-02-11 at the Wayback Machine www.bemyapp.com (2017). Retrieved on February 10, 2017.
  9. DevNet website developer.cisco.com. Retrieved on February 10, 2017.
  10. DevNet Learning Labs developer.cisco.com. Retrieved on February 10, 2017.
  11. DevNet Sandbox developer.cisco.com. Retrieved on February 10, 2017.
  12. DevNet Code Exchange developer.cisco.com/codeexchange. Retrieved on July 1, 2019.
  13. DevNet Sample Code ciscodevnet.github.io. Retrieved on February 10, 2017.
  14. [ Cisco adds code and ecosystem exchanges to 500K-strong DevNet] ZDNet (2018-06-18). Retrieved on July 1, 2019.
  15. "Winner". DevPortal Awards. Retrieved 2019-03-19.
  16. Apple and Cisco DevNet: What's in it for Developers communities.cisco.com (2016-06-13). Retrieved on February 10, 2017.