From Zero to Network Programmability in 120 minutes
|
|
- Katrina McDaniel
- 5 years ago
- Views:
Transcription
1
2 From Zero to Network Programmability in 120 minutes Gabriel Zapodeanu Technology Solutions Architect, Cisco github.com/gzapodea BRKRST-2935
3 Cisco Spark How Questions? Use Cisco Spark to chat with the speaker after the session 1. Find this session in the Cisco Live Mobile App 2. Click Join the Discussion 3. Install Spark or go directly to the space 4. Enter messages/questions in the space Cisco Spark spaces will be available until July 3, cs.co/ciscolivebot#brkrst-2935
4 Stan Ilchev Spent the last 20 working on small, mid and large scale projects in global manufacturing, enterprise and retail environments: Minolta, Konica, Intel, Daimler would be some examples. Currently involved in complex security initiatives for a large multinational sportswear company known to pioneer use of air in athletic shoe soles. Presented at Cisco Live 2014 and 2015 on the topic of Virtualized Plant Floor Services Architecture (CCSVIR-1400) stanlyilch@gmail.com LinkedIn
5 Cisco Spark How Questions? Use Cisco Spark to chat with the speaker after the session 1. Find this session in the Cisco Live Mobile App 2. Click Join the Discussion 3. Install Spark or go directly to the space 4. Enter messages/questions in the space Cisco Spark spaces will be available until July 3, cs.co/ciscolivebot#brkrst-2935 BRKRST
6 Agenda Programmability? Why? Developer Resources REST APIs JSON and XML Python Sandboxes and Labs API Docs Programmability Use Case Remote Access Overview Elastic Remote Network Access (ERNA) Lessons Learned 120 Minutes to Your Application Summary
7 Agenda Programmability? Why? Developer Resources REST APIs JSON and XML Python Sandboxes and Labs API Docs Programmability Use Case Remote Access Overview Elastic Remote Network Access (ERNA) Lessons Learned 120 Minutes to Your Application Summary
8 What are the top 3 areas your organization is looking to improve upon with automation? Top Areas to Automate % of respondents Network operations Network performance monitoring Network troubleshooting Traffic management (e.g. QoS, bandwidth usage) Security mechanisms Data center services and integrity Cloud Services integration and integrity Access to networked resources Systems software (e.g. OpenStack) Collaboration systems (e.g. web conferencing) Business applications (e.g. customer portal, sales application) 7% 6% 5% 3% 3% 3% 11% 10% 16% 16% 19% Source: Cisco Learning Network, Cisco Certified Community Research Survey on Network Automation and Programmability, Filtered out app developer responses BRKRST
9 Which of the following statements most closely describes the scripting or programming skills used by you or your team? Current Scripting and Coding Skillset % of respondents CLI only 58% Scripts only, had programming training, don't program regularly 25% Both scripts and programs regularly Scripts only, no programming 9% 8% Source: Cisco Learning Network, Cisco Certified Community Research Survey on Network Automation and Programmability, Filtered out app developer responses BRKRST
10 What is your viewpoint on advanced scripting or programming skillsets, such as PERL scripting or Python, as they relate to networking for technology professionals? View on Scripting and Coding Skillset % of respondents It is already a requirement today 40% It is not currently a requirement but will be required within the next 3-5 years 30% It is a benefit but won t be a requirement within the next 3-5 years 17% It is not relevant 13% Source: Cisco Learning Network, Cisco Certified Community Research Survey on Network Automation and Programmability, Filtered out app developer responses BRKRST
11 Programmability Benefits Innovation and business agility Accelerated time to market Service delivery optimization Cost reduction and increased efficiencies Highly skilled architects and engineers improved availability Service-level improvements Higher network availability due to reduced human error BRKRST
12 Programmability Use Cases Business Value High Compliance Security Dynamic Application Configuration Troubleshooting Performance Green Field Change Control Design Optimization Monitoring Operations Low Low Business Risk High BRKRST
13 Agenda Programmability? Why? Developer Resources REST APIs JSON and XML Python Sandboxes and Labs API Docs Programmability Use Case Remote Access Overview Elastic Remote Network Access (ERNA) Lessons Learned 120 Minutes to Your Application Summary
14 What is REST? REST Representational State Transfer Client-server communications Stateless - client side maintains session state, the server does not An architecture style for designing networked applications It is not a standard First edition of REST between October 1994 and August 1995 Published in 2000 by Roy Thomas Fielding, PhD Thesis Dissertation Architectural Styles and the Design of Network-based Software Architectures BRKRST
15 What is REST API? API Application Programming Interface Set of subroutine definitions, protocols, and tools for building application software Specifies how software components should interact with each other Many types of APIs exist, not only RESTful API s RESTful API s - Use HTTP requests to Create/Read/Update/Delete (CRUD) operations: Creates a new resource Retrieves/Read a resource Updates an existing resource Deletes a resource. BRKRST
16 How to Make a REST API Call REST APIs are centered around an HTTP request and response model. Consuming an API is as simple as making an HTTP request. Request Response Client Your Application Application Server BRKRST
17 REST API Request URL: Application Server and the API resource Authentication: HTTP Basic, Custom, OAuth, none Custom Headers: HTTP Headers, example: Content-Type: application/json Request Body: JSON or XML - the data needed to complete request Method (CRUD) : POST - Creates a new resource GET - Retrieves/Read a resource PUT - Updates an existing resource DELETE - Deletes a resource. BRKRST
18 REST API Request - example Create a new Spark room function def create_spark_room(room_name): User defined function URL url = Headers header = {'content-type': 'application/json', 'authorization': SPARK_AUTH} payload = {'title': room_name} Request Body Authentication room_response = requests.post(url, data=json.dumps(payload), headers=header) Method BRKRST
19 REST API Response HTTP Status Codes 2xx Success OK, 201 Created 4xx Client Error Bad Request, 401 Unauthorized, 404 Not Found 5xx Server Error Internal Server Error Headers Content type JSON or XML, cache control, date, encoding Response Body Payload with requested data formatted in JSON or XML BRKRST
20 REST API Response - example Response 200 / success HTTP Status Codes Cache-Control no-cache Content-Encoding gzip Content-Type application/json;charset=utf-8 Date Sun, 05 Feb :07:54 GMT Headers { } "id": "Y2lzY29zcGFyazovL3VzL1JPT ", "title": Cisco Live Room", "type": "group", JSON Response Body "islocked": false, "lastactivity": " T01:03:28.522Z", "creatorid": "Y2lzY29zcGFyazovL3VzL1BFT1B ", "created": " T01:03:28.483Z" BRKRST
21 REST API Request - Response url = header = {'content-type': 'application/json', 'authorization': SPARK_AUTH} payload = {'title': 'Cisco Live Room'} room_response = requests.post(url, data=json.dumps(payload), headers=header) Client Your Application Request Response Cisco Spark Response 200 / success { "id": "Y2lzY29zcGFyazovL3VzL1JPT ", "title": Cisco Live Room", "type": "group", "islocked": false, "lastactivity": " T01:03:28.522Z", "creatorid": "Y2lzY29zcGFyazovL3VzL1BFT1B ", "created": " T01:03:28.483Z" } The response value will be assigned to variable room_response BRKRST
22 Use Case REST APIs The presented use case will access the programmable infrastructure using REST API s Use Case REST APIs will access: Controllers Network Devices Collaboration Orchestration Network Management Rest APIs Spark UCS Director APIC-EM PI ASAv Tropo Infrastructure BRKRST
23 Device Programmability Other options to program network devices: NETCONF - Network Configuration Protocol NETCONF RESTCONF grpc YANG Data Models RESTCONF - REST-like access to the YANG Data Model grpc - open-source universal RPC framework, started by Google Open Native Configuration and Operation Device Features Interface BGP QoS ACL SNMP BRKRST
24 Agenda Programmability? Why? Developer Resources REST APIs JSON and XML Python Sandboxes and Labs API Docs Programmability Use Case Remote Access Overview Elastic Remote Network Access (ERNA) Lessons Learned 120 Minutes to Your Application Summary
25 Client to Server - Data Exchange REST API s are designed to be easy to use, fast and simple Interchange of structured data is critical Need to send data to the server Ability to easily process received data CLI is not structured data GigabitEthernet0 is up, line protocol is up Hardware is PQ3_TSEC, address is f af Description: TO UCS Internet address is /24 MTU 1500 bytes, BW Kbit/sec, DLY 10 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full Duplex, 1Gbps, media type is RJ45 output flow-control is XON, input flow-control is XON ARP type: ARPA, ARP Timeout 04:00:00 5 minute input rate 4000 bits/sec, 7 packets/sec 5 minute output rate 5000 bits/sec, 7 packets/sec 4797 packets input, bytes, 0 no buffer Received 15 broadcasts (0 IP multicasts) BRKRST
26 JSON - JavaScript Object Notation JSON Lightweight data-interchange format Easy for humans to read and write Wide applications support to parse and generate import json the Python standard library: Encode/Decode Python types to JSON This command is required in Python Json.org extensive JSON resource APIC-EM Get Interface API: JSON { } { key : value } "ipv4address": " ", "ipv4mask": " ", "portname": "GigabitEthernet1", "description": " TO_vSWITCH0", "status": "up", "adminstatus": "UP", "id": "7c bd-b516-6c325102e567"... REST APIs and RESTCONF support JSON and XML NETCONF supports only XML BRKRST
27 XML - extensible Markup Language XML : Store and transport data Was designed to be self-descriptive Language independent XML vs HTML: XML was designed to carry data HTML was designed to display data Python support: Multiple modules support xml XML resource - NETCONF Get Interface: XML { } { <tag><value></tag> } <interface> <name>gigabitethernet1</name> <description>to_vswitch0</description> <type xmlns:ianaift="urn:ietf:params:xml:ns:yang: iana-if-type">ianaift:ethernetcsmacd</type> <enabled>true</enabled> <ipv4 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip"> <address> <ip> </ip> <netmask> </netmask> </address> </ipv4> </interface> REST APIs and RESTCONF support JSON and XML NETCONF supports only XML BRKRST
28 Agenda Programmability? Why? Developer Resources REST APIs JSON and XML Python Sandboxes and Labs API Docs Programmability Use Case Remote Access Overview Elastic Remote Network Access (ERNA) Lessons Learned 120 Minutes to Your Application Summary
29 Programming Language - Python Ease of use for automation Python is simple to learn, general purpose Wide support on Cisco devices and software Great choice for network engineers BRKRST
30 Programming Language - Python Which Python2 or Python3? Extensive libraries Python.org full documentation and beginner guides Your choice of programming language may work, too! BRKRST
31 Resources to Get Started with Python Cisco Learning Network: Programming for Network Engineers (PRNE), e-learning Network Programmability Specialists: Design, Developer, Engineer Courses and Cisco Certifications Cisco DevNet Introductory Python and JSON learning modules and labs Python Fundamentals PluralSight, e-learning, subscription based The Hitchhiker s Guide to Python! CodeAcademy, Coursera BRKRST
32 Agenda Programmability? Why? Developer Resources REST APIs JSON and XML Python Sandboxes and Labs API Docs Programmability Use Case Remote Access Overview Elastic Remote Network Access (ERNA) Lessons Learned 120 Minutes to Your Application Summary
33 Sandboxes DevNet Sandbox: Always-on, or reservation based Free, very easy to use and schedule, nothing for you to maintain Simulated or physical network equipment Available sandboxes: Networking, Data Center, Collaboration, Security, Meraki, BRKRST
34 Other Labs Cisco dcloud: Five Data Centers around the world Customizable environments Enterprise Networking Collaboration DC Security, and more Your lab may be required for POC and POV Remember most Cisco software has evaluation licenses available BRKRST
35 Our Lab Proof of Concept Lab Code development for our use case: DevNet Sandbox POC lab UCSD lab BRKRST
36 Agenda Programmability? Why? Developer Resources REST APIs JSON and XML Python Sandboxes and Labs API Docs Programmability Use Case Remote Access Overview Elastic Remote Network Access (ERNA) Lessons Learned 120 Minutes to Your Application Summary
37 API Docs Quality of API docs is the most important factor in API adoption REST APIs are an architectural style not a standard, docs are essential To know what to send and understand what you receive back Try it out features! BRKRST
38 APIs Reference Documentation Each API has published documentation: UCS Director Spark APIC-EM Cisco Mobility Experience Prime Infrastructure RESTCONF Cisco DevNet Meraki BRKRST
39 Agenda Programmability? Why? Developer Resources REST APIs JSON and XML Python Sandboxes and Labs API Docs Programmability Use Case Remote Access Overview Elastic Remote Network Access (ERNA) Lessons Learned 120 Minutes to Your Application Summary
40 Remote Network Access Vendors, contractors and developers need access to devices or systems on internal Enterprise networks (IP-enabled Devices - IPDs) Typically required for: Normal mode of operations, while providing services Troubleshooting Software upgrades, patching and monitoring Proof of Concepts and testing of new applications Encountered in all industries: Utilities, Healthcare, Retail, Manufacturing, These IP-enabled Devices (IP-Ds) may be connected anywhere in the environment BRKRST
41 Remote Network Access Solutions DMZ hosted VDI, additional configuration required within the Enterprise Network Web Conferencing remote support: WebEx, GoToMeeting SaaS third party remote access gateways: TeamViewer, ewon Hybrid on-prem and IaaS deployment with an appliance in a DMZ: Bomgar B2B permanent VPN tunnels if closer affiliation with business established All of these options are static, inflexible, with limited application/protocol support Requirements, design and implementation require months BRKRST
42 Agenda Programmability? Why? Developer Resources Programmability Use Case Remote Access Overview Elastic Remote Network Access (ERNA) Architecture Implementation Utilized APIs Flowchart Demo Lessons Learned 120 Minutes to Your Application Summary
43 Disclaimer The sample code in this presentation is intended for learning and educational purposes only The script was created with the goal of ease of understanding Software is written based on assumptions that may not apply in your environment It is not intended for use in any production environment without significant testing, validation and re-write to meet your Enterprise Application Development Policies BRKRST
44 Elastic Remote Network Access Requirements Remote Access to IP-enabled Devices IP-Ds On-demand provided to end user or vendor Dynamically provisioned network access Provide support for any applications and protocols Scalable and secure Design and implementation done once, used many Dissolvable as soon as work completed Network access request to be provisioned in minutes BRKRST
45 High Level Architecture End User Interface Data Center Orchestration Elastic Remote Network Access Application Security Management Network Controller Network Device Management BRKRST
46 High Level Architecture - Components End User Interface Spark/Tropo Elastic Remote Network Access Application Data Center Orchestration Security Management UCSD ASAv Network Controller APIC-EM Network Device Management PI, NETCONF RESTCONF BRKRST
47 High Level Architecture Functional Requirements End User Interaction with the application Input requests Receive notifications Update status Compute provisioning User Interface Spark/Tropo Storage configuration Network provisioning Data Center Orchestration UCSD Workflow automation Elastic Remote Network Access Application Security Management ASAv Firewall configuration Add and remove Access Control Lists Network Controller APIC-EM Information about: Clients Network Device Management PI, NETCONF RESTCONF Network Devices Topology physical and logical Configuration management Configuration deployment Restore network to prior state Job Status Report BRKRST
48 Agenda Programmability? Why? Developer Resources Programmability Use Case Remote Access Overview Elastic Remote Network Access (ERNA) Architecture Implementation Utilized APIs Flowchart Demo Lessons Learned 120 Minutes to Your Application Summary
49 Network Configurations ip vrf SECURE_REMOTE rd 201:1 route-target export 201:1 route-target import 201:1! interface Loopback200 ip address ! interface Tunnel201 ip vrf forwarding SECURE_REMOTE ip address tunnel source Loopback200 tunnel destination ! interface GigabitEthernet3 description to_secure_remote ip vrf forwarding SECURE_REMOTE ip address negotiation auto! router eigrp 123 network redistribute static redistribute connected! router eigrp 201 address-family ipv4 vrf SECURE_REMOTE network network autonomous-system 201 exit-address-family UCSD workflow - UCSD_CONNECT_FLOW GRE tunnel interface Loopback200 ip address ! interface Tunnel201 ip address tunnel source Loopback200 tunnel destination ! router eigrp 123 network ! router eigrp 201 network redistribute static route-map REMOTE_ACCESS exit! ip route $RemoteClient Vlan$VlanId! ip prefix-list REMOTE_ACCESS_PLIST seq 5 permit $RemoteClient/32! route-map REMOTE_ACCESS permit 10 match ip address prefix-list REMOTE_ACCESS_PLIST access-list outside_access_in line 1 extended permit ip host host BRKRST
50 ERNA - Implementation On-demand remote connectivity for troubleshooting IP-enabled Device (IP-D) End User requests access to an IP-D in Spark Spark bot triggers Application execution UCSD workflow initiated to power on VDI, connect to vswitch and ASAv IP-D is located in the infrastructure by DNS entry, and APIC-EM client database IP-D default gateway hostname is retrieved from APIC-EM network database Find PI Network Device ID from hostname The CLI template file is uploaded to PI, and deployed to the identified PI device ID: Create a loopback interface, build a GRE tunnel, define a new EIGRP AS for host routing (IP-D), add route-maps and prefix lists The CLI template file is uploaded to PI, and deployed to the DMZ CSR 1000V: create new VRF, new sub-interface and a loopback interface. Build a new GRE tunnel, new routing AS and address family DMZ ASAv configuration modify outside interface ACL to allow VDI <-> IP-enabled Device communication PI job status check for the CLI templates deployment APIC-EM device sync, Path Trace to validate secure vendor access Tropo Notification sent to end user informing access has been provisioned. Instructions set for access to VDI/IP-D posted on Spark Access time window ends - remove all configurations from branch Layer 3 device, CSR 1000V, ASAv, power off VDI END of Application Run BRKRST
51 Agenda Programmability? Why? Developer Resources Programmability Use Case Remote Access Overview Elastic Remote Network Access (ERNA) Architecture Implementation Utilized APIs Flowchart Demo Lessons Learned 120 Minutes to Your Application Summary
52 Spark API calls Cisco Spark as an user interface and messaging platform Create a new space, if not one existing Invite vendors to join the space Vendor requests remote access to an IP-enabled device API calls to Spark: Check for messages Post a message Create/delete spaces Membership BRKRST
53 Spark API Request Retrieve the last message from the room with {room_id} SPARK_AUTH = 'Bearer ' + ZTc0ZGUzNTctMWFlNC00ODQzLWFkYWEtMGI4ZDNkYTE5 def last_spark_room_message(room_id): User defined function Authentication Headers url = SPARK_URL + '/messages?roomid=' + room_id header = {'content-type': 'application/json', 'authorization': SPARK_AUTH} response = requests.get(url, headers=header) URL Authentication Method list_messages_json = response.json() print(list_messages_json) list_messages = list_messages_json['items'] last_message = list_messages[0]['text'] print('last room message : ', last_message) return last_message Parsing JSON BRKRST
54 Spark API Response Retrieve the last message from the room with {room_id} { "items" : [ { "text" : Your access is provisioned", "roomid" : "Y2lzY29zcGFyazovL3VzL1JPT00vNWNmNjM4YzAtZ ", "id" : "Y2lzY29zcGFyazovL3VzL01FU1NBR0UvYTAyNzk2N ", "roomtype" : "group", "personid" : "Y2lzY29zcGFyazovL3VzL1BFT1BMRS8zZDJmMTZjZC01 ", "created" : " T00:18:34.455Z", "person " : gzapodea@cisco.com } ] } Last room message : Your access is provisioned Response Data After parsing JSON BRKRST
55 UCSD API calls Two API calls required to trigger the execution of a predefined workflow 1. Create a UCSD user API key to authenticate the user s calls (sample bellow) 2. Execute workflow to power on VDI, connect to ASAv outside interface def get_ucsd_api_key(): User defined function url = UCSD_URL + '/app/api/rest?formattype=json&opname=getrestkey&user=' + UCSD_USER + '&password=' + UCSD_PASSW header = {'content-type': 'application/json', 'accept-type': 'application/json'} Method UCSD_api_key_json = requests.get(url, headers=header, verify=false) UCSD_api_key = UCSD_api_key_json.json() return UCSD_api_key URL Parsing JSON Headers BRKRST
56 APIC-EM API Calls APIC-EM has complete inventory of network devices and clients Applications available - Plug and Play, IWAN, EasyQos, Path Trace Physical and logical topologies We will locate the IP-enabled Device using the provided IP enabled name/dns lookup BRKRST
57 APIC-EM API Calls continued Required APIC-EM API calls: Create an user Auth ticket to be used for all the API calls Locate the IP-D based on the IP address, it could be anywhere in the network Find the APIC-EM device id connected to the IP-D: Retrieve hostname of the network device based on the APIC-EM device Id Find the access VLAN for the specified IP-D Device synchronization and Path Trace to validate vendor access BRKRST
58 APIC-EM API Request Discover hostname of a network device based on the APIC-EM {device_id} User defined function def get_hostname_id_apic_em(device_id, ticket): URL url = EM_URL + '/network-device/' + device_id Authentication Headers header = {'accept': 'application/json', 'X-Auth-Token': ticket} hostname_response = requests.get(url, headers=header, verify=false) Method hostname_json = hostname_response.json() hostname = hostname_json['response']['hostname'] Parsing JSON return hostname BRKRST
59 APIC-EM API Response Discover hostname of a network device based on APIC-EM {device_id} { } "version" : "1.0", "response" : { "family" : "Switches and Hubs", "id" : "26450a30-57d8-4b56-b8f1-6fc535d67645" "uptime" : "219 days, 21:09:28.84", "softwareversion" : "12.2(55)SE3", "managementipaddress" : " ", "locationname" : New-York", "serialnumber" : "FOC1537W1ZY", "platformid" : "WS-C P-E", "hostname" : NYC-SW... } BRKRST
60 Prime Infrastructure API Calls PI - network management operations Upload CLI templates from text file Identify PI device id s using the device hostnames Deploy CLI template to the layer 3 access switch Deploy CLI template to the DC CSR1000v Get CLI deployment PI job status, delete CLI templates Deployment of the PI CLI templates requires: PI device ids The CLI template name Variables, if any As a result a GRE tunnel will be provisioned, routing configured to allow reachability only from host DMZ VDI to only host IP-enabled Device BRKRST
61 PI CLI Template DC Router Check if existing CLI template and delete Upload fresh CLI template from file Reserved IP addresses for new interfaces It does not require variables Configuration: new VRF new Loopback interface update the Gigabit interface 3 new routing AS new address family ip vrf SECURE_REMOTE! rd 201:1 route-target export 201:1 route-target import 201:1 interface Loopback200! ip address interface Tunnel201 ip vrf forwarding SECURE_REMOTE ip address tunnel source Loopback200 tunnel destination interface GigabitEthernet3 description to_secure_remote ip vrf forwarding SECURE_REMOTE ip address negotiation auto! router eigrp 201 address-family ipv4 vrf SECURE_REMOTE network network autonomous-system 201 exit-address-family BRKRST
62 PI CLI Template Remote Layer 3 Switch Check if existing template and delete, upload of a text file CLI template It will require two variables: Client IP address VLAN Values obtained from APIC-EM Configuration: new loopback interface, new GRE tunnel, new routing AS new static route, new prefix list, new route-map and route redistribution interface Loopback200 ip address ! interface Tunnel201 ip address tunnel source Loopback200 tunnel destination ! router eigrp 123 network ! router eigrp 201 network redistribute static route-map REMOTE_ACCESS exit! ip route $RemoteClient Vlan$VlanId! ip prefix-list REMOTE_ACCESS_PLIST seq 5 permit $RemoteClient/32! route-map REMOTE_ACCESS permit 10 match ip address prefix-list REMOTE_ACCESS_PLIST BRKRST
63 PI API Request - Variables in JSON The CLI template deployment requires two variables {client_ip} IP-D IP address {vlan_number} access vlan Prime Infrastructure CLI Template configuration Variable in JSON format variable_value = [ {'name' : 'RemoteClient', 'value' : client_ip}, {'name' : 'VlanId', 'value' : str(vlan_number)} ] BRKRST
64 PI API Request Deploy the CLI template {template_name} using {variable_value} through a job def pi_deploy_cli_template(device_id, template_name, variable_value): param = { PI device id 'clitemplatecommand': { 'targetdevices': { 'targetdevice': { 'targetdeviceid': str(device_id), 'variablevalues' : { 'variablevalue' : variable_value } } }, 'templatename': template_name } } Request Body url = PI_URL + '/webacs/api/v1/op/clitemplateconfiguration/deploytemplatethroughjob' header = {'content-type': 'application/json', 'accept': 'application/json'} response = requests.put(url, data=json.dumps(param), headers=header, verify=false, auth=pi_auth) job_json = response.json() job_name = job_json['mgmtresponse']['clitemplatecommandjobresult']['jobname'] return job_name # return the deploy template job name Parsing JSON BRKRST
65 ASAv Security Configuration ASA requires an agent to be downloaded, installed and enabled Agents are available for both physical and virtual ASA s (ASAv) API calls utilize HTTP Basic Authentication We will need three API calls: Find out the inbound Access Control List Id for the outside interface Insert a new statement to allow communication from the DMZ VDI to the IP-enabled Device IP address Delete the ACE at the end of the de-provisioning BRKRST
66 ASAv API Request Retrieve existing ACL id for the {interface_name} ASAv_USER = 'python' ASAv_PASSW = 'cisco' ASAv_AUTH = HTTPBasicAuth(ASAv_USER, ASAv_PASSW) Authentication HTTP Basic def get_asav_access_list(interface_name): Find out the existing ASAv interface Access Control List Call to ASAv - /api/access/in/{interfaceid}/rules :param interface_name: ASA interface_name Build Code Documentation using PyDoc :return: Access Control List id number URL url = ASAv_URL + '/api/access/in/' + interface_name + '/rules' header = {'content-type': 'application/json', 'accept-type': 'application/json'} response = requests.get(url, headers=header, verify=false, auth=asav_auth) acl_json = response.json() acl_id_number = acl_json['items'][0]['objectid'] return acl_id_number Parsing JSON BRKRST
67 ASAv API Response Retrieve existing ACL id for the {interface_name} { "items" : [ { "destinationservice" : { "kind" : "NetworkProtocol", "value" : "ip" }, "destinationaddress" : { "kind" : "IPv4Address", "value" : " " }, "sourceaddress" : { "kind" : "IPv4Address", "value" : " " }, "objectid" : " ", "sourceservice" : { "kind" : "NetworkProtocol", "value" : "ip" BRKRST
68 ASAv API Call JSON Formatting Tip Sometimes the JSON variable we need to send is complex example ASAv ACL Save time by configuring the entry using a different tool Create an API call, method GET, to obtain the configuration, in JSON format Now you have the variable formatted in JSON, as needed for your future API call Make configuration changes and use it! ACL_data = {"destinationaddress" : { "value" : " ", "kind" : "IPv4Address }, "destinationservice" : { "value" : "tcp/8443", "kind" : "TcpUdpService }, "sourceaddress" : { "value" : "any", "kind" : "AnyIPAddress }, "sourceservice" : { "value" : "tcp", "kind" : "NetworkProtocol }, "permit" : True, "active": True, "rulelogging" : { "logstatus" : "Informational", "loginterval" : 300 }, "isaccessrule" : True, "position" : 4, "remarks" : [] } BRKRST
69 Tropo Notification Cloud platform to enable the creation of Voice and SMS applications Steps required: 1. Account registration 2. Creation of a new Application 3. A token generation 4. Call to the API including the token 5. Append additional information: phone number, text, voice message for TTS It takes 5 minutes for a basic Tropo App to be created BRKRST
70 Tropo Notification API s Send notification to call user, and play message def tropo_notification(): url = ' header = {'accept': 'application/json'} response = requests.get(url, headers=header, verify=false) response_json = response.json() result = response_json['success'] if result: notification = 'successful' else: notification = 'not successful' print ('Tropo notification: ', notification) return notification BRKRST
71 ERNA - Utilized APIs Summary Spark Create and delete spaces Read and post messages Membership invite new members to room UCS Director Obtain UCSD application key Execute a workflow in the DC APIC-EM Create auth ticket Locate the IP-enabled Device based on IP address (after DNS resolution) Find out the hostname of the layer 3 access switch and the access VLAN Device configuration synchronization Path trace, create and retrieve result BRKRST
72 ERNA - Utilized APIs Summary - continued Prime Infrastructure Upload CLI templates from text file Deploy CLI template to the layer 3 access switch Deploy CLI template to the data center CSR1000v Get CLI deployment PI job status, delete CLI templates ASAv Retrieve existing ASA access list for an interface Insert a new access control list entry Delete the inserted access control list entry Tropo Notification via voice call that ERNA has been provisioned Other working with files, logging to file, debugging BRKRST
73 Agenda Programmability? Why? Developer Resources Programmability Use Case Remote Access Overview Elastic Remote Network Access (ERNA) Architecture Implementation Utilized APIs Flowchart Demo Lessons Learned 120 Minutes to Your Application Summary
74 ERNA Flowchart ERNA Application Start DNS Lookup Timer Started Timer Expired Spark End-User Requests Access Spark Notification Spark Notification UCSD Workflow Initiated Workflow Initiated APIC-EM Create Ticket Locate IP-D Identify Switch/VLAN Path Trace ASAv ASAv Config ASAv Config PI Template L3 Switch Template DC Router Check Job Status Template & Jos Status Switch and Router Tropo Tropo Notification Provisioning De-provisioning BRKRST
75 Agenda Programmability? Why? Developer Resources Programmability Use Case Remote Access Overview Elastic Remote Network Access (ERNA) Architecture Implementation Utilized APIs Flowchart Demo Lessons Learned 120 Minutes to Your Application Summary
76 ERNA Pre-Recorded Demo
77 ERNA Flowchart ERNA Application Start DNS Lookup Timer Started Timer Expired Spark End-User Requests Access Spark Notification Spark Notification UCSD Workflow Initiated Workflow Initiated APIC-EM Create Ticket Locate IP-D Identify Switch/VLAN Path Trace ASAv ASAv Config ASAv Config PI Template L3 Switch Template DC Router Check Job Status Template & Jos Status Switch and Router Tropo Tropo Notification Provisioning De-provisioning BRKRST
78
79 ERNA Flowchart ERNA Application Start DNS Lookup Timer Started Timer Expired Spark End-User Requests Access Spark Notification Spark Notification UCSD Workflow Initiated Workflow Initiated APIC-EM Create Ticket Locate IP-D Identify Switch/VLAN Path Trace ASAv ASAv Config ASAv Config PI Template L3 Switch Template DC Router Check Job Status Template & Jos Status Switch and Router Tropo Tropo Notification Provisioning De-provisioning BRKRST
80 Decommission and restore environment to clean state
81 ERNA lab testing BRKRST
82 ERNA Python code The use case code may be found here: You will find : The Python program CLI templates text files Debugging log files The documentation created with PyDoc - BRKRST_2935_ERNA_CL.html It is not intended for use in any production environment without significant testing, validation and re-write to meet your Enterprise Application Development Policies This code intent is for teaching purposes BRKRST
83 Python Documentation - Pydoc Built-in Python module - documentation formatted as HTML or text. BRKRST
84 Python Logging Built-in Python logging logging to file, Debugging level BRKRST
85 Agenda Programmability? Why? Developer Resources REST APIs JSON and XML Python Sandboxes and Labs API Docs Programmability Use Case Remote Access Overview Elastic Remote Network Access (ERNA) Lessons Learned 120 Minutes to Your Application Summary
86 Lessons Learned Start to automate simple tasks Think APIs first, CLI second Find something you can not do today, be creative by using APIs Your application does not have to be perfect, we are not developers Expect to troubleshoot your code, ask for help, check communities Join programmability communities Remember to have fun! BRKRST
87 ERNA next steps Configuration for last Layer 3 network device to be a router, Catalyst 9k Incorporate an approval process Integration with ISE Accommodate for multiple users requesting access at the same time Templates IP address validation before deployment Traffic capture for vendor traffic QoS policies BRKRST
88 Agenda Programmability? Why? Developer Resources REST APIs JSON Python Sandboxes and Labs API Docs Programmability Use Case Remote Access Overview Elastic Remote Network Access (ERNA) Lessons Learned 120 Minutes to Your Application Summary
89 How to Get Started?
90 Your Development Environment Learn about APIs Programming languages Operating system selection Text editors and IDEs Labs Communities, resources and code repositories BRKRST
91 Learn about APIs DevNet learning tracks and labs API documentation APIs provide Try it features DevNet Express Events BRKRST
92 Postman Postman - Rest API client Learning and troubleshooting Generate code option BRKRST
93 Programing Languages Large variety of programming languages: Python, JavaScript, Go, Take in consideration your developers choice Find on communities what is the choice for most of your peers For scripting and network engineers Python If you are just starting Python Remember to install your Python Packages The Hitchhiker s Guide to Python! BRKRST
94 JSON and or XML { key : value } { <tag><value></tag> } { } "ipv4address": " ", "ipv4mask": " ", "portname": "GigabitEthernet1", "description": " TO_vSWITCH0", "status": "up", "adminstatus": "UP", "id": "7c bd-b516-6c32510"... { } <interface> <name>gigabitethernet1</name> <description>to_vswitch0</description> <enabled>true</enabled> <address> <ip> </ip> <netmask> </netmask> </address> </ipv4> </interface> REST APIs and RESTCONF support JSON and XML, NETCONF supports only XML BRKRST
95 Operating System Choices Mac OS X, Linux, Windows they will all work well for what you need Some advantages for Mac OS X, or Linux Isolation between your Python environments, and your OS: OS upgrades what is the impact on your Python environment? What are your Python packages going to change in your OS? Do you need different Python packages versions for your applications? Python virtual environments easy to configure, highly recommended BRKRST
96 Operating System Choices - Continued Virtual machines Ubuntu free, easy to install Avoid some other OS limitations (SSL versions) Will consume CPU/Memory Will need virtualization software Containers Light, very easy to get started Application portability APIs enabled infrastructure Something else to learn BRKRST
97 Text editors and Integrated Development Environments Text editors all of them will work for writing Python code Advanced text editors will make your life easier: Atom, Sublime, Notepad++, TextMate Integrated Development Environments (IDEs): Improve your code quality and productivity Code Inspection and refactoring Will integrate with version control systems (VCS), virtual environments, packages updates, debugging, error correction PyCharm, Eclipse, VIM, Wind IDE, Spyder Python BRKRST
98 Labs Cisco DevNet Sandboxes: will require a DevNet free account Cisco dcloud: You will need a cisco.com account (CCO) VPN anyconnect client or a Cisco router to VPN to dcloud VIRL: Virtual Internet Routing Lab Your lab: You may run virtual almost everything BRKRST
99 Communities, Resources and Code Repositories Cisco DevNet Cisco Spark Meraki Developers Programmability Partner Community GitHub: Code hosting platform for version control and collaboration BRKRST
100 120 Minutes To Your Application DevNet, GitHub, Communities Join Communities, Download Sample Code and Run Labs/Sandboxes Integrated Development Environment, Text Editor Python Import Modules DevNet Sandbox, Labs, Learning Tracks, dcloud and Your Lab PyCharm, Eclipse, VIM, Sublime, Atom, Notepad++ Virtual environments, PIP3, Python Packages Programming Language Python, JS, Go, C#, JSON and XML Operating System Mac OS X, Ubuntu, Windows, VMs, Containers Learn about API s DevNet Express, Learning Labs, API docs, Postman BRKRST
101 Agenda Programmability? Why? Developer Resources REST APIs JSON Python Sandboxes and Labs API Docs Programmability Use Case Remote Access Overview Elastic Remote Network Access (ERNA) Lessons Learned 120 Minutes to Your Application Summary
102 Summary Reuse leading to efficiencies: design once, use many High availability: enables effective change control Flexibility in services delivery: on-demand, consumer driven Pervasive security: all network communications can be mapped to security policies. Rapid provisioning and decommissioning with full traceability Decoupled from physical infrastructure: as long as there is an API exposed BRKRST
103 Q & A
104 Complete Your Online Session Evaluation Give us your feedback to be entered into a Daily Survey Drawing. A daily winner will receive a $750 gift card. Complete your session surveys through the Cisco Live mobile app or on Don t forget: Cisco Live sessions will be available for viewing on demand after the event at
105 Continue Your Education Demos in the Cisco campus Walk-in Self-Paced Labs Lunch & Learn Meet the Engineer 1:1 meetings Related sessions: DEVNET APIs Assist Troubleshooting in Manufacturing DEVNET {Spark:Connect} APIs configured Wi-Fi Hotspot DEVNET-2593 {Meraki:Connect} APIs configured Wi-Fi Hotspot BRKRST
106 Thank you
107
APIs Assist Troubleshooting in Manufacturing
APIs Assist Troubleshooting in Manufacturing Gabriel Zapodeanu Technology Solutions Architect, Cisco Systems gzapodea@cisco.com, @zapodeanu, github.com/gzapodea Agenda Wireless Networks in Manufacturing
More informationIntroduction to OpenConfig
DEVNET-1775 Introduction to OpenConfig Santiago Álvarez, TME Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1. Find this session in the Cisco Live Mobile App
More informationAutomation with Meraki Provisioning API
DEVNET-2120 Automation with Meraki Provisioning API Courtney M. Batiste, Solutions Architect- Cisco Meraki Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1.
More informationVRF, MPLS and MP-BGP Fundamentals
VRF, MPLS and MP-BGP Fundamentals Jason Gooley, CCIEx2 (RS, SP) #38759 Twitter: @ccie38759 LinkedIn: http://www.linkedin.com/in/jgooley Agenda Introduction to Virtualization VRF-Lite MPLS & BGP Free Core
More informationCisco Network Programmability for the Enterprise NPEN v1.0
Course Overview This course teaches how to automate common Cisco enterprise platforms such as IOS-XE and IOS-XR routers as well as ASA firewalls. This course also includes coverage of the automation capabilities
More informationAPIC-EM / EasyQoS - End to End Orchestration of QoS in Enterprise Networks
APIC-EM / EasyQoS - End to End Orchestration of QoS in Enterprise Networks Saurav Prasad Technical Marketing Engineer CTHNMS-1002 Cisco Spark How Questions? Use Cisco Spark to chat with the speaker after
More informationGet Hands On With DNA Center APIs for Managing Intent
DEVNET-3620 Get Hands On With DNA Center APIs for Managing Intent Adam Radford Distinguished Systems Engineer Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session
More informationCoding Intro to APIs and REST
DEVNET-3607 Coding 1001 - Intro to APIs and REST Matthew DeNapoli DevNet Developer Evangelist Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1. Find this session
More informationPnP Deep Dive Hands-on with APIC-EM and Prime Infrastructure
LTRNMS-2007 PnP Deep Dive Hands-on with APIC-EM and Prime Infrastructure Thomas Gerneth, Julian Mueller,Tobias Huelsdau Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after
More informationNext generation branch with SD-WAN and NFV
Next generation branch with SD-WAN and NFV Kiran Ghodgaonkar, Senior Manager, Enterprise Marketing Mani Ganeson, Senior Product Manager PSOCRS-2004 @ghodgaonkar Cisco Spark How Questions? Use Cisco Spark
More informationDNA Automation Services Offerings
DNA Automation Services Offerings Jamie Owen, Solutions Architect, Cisco Advanced Services Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1. Find this session
More informationAutomation and Programmability using Cisco Open NXOS and DevOps Tools
Automation and Programmability using Cisco Open NXOS and DevOps Tools Jeff Lester Sr. Solutions Integration Architect Matt Tarkington Consulting Engineer Services Cisco Spark How Questions? Use Cisco Spark
More informationNetDevOps for the Network Dude How to get started with API's, Ansible and Python
DEVNET-1002 NetDevOps for the Network Dude How to get started with API's, Ansible and Python François Caen, Systems Engineer - @f_caen Cisco Spark How Questions? Use Cisco Spark to communicate with the
More informationCloudCenter for Developers
DEVNET-1198 CloudCenter for Developers Conor Murphy, Systems Engineer Data Centre Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1. Find this session in the
More informationRouting Underlay and NFV Automation with DNA Center
BRKRST-1888 Routing Underlay and NFV Automation with DNA Center Prakash Rajamani, Director, Product Management Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session
More informationGRE Tunnel with VRF Configuration Example
GRE Tunnel with VRF Configuration Example Document ID: 46252 Contents Introduction Prerequisites Requirements Components Used Conventions Configure Network Diagram Configurations Verify Troubleshoot Caveats
More informationVRF, MPLS and MP-BGP Fundamentals
, MPLS and MP-BGP Fundamentals Jason Gooley, CCIEx2 (RS, SP) #38759 Twitter: @Jason_Gooley LinkedIn: http://www.linkedin.com/in/jgooley Agenda Introduction to Virtualization -Lite MPLS & BGP Free Core
More informationMigrating Applications with CloudCenter
Migrating Applications with CloudCenter Tuan Nguyen, Technical Marketing Engineer, Insieme BU DEVNET-1179 Cisco Spark How Questions? Use Cisco Spark to chat with the speaker after the session 1. Find this
More informationDevOps CICD for VNF a NetOps Approach
DevOps CICD for VNF a NetOps Approach Renato Fichmann Senior Solutions Architect Cisco Advanced Services Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1.
More informationAdvanced CSR Lab with High Availability and Transit VPC
Advanced CSR Lab with High Availability and Transit VPC Fan Yang, Cisco, Engineer, Technical Marketing Nikolai Pitaev, Cisco, Engineer, Technical Marketing LTRVIR-3004 Agenda Slides (30 Min.): CSR 1000V
More informationNetwork Automation and Branch Agility The Network Helps Enable Digital Business. Rajinder Singh Product Sales Specialist June 2016
Network Automation and Branch Agility The Network Helps Enable Digital Business Rajinder Singh Product Sales Specialist June 2016 Agenda WAN Market Drivers Cisco Intelligent WAN (IWAN) Cisco Intelligent
More informationBorderless Networks. Tom Schepers, Director Systems Engineering
Borderless Networks Tom Schepers, Director Systems Engineering Agenda Introducing Enterprise Network Architecture Unified Access Cloud Intelligent Network & Unified Services Enterprise Networks in Action
More informationService Graph Design with Cisco Application Centric Infrastructure
White Paper Service Graph Design with Cisco Application Centric Infrastructure 2017 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public Information. Page 1 of 101 Contents Introduction...
More informationCisco UCS Director and ACI Advanced Deployment Lab
Cisco UCS Director and ACI Advanced Deployment Lab Michael Zimmerman, TME Vishal Mehta, TME Agenda Introduction Cisco UCS Director ACI Integration and Key Concepts Cisco UCS Director Application Container
More informationIntelligent WAN Multiple VRFs Deployment Guide
Cisco Validated design Intelligent WAN Multiple VRFs Deployment Guide September 2017 Table of Contents Table of Contents Deploying the Cisco Intelligent WAN... 1 Deploying the Cisco IWAN Multiple VRFs...
More informationIntelligent WAN Multiple Data Center Deployment Guide
Cisco Validated design Intelligent WAN Multiple Data Center Deployment Guide September 2017 Table of Contents Table of Contents Deploying the Cisco Intelligent WAN... 1 Deployment Details...1 Deploying
More informationDeployment of Cisco IP Mobility Solution on Enterprise Class Teleworker Network
Deployment Guide Deployment of Cisco IP Mobility Solution on Enterprise Class Teleworker Network The Cisco Service Oriented Network Architecture (SONA) framework helps enterprise customers evolve their
More informationCisco Tetration Analytics
Cisco Tetration Analytics Real-time application visibility and policy management using advanced analytics Yogesh Kaushik, Sr. Director Product Management PSOACI-2100 Agenda Market context Introduction:
More informationConfiguring Web Cache Services By Using WCCP
CHAPTER 44 Configuring Web Cache Services By Using WCCP This chapter describes how to configure your Catalyst 3560 switch to redirect traffic to wide-area application engines (such as the Cisco Cache Engine
More informationConfigure MPLS L3VPN service on PE router using REST-API (IOS-XE)
Configure MPLS L3VPN service on PE router using REST-API (IOS-XE) Contents Introduction Prerequisites Configuration Network Diagram Configuration Procedure 1. Retrieve token-id 2. Create VRF 3. Move interface
More informationDeveloping Microsoft Azure Solutions (70-532) Syllabus
Developing Microsoft Azure Solutions (70-532) Syllabus Cloud Computing Introduction What is Cloud Computing Cloud Characteristics Cloud Computing Service Models Deployment Models in Cloud Computing Advantages
More informationEnabling Quality of Service with Cisco SDN. Jon Snyder
Enabling Quality of Service with Cisco SDN Jon Snyder Agenda Introduction SDN: What Do We Mean, and What s the Point? Background Collaboration Applications and the Network SDN and APIC-EM Network Configuration
More informationLayer 4 to Layer 7 Design
Service Graphs and Layer 4 to Layer 7 Services Integration, page 1 Firewall Service Graphs, page 5 Service Node Failover, page 10 Service Graphs with Multiple Consumers and Providers, page 12 Reusing a
More informationSimplify and automate your network with Cisco DNA
Simplify and automate your network with Cisco DNA Mr. Brink Sanders Managing Director, Software and Network Transformation Cisco Asia Pacific and Japan March, 2017 Agenda Software-Defined Networking (SDN)
More informationIWAN APIC-EM Application Cisco Intelligent WAN
IWAN APIC-EM Application Cisco Intelligent WAN René og Per Cisco DK SE s Feb 23 th 2016 AVC MPLS Private Cloud 3G/4G-LTE Virtual Private Cloud Branch WAAS PfR Internet Public Cloud Control, Management,
More informationNext Gen Enterprise Management and Operations with Cisco DNA
Next Gen Enterprise Management and Operations with Cisco DNA Ramit Kanda Director PM, Enterprise Network Transformation Prakash Rajamani Director PM, Enterprise Network Transformation BRKNMS 1601 Cisco
More informationCMX Dashboard Visitor Connect
CHAPTER 11 Cisco CMX Visitor Connect is a guest access solution based on Mobility Services Engine (MSE), Cisco Wireless LAN Controller (WLC) and Lightweight Access points (AP). The CMX Visitor Connect
More informationOptimizing the Usability of YANG Models for Network Automation
ydk.io Optimizing the Usability of YANG Models for Network Automation Craig Hill Distinguished Systems Engineer U.S. Public Sector CTO Office @netwrkr95 CCIE #1628 crhill@cisco.com CHI-NOG Chicago, IL
More informationUse Plug and Play to Deploy New Devices
About Plug and Play, page 1 Prerequisites for Using Plug and Play, page 2 Plug and Play Workflow, page 2 Use the Plug and Play Dashboard to Monitor New Device Deployments, page 4 Create Plug and Play Profiles
More informationPSOACI Tetration Overview. Mike Herbert
Tetration Overview Mike Herbert Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1. Find this session in the Cisco Live Mobile App 2. Click Join the Discussion
More informationCisco VIRL. The Swiss-Army Knife of Network Simulators. Simon Knight, Software Engineer Brian Daugherty, Technical Leader.
Cisco VIRL The Swiss-Army Knife of Network Simulators Simon Knight, Software Engineer Brian Daugherty, Technical Leader DevNet-1172 Agenda What is VIRL? VIRL Components and Architecture VIRL Demonstration
More informationIntuit Application Centric ACI Deployment Case Study
Intuit Application Centric ACI Deployment Case Study Joon Cho, Principal Network Engineer, Intuit Lawrence Zhu, Solutions Architect, Cisco Agenda Introduction Architecture / Principle Design Rollout Key
More informationDevNet Technical Breakout: Introduction to ACI Programming and APIs.
DevNet Technical Breakout: Introduction to ACI Programming and APIs. Michael Cohen Agenda Introduction to ACI ACI Policy ACI APIs REST API Python API L4-7 Scripting Opflex 3 Application Centric Infrastructure
More information2018 Cisco and/or its affiliates. All rights reserved. Cisco Public
Cisco ACI App Center Fabrice Servais, Software Engineer, Data Center Networking, Cisco Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1. Find this session
More informationCisco Cloud Architecture with Microsoft Cloud Platform Peter Lackey Technical Solutions Architect PSOSPG-1002
Cisco Cloud Architecture with Microsoft Cloud Platform Peter Lackey Technical Solutions Architect PSOSPG-1002 Agenda Joint Cisco and Microsoft Integration Efforts Introduction to CCA-MCP What is a Pattern?
More informationCatalyst 9K High Availability Lab
LTRCRS-2090 Catalyst 9K High Availability Lab Minhaj Uddin Technical Marketing Engineering Sai Zeya Technical Marketing Engineering Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker
More informationMulti-Cloud and Application Centric Modeling, Deployment and Management with Cisco CloudCenter (CliQr)
Multi-Cloud and Application Centric Modeling, Deployment and Management with Cisco CloudCenter (CliQr) Jeremy Oakey - Sr. Director, Technical Marketing & Integrations BRKCLD-2008 Agenda Introduction Architecture
More informationEmpower your testing with Cisco Test Automation Solution Featuring pyats & Genie
Empower your testing with Cisco Test Automation Solution Featuring pyats & Genie Siming Yuan, Technical Leader, Engineering, Cisco Jean-Benoit Aubin, Engineer, Software Engineering, Cisco Sedy Yadollahi,
More informationAT&T SD-WAN Network Based service quick start guide
AT&T SD-WAN Network Based service quick start guide After you order your AT&T SD-WAN Network Based service, you can: Create administrator accounts Log in to the SD-WAN orchestrator Configure business policy
More informationCVP Enterprise Cisco SD-WAN Retail Profile (Hybrid WAN, Segmentation, Zone-Based Firewall, Quality of Service, and Centralized Policies)
CVP CVP Enterprise Cisco SD-WAN Retail Profile (Hybrid WAN, Segmentation, Zone-Based Firewall, Quality of Service, and Centralized Policies) 2018 Cisco and/or its affiliates. All rights reserved. This
More informationHighlight. Central AP Management with High Scalability
WMS-608N/C Wireless LAN Controller with Built-in AAA Radius Based User Access Control, Support 512 AP and 5000 User License (5 Giga Ethernet Switch Ports) PheeNet WMS-608N/C utilizes New Generation Technology
More informationCustomer s journey into the private cloud with Cisco Enterprise Cloud Suite
Customer s journey into the private cloud with Cisco Enterprise Cloud Suite Peter Charpentier, Senior Solution Architect, Cisco AS Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker
More informationServiceability of SD-WAN
BRKCRS-2112 Serviceability of SD-WAN Chandrabalaji Rajaram & Ali Shaikh Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1. Find this session in the Cisco Live
More informationManaging Site-to-Site VPNs
CHAPTER 21 A virtual private network (VPN) consists of multiple remote peers transmitting private data securely to one another over an unsecured network, such as the Internet. Site-to-site VPNs use tunnels
More informationDeploying Devices. Cisco Prime Infrastructure 3.1. Job Aid
Deploying Devices Cisco Prime Infrastructure 3.1 Job Aid Copyright Page THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT TO CHANGE WITHOUT NOTICE. ALL STATEMENTS, INFORMATION,
More informationCCNA. Murlisona App. Hiralal Lane, Ravivar Karanja, Near Pethe High-School, ,
CCNA Cisco Certified Network Associate (200-125) Exam DescrIPtion: The Cisco Certified Network Associate (CCNA) Routing and Switching composite exam (200-125) is a 90-minute, 50 60 question assessment
More informationPolicing The Borderless Network: Integrating Web Security
Policing The Borderless Network: Integrating Web Security Hrvoje Dogan Consulting Systems Engineer, Security March 16, 2012 2011 Cisco and/or its affiliates. All rights reserved. Cisco Public 1 About Cisco
More informationDesigning and Implementing Cisco Network Programmability (NPDESI) v1.0
Data Sheet Learning Services Designing and Implementing Cisco Network Programmability (NPDESI) v1.0 Overview The Designing and Implementing Cisco Network Programmability (NPDESI) version 1.0 Cisco Training
More informationCisco Hosted Collaboration Solution (HCS) and Cisco Collaboration Cloud
Cisco Hosted Collaboration Solution (HCS) and Cisco Collaboration Cloud Tony Reyes Technical Solutions Architect Chuck Millet - Technical Solutions Architect PSOCOL-1020 Agenda Cisco Hosted Collaboration
More informationIPv6 Tunnel through an IPv4 Network
IPv6 Tunnel through an IPv4 Network Document ID: 25156 Contents Introduction Prerequisites Requirements Components Used Conventions Configure Network Diagram Configurations (Manual IPv6 Mode) Configurations
More informationConsuming Model-Driven Telemetry
Consuming Model-Driven Telemetry Cristina Precup & Stefan Braicu Software Systems Engineers Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1. Find this session
More informationDeploying Cloud Network Services Prime Network Services Controller (formerly VNMC)
Deploying Cloud Network Services Prime Network Services Controller (formerly VNMC) Dedi Shindler - Sr. Manager Product Management Cloud System Management Technology Group Cisco Agenda Trends Influencing
More informationNSO in Brownfield: Fully Automated One-Click Reconciliation
BRKNMS-2530 NSO in Brownfield: Fully Automated One-Click Reconciliation Fatih Ayvaz, Solutions Architect Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1.
More informationManaging Site-to-Site VPNs: The Basics
CHAPTER 23 A virtual private network (VPN) consists of multiple remote peers transmitting private data securely to one another over an unsecured network, such as the Internet. Site-to-site VPNs use tunnels
More informationIntroducing Cisco Cloud Administration CLDADM v1.0; 5 Days; Instructor-led
Introducing Cisco Cloud Administration CLDADM v1.0; 5 Days; Instructor-led Course Description Introducing Cisco Cloud Administration (CLDADM) is a new 5-day ILT course designed to help students prepare
More informationDMVPN for R&S CCIE Candidates Johnny Bass CCIE #6458
DMVPN for R&S CCIE Candidates Johnny Bass CCIE #6458 BRKCCIE-3003 @CCIE6458 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public About the Presenter Johnny Bass Networking industry since
More informationCisco APIC-EM Components and Architecture, page 3. About the Cisco Application Policy Infrastructure Controller Enterprise Module (APIC-EM), page 1
About the Cisco Application Policy Infrastructure Controller Enterprise Module (APIC-EM), page 1 Cisco APIC-EM Components and Architecture, page 3 About the Cisco Application Policy Infrastructure Controller
More informationIntelligent WAN Sumanth Kakaraparthi Principal Product Manager PSOCRS-2010
Intelligent WAN Sumanth Kakaraparthi Principal Product Manager PSOCRS-2010 Agenda Challenges Architectures Cisco IWAN Proof Points Challenges Application landscape is changing Applications Are Moving to
More informationConfiguring Cache Services Using the Web Cache Communication Protocol
Configuring Cache Services Using the Web Cache Communication Protocol Finding Feature Information, page 1 Prerequisites for WCCP, page 1 Restrictions for WCCP, page 2 Information About WCCP, page 3 How
More informationCisco SD-WAN (Viptela) Migration, QoS and Advanced Policies Hands-on Lab
Cisco SD-WAN (Viptela) Migration, QoS and Advanced Policies Hands-on Lab Ali Shaikh Technical Leader Faraz Shamim Sr. Technical Leader Mossaddaq Turabi Distinguished ENgineer Cisco Spark How Questions?
More informationResilient WAN and Security for Distributed Networks with Cisco Meraki MX
Resilient WAN and Security for Distributed Networks with Cisco Meraki MX Daghan Altas, Director of Product Management BRKSEC-2900 Agenda Problem Cisco CNG Live network creation demo (45m) Product Brief
More informationConfiguring Virtual Private LAN Services
Virtual Private LAN Services (VPLS) enables enterprises to link together their Ethernet-based LANs from multiple sites via the infrastructure provided by their service provider. This module explains VPLS
More informationDeveloping Microsoft Azure Solutions (70-532) Syllabus
Developing Microsoft Azure Solutions (70-532) Syllabus Cloud Computing Introduction What is Cloud Computing Cloud Characteristics Cloud Computing Service Models Deployment Models in Cloud Computing Advantages
More informationVeč kot SDN - SDA arhitektura v uporabniških omrežjih
Več kot SDN - SDA arhitektura v uporabniških omrežjih Aleksander Kocelj SE Cisco Agenda - Introduction to Software Defined Access - Brief description on SDA - Cisco SDA Assurance - DEMO 2 New Requirements
More informationManaging Site-to-Site VPNs: The Basics
CHAPTER 21 A virtual private network (VPN) consists of multiple remote peers transmitting private data securely to one another over an unsecured network, such as the Internet. Site-to-site VPNs use tunnels
More informationEnterprise Recording and Live Streaming Architecture with VBrick
Enterprise Recording and Live Streaming Architecture with VBrick Terry French Technical Manager - International - VBrick Systems Inc BRKCOL-2111 Agenda Enterprise Video Overview VBrick Core Components
More informationNext Generation Mobile Collaboration
Next Generation Mobile Collaboration PSOUCC-2777 Chris Wiborg Director, Cisco Collaboration Portfolio Marketing @cwiborg Agenda Why Mobile Collaboration Matters Shifting User Expectations Delivering Value
More informationCisco Certified Network Associate ( )
Cisco Certified Network Associate (200-125) Exam Description: The Cisco Certified Network Associate (CCNA) Routing and Switching composite exam (200-125) is a 90-minute, 50 60 question assessment that
More informationBasic Router Configuration
This section includes information about some basic router configuration, and contains the following sections: Default Configuration, on page 1 Configuring Global Parameters, on page 2 Configuring Gigabit
More informationGit, Atom, virtualenv, oh my! Learn about dev tools to live by!
BRKDEV-2633 Git, Atom, virtualenv, oh my! Learn about dev tools to live by! Ashley Roach, Principal Engineer Evangelist Agenda Introduction Why are developer tools useful? What s in the toolbelt? Tool
More informationThe Now Platform Reference Guide
The Now Platform Reference Guide A tour of key features and functionality START Introducing the Now Platform Digitize your business with intelligent apps The Now Platform is an application Platform-as-a-Service
More informationThe Transformation of Media & Broadcast Video Production to a Professional Media Network
The Transformation of Media & Broadcast Video Production to a Professional Media Network Subha Dhesikan, Principal Engineer Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after
More informationSimplifying Collaboration Deployments with Prime Collaboration
Simplifying Collaboration Deployments with Prime Collaboration Jose Gregorio Linero Welcker, Technical Solutions Architect Latam MCO CCIE Collaboration # 24857 Cisco Spark How Questions? Use Cisco Spark
More informationCisco Virtual Networking Solution for OpenStack
Data Sheet Cisco Virtual Networking Solution for OpenStack Product Overview Extend enterprise-class networking features to OpenStack cloud environments. A reliable virtual network infrastructure that provides
More informationFlow-Based Redirect. Finding Feature Information
The traffic from an IP session is redirected based on the destination address (for a simple IP session), and to a tunnel (for a mobile IP session). However, in some application scenarios, some of the traffic
More informationDistributed Branch Deployment Costs
Branch Deployment Automation with Prime Infrastructure and APIC-EM Prakash Rajamani, Manager, Product Management Bipin Kapoor, Manager, Technical Marketing PSONMS-2003 Distributed Branch Deployment Costs
More informationSupported Platforms for Cisco Path Trace, Release x. This document describes the supported platforms for the Cisco Path Trace, Release x.
Cisco Path Trace Application for APIC-EM Supported Platforms, Release 1.5.0.x First Published: 2017-06-23, Release 1.5.0.x This document describes the supported platforms for the Cisco Path Trace, Release
More informationHands On Exploration of NETCONF and YANG
Hands On Exploration of NETCONF and YANG Bryan Byrne, CCIE 25607 (R/S) Technical Solutions Architect Enterprise Networks @bryan25607 Agenda Introduction Module 1 YANG Data Modeling Module 2 Introduction
More informationIntroduction to Cisco IoT Tools for Developers IoT 101
Introduction to Cisco IoT Tools for Developers IoT 101 Mike Maas, Technical Evangelist, IoT, DevNet Angela Yu, Technical Leader DEVNET-1068 Agenda The Cisco IoT System Distributing IoT Applications Developer
More informationCCNA Routing and Switching Study Guide Chapters 7 & 21: Wide Area Networks
CCNA Routing and Switching Study Guide Chapters 7 & 21: Wide Area Networks Instructor & Todd Lammle Chapter 21 objectives The ICND2 topics covered in this chapter include: 2 Chapter 21 objectives (con
More informationFlow-Based Redirect. Finding Feature Information
The traffic from an IP session is redirected based on the destination address (for a simple IP session), and to a tunnel (for a mobile IP session). However, in some application scenarios, some of the traffic
More informationPradeep Kathail Chief Software Architect Network Operating Systems Technology Group, Cisco Systems Inc.
Pradeep Kathail Chief Software Architect Network Operating Systems Technology Group, Cisco Systems Inc. March 4 th, 2014 2012 2010 Cisco and/or its affiliates. All rights reserved. 1 2012 Cisco and/or
More information"Charting the Course... Interconnecting Cisco Networking Devices Accelerated 3.0 (CCNAX) Course Summary
Description Course Summary The Cisco CCNA curriculum includes a third course, Interconnecting Cisco Networking Devices: Accelerated (CCNAX), consisting of Interconnecting Cisco Networking Devices, Part
More informationCisco Configuration Engine 2.0
Cisco Configuration Engine 2.0 The Cisco Configuration Engine provides a unified, secure solution for automating the deployment of Cisco customer premises equipment (CPE). This scalable product distributes
More informationInsights into your WLC with Wireless Streaming Telemetry
Insights into your WLC with Wireless Streaming Telemetry Jeremy Cohoe Technical Marketing Engineer Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1. Find this
More informationMPLS VPN Carrier Supporting Carrier IPv4 BGP Label Distribution
MPLS VPN Carrier Supporting Carrier IPv4 BGP Label Distribution This feature enables you to configure your carrier supporting carrier network to enable Border Gateway Protocol (BGP) to transport routes
More informationCCNA Routing and Switching (NI )
CCNA Routing and Switching (NI400+401) 150 Hours ` Outline The Cisco Certified Network Associate (CCNA) Routing and Switching composite exam (200-125) is a 90-minute, 50 60 question assessment that is
More informationHands-On with IoT Standards & Protocols
DEVNET-3623 Hands-On with IoT Standards & Protocols Casey Bleeker, Developer Evangelist @geekbleek Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1. Find this
More informationExpressway for Mobile and Remote Access Deployments, page 1 Cisco AnyConnect Deployments, page 9 Survivable Remote Site Telephony, page 17
Expressway for Mobile and Deployments, page 1 Cisco AnyConnect Deployments, page 9 Survivable Remote Site Telephony, page 17 Expressway for Mobile and Deployments Expressway for Mobile and for Cisco Unified
More informationFinesse APIs: Getting started with the REST APIs and XMPP events
Finesse APIs: Getting started with the REST APIs and XMPP events Denise Kwan, Software Engineer @ DevNet Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1.
More information