One challenge for a network engineer learning the ‘tools of the trade’ for programmable networks is how to set up a development environment.
The environment must be ephemeral, consistent, and repeatable with the instructor, your teammates and your study partner.
In this session, we demonstrate how to use Visual Studio Code along with Vagrant, Docker and cloud compute environments. We will share sample configurations in GitLab and also a number of Jupyter Notebooks which can be used as study aides for the Cisco DevNet Certification exams.
2. One challenge for a network engineer learning
the ‘tools of the trade’ of programmable
networks is how to set up a development
environment.
The environment must be ephemeral, consistent
and repeatable with the instructor, your
teammates and your study partner.
In this session, we demonstrate how to use
Visual Studio Code along with Vagrant, Docker
and cloud compute environments.
NetDevOps Development Environments
3. Joel W. King
Distinguished Solutions Architect
AMP Incorporated
Cisco Systems
NetApp
World Wide Technology
https://www.linkedin.com/in/programmablenetworks
4. https://code.visualstudio.com/blogs/2020/07/27/containers-edu
Development Containers in Education: A Guide for Instructors
July 27, 2020 by Brigit Murtaugh, @BrigitMurtaugh
We've heard from many educators that the first days or weeks
of the semester can be lost to configuring the correct
environment for students. Even so, students may still end up
with a low-quality development experience or insufficient
grading of their assignments:
"Set up for my students normally takes five class periods.
There are version of Python to deal with. There's a lot of
complexity. Sadly that complexity takes a lot of time and money
to sort out." -[Community College US Professor CS 101]
5. ephemeral, consistent, and repeatable
The goal is to eliminate the Works on My Machine issue due to inconsistencies in environments.
WORK IN TEAMS
Facilitates collaboration
between Instructor and
Student and Study Group
partners
SAVE TIME
Differences between
Windows and macOS,
as well as software
versions and
implementations, detract
from collaboration time
ENABLE
INFRASTRUCTURE AS
CODE AND CI/CD
The network should be
defined as code, with
automated testing and
validation
9. Create | download Vagrantfile to your laptop
Issue ‘vagrant up’
Use ‘vagrant ssh-config’ and update ~/.ssh/config
Open the SSH target in VS Code
Note: Synced Folder at /vagrant
11. Create remote compute (Create Droplet)
Determine the public IP address of the Droplet
Update ~/.ssh/config with IP address and SSH Key
Open remote SSH target in VS Code
Clone the project repository
https://gitlab.com/joelwking/vs_code_remote_compute/-/blob/master/CREATE_DROPLET.md
16. Blog: Remote Development with VS Code
https://code.visualstudio.com/blogs/2019/05/02/remote-development
Blog: Development Containers in Education: A Guide for Instructors
https://code.visualstudio.com/blogs/2020/07/27/containers-edu
VSCODE Remote SSH
https://marketplace.visualstudio.com/items?itemName=ms-vscode-
remote.remote-ssh
Visual Studio Code Remote - Containers
https://marketplace.visualstudio.com/items?itemName=ms-vscode-
remote.remote-containers
WWT DevNet Study Group: Development Environment Setup
https://automatic-giggle-3eb27772.pages.github.io/
18. At WWT, we use a proven and innovative approach to help our customers discover, evaluate, architect and implement
advanced technology solutions by leveraging our Advanced Technology Center for testing, and rapid deployment through
our global integration centers. But what truly sets us apart is our extraordinary team of highly certified professionals,
everyone committed to our customers’ long-term goals and success.
Thank You!
youtube.com/user/worldwidetechnology
linkedin.com/company/world-wide-technology
facebook.com/WorldWideTechnologyInc
twitter.com/wwt_inc
wwt.com
Notes de l'éditeur
Visual Studio Code Remote - SSH
Visual Studio Code Remote - Containers
Boxes are the package format for Vagrant environments. https://www.vagrantup.com/docs/boxes
https://friendsofvagrant.github.io/v1/docs/index.html