Masters Program – SDN Automation and Programmability of Networks


Masters Program - SDN Automation and Programmability of Networks

Masters Program - SDN Automation and Programmability of Networks consist of four Segments:Segment I : Cisco Nexus 9000 Switches in NX-OS ModeSegment II : Cisco Nexus 9000 Series Switches in ACI ModeSegment III : Learning Python and JSONSegment IV : Cisco Network Programmability Design and ImplementationSegment 1 : Implementing the Cisco Nexus 9000 focuses on deployment and operations of the Cisco Nexus 9000 Series switches. You will learn how to configure and manage Cisco Nexus 9000 Series switches using the NX-OS CLI, Python scripts, bash shell, NX-API, and Open-Flow. Nexus 9000 switches are highly programmable, high density 1/10/40G Ethernet switches that offer highest performance, extensibility to 100GE switching, lowest cost per port and extremely high flexibility and programmability for next generation automation and orchestration. Nexus 9000 Switches build on existing NX-OS technology to bring two new data center network deployment options for customers. This course focuses on the first deployment option, known as Standalone Mode.Segment 2 : Designed for systems and field engineers who manage and implement the Cisco Nexus 9000 Switches in ACI mode. The course covers the key components and procedures you need to know to understand, configure, manage Cisco Nexus 9000 Switches in ACI mode, and how to connect the ACI Fabric to external networks and services.Segment 3 : Python is a general-purpose interpreted, interactive, object-oriented, and high-level programming language. It was created by Guido van Rossum during 1985- 1990. Like Perl, Python source code is also available under the GNU General Public License (GPL). This tutorial gives enough understanding on Python programming language.JSON is a light-weight, text-based open standard for interchanging data. JSON is human readable and language independent. It is easy for computers to read and generate JSON . JSON is used in order to send data between client and servers (Browsers/Clients to Application Servers). JSON is the abbreviation of Java Script Object Notation (derived version of it)Segment 4 : This Segment is for software developers looking to automate network infrastructure and utilize APIs and toolkits to interface with SDN controllers and individual devices. You will learn about topics covered by the Cisco 300-550 and 300-560 exams, leading to the “Cisco Network Programmability Design and Implementation Specialist” and  “Cisco Network Programmability Developer Specialist” certifications .

Target Audience

Network engineersField engineersSystem engineersNetwork designersNetwork operationsNetwork automation engineersNetwork programmersNetwork developersSoftware engineersApplication developersNetwork Architect


To fully benefit from this course, students should have the following prerequisite skills and knowledge:Students should be familiar with Cisco Ethernet switching products.Students should understand Cisco data center architecture.Students should be familiar with virtualizationGood understanding of networking protocols, routing, and switching:Recommended CCNA CertificationRecommended attendance of Cisco IP Routing Class (ROUTE)Recommended attendance of Cisco Switching Class (SWITCH)

Course Objectives

Describe Cisco products that address market trends in the data centerDescribe Cisco Nexus 9000 Series Switch hardware componentsDescribe the hardware architecture of modular chassis, modular chassis line cards, and fixed configuration in the Cisco Nexus 9000 Series SwitchDescribe features offered in NX-OS that are available on the Cisco Nexus 9000 Series SwitchesConfigure VXLAN features on Cisco Nexus 9000 Series SwitchesDescribe the programmability, automation, and management features available on Cisco Nexus 9000 Series Switches Describe common topology options for configuring Cisco Nexus 9000 Series SwitchesDescribe the benefits of adopting Cisco Application Centric Infrastructure (ACI) fabric mode on Cisco Nexus 9000 Series SwitchesDescribe the Cisco Nexus 9000 Series Switch ACIDiscuss the ACI fabricReview Cisco Nexus 9000 Series Switch hardwareConfigure the ACI controller (APIC)Configure ACI L4-L7 service integrationIntegrate the APIC hypervisorUnderstand the programmability and orchestration of the ACI networkDiscuss ACI connectivity to outside networksImplement ACI managementDescribe migration options with ACIDevelop network applications in programmable environments such as ONEPk and XNCDevelop applications to address use cases in WAN, DC, and campus environments  

Course Curriculum

Section 1: Describing the Cisco Nexus 9000 Solution
Data Center TrendsCisco Nexus 9000 SolutionEnhancements to Cisco NX-OS Software
Section 2: Describing Cisco Nexus 9000 Series Hardware
Cisco Nexus 9500 Modular ChassisCisco Nexus 9500 Supervisor ModulesCisco Nexus 9500 System ControllersCisco Nexus 9500 Fans and Power SuppliesCisco Nexus 9500 Fabric ModulesCisco Nexus 9500 Line Card ModulesCisco Nexus 9300 Fixed Configuration SwitchesCisco Nexus 9000 Support for Fabric ExtendersCabling for 40G and 100GE NetworkingOptics Supported by Cisco Nexus 9000 Series Switches
Section 3: Describing Cisco Nexus 9000 Series Hardware Architecture
Architecture of the Cisco Nexus 9500 Modular SwitchesArchitecture of the Cisco Nexus 9500 Card ModulesPacket Forwarding in the Cisco Nexus 9000 Series SwitchesArchitecture of the Cisco Nexus 9300 Switches
Section 4: Describing Cisco Nexus Operating System
NX-OS Features of Cisco Nexus 9000 Series SwitchesHigh-Availability Features of Cisco Nexus 9000 Series SwitchesManagement Features of the Cisco Nexus 9000 Switch Family
Section 5: Describing VXLAN on Cisco Nexus 9000 Series Switches
Network Overlays in Data Center DesignVxLAN OverviewVxLAN Control Plane OperationVxLAN Data Plane OperationVxLAN Support on the Cisco Nexus 9000Configuring VxLAN Gateway
Section 6: Describing Network Programmability and Automation
Describe Programming Features of the Cisco Nexus 9000 Series SwitchesAutomation Features on the Cisco Nexus 9000 Series SwitchesMonitoring Features on the Cisco Nexus 9000 Series Switches
Section 7: Describing Topology Options for Cisco Nexus 9000 Series Switches
Traditional Data Center Topologies on the Cisco Nexus 9000 Series SwitchesSpine and Leaf Topologies on the Cisco Nexus 9000 Series SwitchesOverlay Topologies on the Cisco Nexus 9000 Series Switches
Section 8: Describing the Cisco ACI Fabric
Key Concepts of the Cisco ACI FabricComponents of Cisco ACI FabricThe Benefits of Using the Cisco ACI Fabric
Section 9: Introducing Cisco ACI
Describing the Cisco Nexus 9000 Series Switch ACI SolutionDescribing the Cisco ACI FabricDescribing Cisco Nexus 9000 Series Switch Hardware 
Section 10: Cisco ACI Configuration
Configuring Cisco APICConfiguring Layer 4 Through Layer 7 ServicesConfiguring APIC Hypervisor Integration 
Section 11: Cisco ACI Programmability and Orchestration
Demonstrating Cisco ACI Network ProgrammabilityCisco ACI Network Orchestration 
Section 12: Cisco ACI External Connectivity, Management, and Migration
Configuring ACI Connectivity to Outside NetworksImplementing ACI ManagementDescribing Migration Options with ACI
Section 13: Python
Python – OverviewPython – Environment SetupPython – Basic SyntaxPython – Variable TypesPython – Basic OperatorsPython – Decision MakingPython – LoopsPython – NumbersPython – StringsPython – ListsPython – TuplesPython – DictionaryPython – Date & TimePython – FunctionsPython – ModulesPython – Files I/OPython – ExceptionsPython – NetworkingPython – Sending EmailPython – XML ProcessingUsing NAPALM Python libraryUsing Netmiko Python libraryUsing Paramiko – Python implementation of the SSHv2 protocol
Section 14: JSON
Introduction and Development EnvironmentJava and JSON (Data Binding)JSON Java Jackson AnnotationsJSON Java Jackson Tree ModelJSON Serialize and DeserializeJSON Jackson Streaming APIJSON Schema and ValidationJSON Jackson and JAXB XMLJavaScript API JSONJSON with AJAX (jQuery) and RESTful Web Services
Section 15 Why Network Programmability
What is Network ProgrammabilityNetwork Programmability BenefitsNetwork Innovation with ProgrammabilityCloud, SDN, and Network ProgrammabilityNetwork Automation 
Section 16: Foundational Skills
PythonAPIs and SDKsWeb TechnologiesXMLJSONUsing JSON in PythonIntroduction to Version Control, Git, and GitHub
Section 17: Next-Generation Cisco Data Center Networking
Cisco Application-Centric Infrastructure (ACI)Evolution of Data Center Network ArchitectureCisco Data Center Network ControllersNexus Fabric ManagerVirtual Topology System (VTS)
Section 18: On-Box Programmability and Automation
with Cisco Nexus NX-OSOpen NX-OS Automation—Bootstrap and ProvisioningCisco POAPCisco IgniteNX-OS iPXEOn-box Python ScriptingUsing the NX-OS Python CLI LibraryUsing NX-OS Cisco Python LibraryNon-Interactive Python 
Section 19: Off-Box Programmability and Automation with
Cisco Nexus NX-OSNexus NX-API , NX-API Transport ,NX-API Message Format ,NX-API Security Using NX-API in PythonConfiguring an IP Address with Python and NX-APINX-API REST: An Object-Oriented Data ModelNX-API REST Object Model DataAuthenticating to NX-API (nxapi_auth cookie)Modifying NX-API Objects Data via PythonAutomation and DevOps Tools 
Section 20: Network Programmability with Cisco ACI
Cisco ACI AutomationACI Policy InstantiationACI FundamentalsACI Management Information ModelACI Object NamingFault SeverityACI Health ScoresACI ProgrammabilityInvoking the APIGUIAPIC Object Save-asAPIC API InspectorAPIC Object Store Browser (Visore)APIC API AuthenticationUsing Python to Authenticate to APICProgrammability Using the APIC RESTful APIACI Event SubscriptionCobra SDKUsing APIC CobraWorking with ObjectsExample Cobra SDK—Creating a Complete Tenant ConfigurationAPIC REST Python Adapter (Arya)Using AryaLogger 
Section 21: On-Box Automation and Operations Tools
Automated Port ProfilingAutoSmart PortsEnabling AutoSmart Ports on a Cisco Catalyst SwitchAutoConfEnabling AutoConf on a Cisco Catalyst SwitchModifying a Built-in TemplateAuto SecurityEnabling Auto Security on a Cisco Catalyst SwitchQuality of Service for Campus ArchitecturesAutoQoS on Campus LAN DevicesEnabling AutoQoS on a Cisco Catalyst SwitchAutoQoS on Campus WAN DevicesEnabling AutoQoS on a Cisco ISR RouterAutomating Management and Monitoring TasksSmart Call HomeEnabling Smart Call Home on an Cisco Catalyst SwitchTcl ShellEmbedded Event Manager (EEM)EEM and Tcl Scripts
Section 22: Network Automation Tools for Campus Environments
Data Models and Supporting ProtocolsYANG Data ModelsNETCONFConfDApplication Policy Infrastructure Controller Enterprise Module(APIC-EM)APIC-EM ArchitectureAPIC-EM ApplicationsIntelligent WAN (IWAN) ApplicationPath Trace ApplicationAPIC-EM Features ,Topology , Device InventoryEasy Quality of Service (Easy QoS)Dynamic QoSPolicy ApplicationAPIC-EM Programmability Examples Using PostmanTicket APIHost APINetwork Device APIUser APIAvailable APIC-EM APIsAPIC-EM Programmability Examples Using Python