SlideShare una empresa de Scribd logo
1 de 39
Copyright © 2018 World Wide Technology, Inc. All rights reserved.
Super-NetOps Source of Truth
August 2018
Joel W. King Engineering and Innovations
Network Solutions
Goal
Links and Bio
Slides and demo playbooks are available at
github.com/joelwking/supernetops
www.linkedin.com/in/programmablenetworks/
Joined WWT: August 2013 based in Research Triangle Park, NC
Prior Work History
AMP Incorporated, Network Architect
Cisco, Developed Cisco Validated Designs (CVDs)
NetApp, Big Data: Video Surveillance Storage
Education
BBA Temple University
CCIE 1846 (ret.)
FUN FACT
Inducted to the Phantom Cyber Hall of Fame
Agenda
• Goals and Overview
Deliver value to your customers
• Inventory
Identify your assets
• Source(s) of Truth
Configuration inputs come from many sources
• Demonstration
Update firewall ACLs to support LTM VIPs
Goals and Overview
Traditional Flow of Work
CLI
NETWORK
ENGINEER
TICKETING
SYSTEM
RUN BOOK
SERVICE LEVEL AGREEMENT
PROCESS TIME
RUN BOOK
SERVICE LEVEL AGREEMENT
PROCESS TIME
SERVICE LEVEL AGREEMENT
PROCESS TIME
SERVICE LEVEL AGREEMENT
PROCESS TIME
REQUEST
COMPLETE
GUI
WAIT
TIME
WAIT
TIME
WAIT
TIME
WAIT
TIME
A
P
P
R
O
V
A
L
S
Super-NetOps Flow of Work
F5
ADC & SECURITY
No SQL
Nexus 9000
ACI
VARIABLE(S)
YAML , CSV
PLAYBOOKS
ACI
IPAM
Source Control
System
ASA
PALO ALTO
CHECKPOINT
NETWORK
CONFIGURATION DATA
Inventory
TICKETING
SYSTEM
CHATOPS
INFRASTRUCTURE
Source of Truth
http://blog.ipspace.net/2017/01/device-configurations-are-not-good.html
• One source of truth for configuration data
 IPAM data for hostnames, IP addressing
• Data should be programmatically consumable
 Application Program Interface (API)
 URL (Git Repo)
• Device configuration generated from templates
 Jinja Templating
• Global configurations
 Version controlled YAML file or simple object-oriented database
• ChatOps to capture organizational knowledge
• Automate change verification, metrics, back out plan
Goals and Overview: Structured Data
Journey
TRIBAL KNOWLEDGE
CSV EXCEL
STRUCTURED
DATA
YAML, JSON, XML
IPAM
SERVICENOW
BMC REMEDY
OPEN SOURCE
NSOT NETBOX
RELATIONAL DB
NOSQL DB
CHATOPS
VERSION
CONTROL
SYSTEM
Unstructured Data
CLI is not Structured Data
http://alsa21.blogas.lt/tag/data-center-solution
ASA-5585-99543# show run
: Saved
:
: Serial Number: JAD1742009H
: Hardware: ASA5585-SSP-60, 24576 MB RAM, CPU Xeon 5600 series 2400
MHz, 2 CPUs (24 cores)
:
ASA Version 9.2(4)14
!
hostname ASA-5585-99543
domain-name sandbox.wwtatc.local
!
interface TenGigabitEthernet0/9
shutdown
no nameif
no security-level
no ip address
!
ftp mode passive
dns server-group DefaultDNS
domain-name sandbox.wwtatc.local
pager lines 24
Data Serialization Formats
Pass Structured Data between Sources and Sinks
JSON
Java-Script Object Notation
XML
eXtensible Markup Language
YAML
YAML Ain't Markup Language
{ "imdata":
{
"firewall":
{"group": "rtp_wan_edge",
"acl_name": "INBOUND“
},
"tags": [ "white", "roan", "flint"]
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<imdata>
<firewall>
<group>rtp_wan_edge</group>
<acl_name>INBOUND</acl_name>
</firewall>
<tags>white</tags>
<tags>roan</tags>
<tags>flint</tags>
</imdata>
imdata:
firewall:
group: rtp_wan_edge
acl_name: INBOUND
tags:
- white
- roan
- flint
Data Modeling
Data modeling is the process of documenting a complex software system design as an easily understood
diagram, using text and symbols to represent the way data needs to flow…
A data model can be thought of as a flowchart that illustrates the relationships between data.
Super-NetOps Engineer
Inventory
Inventory
If you can’t measure it, you can’t manage it.
Peter Drucker
management consultant, educator, and author
Many companies struggle to obtain an
accurate inventory of devices in the network.
Sources of Inventory
DISCOVERY
MANUAL
admin@flint:~$
NMAP
admin@flint:~$
AWS EC2
VMWARE_FACTS
DISCOVERY
ENRICHMENT
admin@flint:~$
query by
serial no.
CISCO TETRATION
admin@flint:~$
Service Now - Inventory source
github.com/ServiceNowITOM/ansible-sn-inventory
“Discovery finds computers, servers, printers, and a variety of IP-enabled devices, and the
applications that run on them. It can then update the CIs in your CMDB with the data it
collects.”
administrator@flint:~/ansible/playbooks$ ansible-playbook debug.yml -i ./inventory/now/now.py --list-hosts
playbook: debug.yml
play #1 (all): debug TAGS: []
pattern: [u'all']
hosts (6):
f5-demo-test1.sandbox.wwtatc.local
f5-egg-prod1.sandbox.wwtatc.local
f5-egg-qa2.sandbox.wwtatc.local
f5-demo-test2.sandbox.wwtatc.local
f5-egg-prod2.sandbox.wwtatc.local
f5-egg-qa1.sandbox.wwtatc.local
table = 'cmdb_ci_server‘
table = 'cmdb_ci_ip_router'
table = 'cmdb_ci_datacenter'
table = 'cmdb_ci_lb'
FOR YOUR REFERENCE
Sources of Truth: IP Address Management (IPAM)
• One source of truth for configuration data
 IPAM data for hostnames, IP addressing
• … but what about Ephemeral environments?
 COT (the Common OVF Tool) is a tool for editing OVA/OVF
https://cot.readthedocs.io/en/latest/introduction.html
BIG-IP version 13.1+ Static MGMT IP addresses
 Ansible module vsphere_guest doesn’t return
DHCP IP addresses
 Use vmware_vm_facts
IP Address Management (IPAM)
www.ansible.com/f5
IP address of a virtual edition BIG-IP
vars:
target: 'f5-demo-test1.sandbox.wwtatc.local'
tasks:
- name: Query vCenter for management IP address
vmware_vm_facts:
hostname: "{{ vcenter.server }}"
username: "{{ vcenter.username }}"
password: "{{ vcenter.password }}"
validate_certs: no
register: vm_facts
- debug:
msg: "{{ target }} {{ vm_facts.virtual_machines[target] | to_nice_json(indent=4) }}"
when: vm_facts.virtual_machines[target] is defined
- assert:
msg: "Invalid or no IP address"
that: vm_facts.virtual_machines[target].ip_address | ipaddr
TASK [debug] *****************
ok: [localhost] => {}
MSG:
f5-demo-test1.sandbox.wwtatc.local {
"esxi_hostname": "10.255.40.137",
"guest_fullname": "Other (64-bit)",
"ip_address": "10.255.111.171",
"mac_address": [
"00:50:56:af:94:b4",
"00:50:56:af:5c:06",
"00:50:56:af:ce:56",
"00:50:56:af:f1:10"
],
"power_state": "poweredOn",
"uuid": "422ffb59-42cd-859f-4930-91b46e3a6134",
"vm_network": {}
}
FOR YOUR REFERENCE
vmware_vm_facts return DHCP IP address of F5 VE BIG-IP
Update inventory with DHCP assigned IP addrs
https://docs.ansible.com/ansible/latest/modules/add_host_module.html
Use variables to create new hosts and groups in inventory for use in later plays of the
same playbook.
PLAY 1
PLAY 2
Sources of Truth: Database
Technology Comparison
Relational Databases
Data stored in tables
NoSQL Databases
Data stored in collections
of independent objects
Use SQL, Structured Query Language,
English like, easy to create queries
Strong Consistency
Common usage means easy
integration with enterprise systems
Flexible: dynamic schema, fields can be added
to documents
Scalable and high performance
Always-on for global deployments
MySQL
MariaDB
PostgreSQL
Amazon DynamoDB
Redis
Apache CouchDB
Under the covers
PostgreSQL as its database. This remote PostgreSQL can be a
server you manage, or can be provided by a cloud service
such as Amazon RDS.
ServiceNow has also moved from MySQL to MariaDB when
opting for new instances/ Helsinki Release.
MongoDB Compass and shell
FOR YOUR REFERENCE
Sources of Truth: Demo
Firewall Changes to support F5 VIP(s)
MID server
MongoDB
1
2
3
4
7
Retrieve configuration data from MongoDB
Apply firewall changes
Retrieve running configuration
Create documentation of the change
request and running configuration
5
6Store the updated
configuration artifacts
Update ticket with database ObjectId
Initiate playbook passing ObjectId, of database and collection
of configuration data
playbook
Requirements for Configuration Management
RFC 3139
… provide expiration time and effective time capabilities to
configuration data. It is required that some configuration
data items be set to expire, and other items be set to never expire …
BIGIPS SUPPORTING VIPS
SUPPORTING FIREWALL(S)
WHEN DOES IT EXPIRE?
CHANGE WINDOW TO IMPLEMENT
Service Delivery
CHANGE REQUESTAUDITDATA
PROCESS
INFRASTRUCTURE
Super-NetOps is the practice of
delivering network-based services as
programmable infrastructure to support
DevOps practices and methodologies.
Audit Database
 Compare
configuration
change(s) across all
firewalls in the group,
for a given change
request
 Walk configuration
changes for each
firewall over time
Reporting from an Audit Database
ServiceNowFirewall ACLs | VIPS
https://www2.wwt.com/all-blog/super-netops-source-truth/
Key-takeaways
 View IT operations as a flow of data (Sources of
Truth) thru work-cells (automation processes) to
deliver value to the customer.
 There should be only one source of truth for every
piece of configuration data.
 Device configurations are poor source of truth.
Slides and demo playbooks are available at github.com/joelwking/supernetops
Reference Material
Service Now as Inventory Source
'cmdb_ci_lb’ DYNAMIC
INVENTORY
f5_drift.yml
when: item.version != desired_version
https://github.com/joelwking/supernetops/blob/master/Agility2018/playbooks/f5_drift.yml
Firewall Groups
Managed independently from the service request
INBOUND
INBOUND
"firewall": {
"group": "rtp_wan_edge",
"acl_name": "INBOUND"}
rtp_wan_edgertp_wan_edge:
hosts:
csr1000v-1.sandbox.wwtatc.local: {}
csr1000v-2.sandbox.wwtatc.local: {}
inventory.yml
FOR YOUR REFERENCE
Resources
 Toyota Production System
http://missiontps.blogspot.com/p/14-principles.html
https://www.slideshare.net/akshayjain186590/opc-tps
 From Zero to Network Programmability in 120 minutes (CiscoLive 2018 BRKNMS-2935)
https://clnv.s3.amazonaws.com/2018/usa/pdf/BRKNMS-2935.pdf
 Introduction to NoSQL
https://resources.mongodb.com/getting-started-with-mongodb/back-to-basics-1-introduction-to-nosql
 PyMongo Tutorial
http://api.mongodb.com/python/current/tutorial.html
 REQUIREMENTS FOR CONFIGURATION MANAGEMENT OF IP-BASED NETWORKS
HTTPS://TOOLS.IETF.ORG/HTML/RFC3139
SEE 3.0.9 – SET EXPIRATION DATE FOR CONFIGURATION ELEMENTS
https://www2.wwt.com/all-blog/devnet-create-2018/

Más contenido relacionado

La actualidad más candente

Introduction to Hyper-V
Introduction to Hyper-VIntroduction to Hyper-V
Introduction to Hyper-VMark Wilson
 
DevConf 2014 Kernel Networking Walkthrough
DevConf 2014   Kernel Networking WalkthroughDevConf 2014   Kernel Networking Walkthrough
DevConf 2014 Kernel Networking WalkthroughThomas Graf
 
Distributed vnf management architecture and use-cases
Distributed vnf management  architecture and use-casesDistributed vnf management  architecture and use-cases
Distributed vnf management architecture and use-casesOPNFV
 
Akraino and Edge Computing
Akraino and Edge ComputingAkraino and Edge Computing
Akraino and Edge ComputingLiz Warner
 
SIP Testing with FreeSWITCH
SIP Testing with FreeSWITCHSIP Testing with FreeSWITCH
SIP Testing with FreeSWITCHMoises Silva
 
Vxlan deep dive session rev0.5 final
Vxlan deep dive session rev0.5   finalVxlan deep dive session rev0.5   final
Vxlan deep dive session rev0.5 finalKwonSun Bae
 
Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Novell
 
VXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building BlocksVXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building BlocksAPNIC
 
Cisco Live Brksec 3032 - NGFW Clustering
Cisco Live Brksec 3032 - NGFW ClusteringCisco Live Brksec 3032 - NGFW Clustering
Cisco Live Brksec 3032 - NGFW Clusteringib_cims
 
Introduction to FreeSWITCH
Introduction to FreeSWITCHIntroduction to FreeSWITCH
Introduction to FreeSWITCHChien Cheng Wu
 
Using Terraform to manage the configuration of a Cisco ACI fabric.
Using Terraform to manage the configuration of a Cisco ACI fabric.Using Terraform to manage the configuration of a Cisco ACI fabric.
Using Terraform to manage the configuration of a Cisco ACI fabric.Joel W. King
 
FreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8sFreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8sChien Cheng Wu
 
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking ShapeBlue
 
vSAN Beyond The Basics
vSAN Beyond The BasicsvSAN Beyond The Basics
vSAN Beyond The BasicsSumit Lahiri
 
OpenStack Architecture and Use Cases
OpenStack Architecture and Use CasesOpenStack Architecture and Use Cases
OpenStack Architecture and Use CasesJalal Mostafa
 
[KubeCon EU 2022] Running containerd and k3s on macOS
[KubeCon EU 2022] Running containerd and k3s on macOS[KubeCon EU 2022] Running containerd and k3s on macOS
[KubeCon EU 2022] Running containerd and k3s on macOSAkihiro Suda
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installationRobert Bohne
 

La actualidad más candente (20)

Introduction to Hyper-V
Introduction to Hyper-VIntroduction to Hyper-V
Introduction to Hyper-V
 
DevConf 2014 Kernel Networking Walkthrough
DevConf 2014   Kernel Networking WalkthroughDevConf 2014   Kernel Networking Walkthrough
DevConf 2014 Kernel Networking Walkthrough
 
Distributed vnf management architecture and use-cases
Distributed vnf management  architecture and use-casesDistributed vnf management  architecture and use-cases
Distributed vnf management architecture and use-cases
 
Akraino and Edge Computing
Akraino and Edge ComputingAkraino and Edge Computing
Akraino and Edge Computing
 
SIP Testing with FreeSWITCH
SIP Testing with FreeSWITCHSIP Testing with FreeSWITCH
SIP Testing with FreeSWITCH
 
Vxlan deep dive session rev0.5 final
Vxlan deep dive session rev0.5   finalVxlan deep dive session rev0.5   final
Vxlan deep dive session rev0.5 final
 
Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)
 
VXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building BlocksVXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building Blocks
 
Deploying IPv6 on OpenStack
Deploying IPv6 on OpenStackDeploying IPv6 on OpenStack
Deploying IPv6 on OpenStack
 
Cisco Live Brksec 3032 - NGFW Clustering
Cisco Live Brksec 3032 - NGFW ClusteringCisco Live Brksec 3032 - NGFW Clustering
Cisco Live Brksec 3032 - NGFW Clustering
 
Introduction to FreeSWITCH
Introduction to FreeSWITCHIntroduction to FreeSWITCH
Introduction to FreeSWITCH
 
Embedded Hypervisor for ARM
Embedded Hypervisor for ARMEmbedded Hypervisor for ARM
Embedded Hypervisor for ARM
 
Using Terraform to manage the configuration of a Cisco ACI fabric.
Using Terraform to manage the configuration of a Cisco ACI fabric.Using Terraform to manage the configuration of a Cisco ACI fabric.
Using Terraform to manage the configuration of a Cisco ACI fabric.
 
FreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8sFreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8s
 
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
 
NETCONF YANG tutorial
NETCONF YANG tutorialNETCONF YANG tutorial
NETCONF YANG tutorial
 
vSAN Beyond The Basics
vSAN Beyond The BasicsvSAN Beyond The Basics
vSAN Beyond The Basics
 
OpenStack Architecture and Use Cases
OpenStack Architecture and Use CasesOpenStack Architecture and Use Cases
OpenStack Architecture and Use Cases
 
[KubeCon EU 2022] Running containerd and k3s on macOS
[KubeCon EU 2022] Running containerd and k3s on macOS[KubeCon EU 2022] Running containerd and k3s on macOS
[KubeCon EU 2022] Running containerd and k3s on macOS
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
 

Similar a Super-NetOps Source of Truth

Super-NetOps Source of Truth
Super-NetOps Source of TruthSuper-NetOps Source of Truth
Super-NetOps Source of TruthJoel W. King
 
F5 Meetup presentation automation 2017
F5 Meetup presentation automation 2017F5 Meetup presentation automation 2017
F5 Meetup presentation automation 2017Guy Brown
 
Neo4j Vision and Roadmap
Neo4j Vision and Roadmap Neo4j Vision and Roadmap
Neo4j Vision and Roadmap Neo4j
 
Integrating Ansible Tower with security orchestration and cloud management
Integrating Ansible Tower with security orchestration and cloud managementIntegrating Ansible Tower with security orchestration and cloud management
Integrating Ansible Tower with security orchestration and cloud managementJoel W. King
 
Monitoring CloudStack and components
Monitoring CloudStack and componentsMonitoring CloudStack and components
Monitoring CloudStack and componentsShapeBlue
 
Enterprise guide to building a Data Mesh
Enterprise guide to building a Data MeshEnterprise guide to building a Data Mesh
Enterprise guide to building a Data MeshSion Smith
 
Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Timothy Spann
 
Simplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring CloudSimplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring CloudRamnivas Laddad
 
iguazio - nuclio Meetup Nov 30th
iguazio - nuclio Meetup Nov 30thiguazio - nuclio Meetup Nov 30th
iguazio - nuclio Meetup Nov 30thiguazio
 
Cloud State of the Union for Java Developers
Cloud State of the Union for Java DevelopersCloud State of the Union for Java Developers
Cloud State of the Union for Java DevelopersBurr Sutter
 
TechEd NZ 2014: Azure and Sharepoint
TechEd NZ 2014: Azure and SharepointTechEd NZ 2014: Azure and Sharepoint
TechEd NZ 2014: Azure and SharepointIntergen
 
Mastering the move
Mastering the moveMastering the move
Mastering the moveTrivadis
 
Nagios Conference 2013 - Fernando Hönig - Distributed Monitoring and Cloud Sc...
Nagios Conference 2013 - Fernando Hönig - Distributed Monitoring and Cloud Sc...Nagios Conference 2013 - Fernando Hönig - Distributed Monitoring and Cloud Sc...
Nagios Conference 2013 - Fernando Hönig - Distributed Monitoring and Cloud Sc...Nagios
 
DEVNET-1140 InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...
DEVNET-1140	InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...DEVNET-1140	InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...
DEVNET-1140 InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...Cisco DevNet
 
WebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesWebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesChris Bailey
 
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~Brocade
 
Next Generation Address Management with VitalQIP - Alcatel-Lucent and Perficient
Next Generation Address Management with VitalQIP - Alcatel-Lucent and PerficientNext Generation Address Management with VitalQIP - Alcatel-Lucent and Perficient
Next Generation Address Management with VitalQIP - Alcatel-Lucent and PerficientPerficient, Inc.
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop OverviewShubhra Kar
 
Automatically scaling your Kubernetes workloads - SVC210-S - Santa Clara AWS ...
Automatically scaling your Kubernetes workloads - SVC210-S - Santa Clara AWS ...Automatically scaling your Kubernetes workloads - SVC210-S - Santa Clara AWS ...
Automatically scaling your Kubernetes workloads - SVC210-S - Santa Clara AWS ...Amazon Web Services
 
World Wide Technology | Red Hat Ansible for Networking Workshop
World Wide Technology | Red Hat Ansible for Networking WorkshopWorld Wide Technology | Red Hat Ansible for Networking Workshop
World Wide Technology | Red Hat Ansible for Networking WorkshopJoel W. King
 

Similar a Super-NetOps Source of Truth (20)

Super-NetOps Source of Truth
Super-NetOps Source of TruthSuper-NetOps Source of Truth
Super-NetOps Source of Truth
 
F5 Meetup presentation automation 2017
F5 Meetup presentation automation 2017F5 Meetup presentation automation 2017
F5 Meetup presentation automation 2017
 
Neo4j Vision and Roadmap
Neo4j Vision and Roadmap Neo4j Vision and Roadmap
Neo4j Vision and Roadmap
 
Integrating Ansible Tower with security orchestration and cloud management
Integrating Ansible Tower with security orchestration and cloud managementIntegrating Ansible Tower with security orchestration and cloud management
Integrating Ansible Tower with security orchestration and cloud management
 
Monitoring CloudStack and components
Monitoring CloudStack and componentsMonitoring CloudStack and components
Monitoring CloudStack and components
 
Enterprise guide to building a Data Mesh
Enterprise guide to building a Data MeshEnterprise guide to building a Data Mesh
Enterprise guide to building a Data Mesh
 
Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4
 
Simplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring CloudSimplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring Cloud
 
iguazio - nuclio Meetup Nov 30th
iguazio - nuclio Meetup Nov 30thiguazio - nuclio Meetup Nov 30th
iguazio - nuclio Meetup Nov 30th
 
Cloud State of the Union for Java Developers
Cloud State of the Union for Java DevelopersCloud State of the Union for Java Developers
Cloud State of the Union for Java Developers
 
TechEd NZ 2014: Azure and Sharepoint
TechEd NZ 2014: Azure and SharepointTechEd NZ 2014: Azure and Sharepoint
TechEd NZ 2014: Azure and Sharepoint
 
Mastering the move
Mastering the moveMastering the move
Mastering the move
 
Nagios Conference 2013 - Fernando Hönig - Distributed Monitoring and Cloud Sc...
Nagios Conference 2013 - Fernando Hönig - Distributed Monitoring and Cloud Sc...Nagios Conference 2013 - Fernando Hönig - Distributed Monitoring and Cloud Sc...
Nagios Conference 2013 - Fernando Hönig - Distributed Monitoring and Cloud Sc...
 
DEVNET-1140 InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...
DEVNET-1140	InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...DEVNET-1140	InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...
DEVNET-1140 InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...
 
WebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesWebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination Features
 
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
 
Next Generation Address Management with VitalQIP - Alcatel-Lucent and Perficient
Next Generation Address Management with VitalQIP - Alcatel-Lucent and PerficientNext Generation Address Management with VitalQIP - Alcatel-Lucent and Perficient
Next Generation Address Management with VitalQIP - Alcatel-Lucent and Perficient
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 
Automatically scaling your Kubernetes workloads - SVC210-S - Santa Clara AWS ...
Automatically scaling your Kubernetes workloads - SVC210-S - Santa Clara AWS ...Automatically scaling your Kubernetes workloads - SVC210-S - Santa Clara AWS ...
Automatically scaling your Kubernetes workloads - SVC210-S - Santa Clara AWS ...
 
World Wide Technology | Red Hat Ansible for Networking Workshop
World Wide Technology | Red Hat Ansible for Networking WorkshopWorld Wide Technology | Red Hat Ansible for Networking Workshop
World Wide Technology | Red Hat Ansible for Networking Workshop
 

Más de Joel W. King

DevNetCreate_2021_joelwking.pptx
DevNetCreate_2021_joelwking.pptxDevNetCreate_2021_joelwking.pptx
DevNetCreate_2021_joelwking.pptxJoel W. King
 
BRKEVT-2311_joeking_pbr.pptx
BRKEVT-2311_joeking_pbr.pptxBRKEVT-2311_joeking_pbr.pptx
BRKEVT-2311_joeking_pbr.pptxJoel W. King
 
Introduction to GraphQL using Nautobot and Arista cEOS
Introduction to GraphQL using Nautobot and Arista cEOSIntroduction to GraphQL using Nautobot and Arista cEOS
Introduction to GraphQL using Nautobot and Arista cEOSJoel W. King
 
NetDevOps Development Environments
NetDevOps Development EnvironmentsNetDevOps Development Environments
NetDevOps Development EnvironmentsJoel W. King
 
DevNet Associate : Python introduction
DevNet Associate : Python introductionDevNet Associate : Python introduction
DevNet Associate : Python introductionJoel W. King
 
Using Batfish for Network Analysis
Using Batfish for Network AnalysisUsing Batfish for Network Analysis
Using Batfish for Network AnalysisJoel W. King
 
Cisco IP Video Surveillance Design Guide
Cisco IP Video Surveillance Design GuideCisco IP Video Surveillance Design Guide
Cisco IP Video Surveillance Design GuideJoel W. King
 
Meraki Virtual Hackathon: app for Splunk Phantom
Meraki Virtual Hackathon: app for Splunk PhantomMeraki Virtual Hackathon: app for Splunk Phantom
Meraki Virtual Hackathon: app for Splunk PhantomJoel W. King
 
Business Ready Teleworker Design Guide
Business Ready Teleworker Design GuideBusiness Ready Teleworker Design Guide
Business Ready Teleworker Design GuideJoel W. King
 
Data manipulation for configuration management using Ansible
Data manipulation for configuration management using AnsibleData manipulation for configuration management using Ansible
Data manipulation for configuration management using AnsibleJoel W. King
 
DevNet Study Group: Using a SDK
DevNet Study Group: Using a SDKDevNet Study Group: Using a SDK
DevNet Study Group: Using a SDKJoel W. King
 
Foray into Ansible Content Collections
Foray into Ansible Content CollectionsForay into Ansible Content Collections
Foray into Ansible Content CollectionsJoel W. King
 
Analytics for Application Security and Policy Enforcement in Cloud Managed Ne...
Analytics for Application Security and Policy Enforcement in Cloud Managed Ne...Analytics for Application Security and Policy Enforcement in Cloud Managed Ne...
Analytics for Application Security and Policy Enforcement in Cloud Managed Ne...Joel W. King
 
Enabling policy migration in the Data Center with Ansible
Enabling policy migration in the Data Center with AnsibleEnabling policy migration in the Data Center with Ansible
Enabling policy migration in the Data Center with AnsibleJoel W. King
 
Using Tetration for application security and policy enforcement in multi-vend...
Using Tetration for application security and policy enforcement in multi-vend...Using Tetration for application security and policy enforcement in multi-vend...
Using Tetration for application security and policy enforcement in multi-vend...Joel W. King
 
Using Ansible Tower to implement security policies and telemetry streaming fo...
Using Ansible Tower to implement security policies and telemetry streaming fo...Using Ansible Tower to implement security policies and telemetry streaming fo...
Using Ansible Tower to implement security policies and telemetry streaming fo...Joel W. King
 
Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)Joel W. King
 
Introduction to Git for Network Engineers
Introduction to Git for Network EngineersIntroduction to Git for Network Engineers
Introduction to Git for Network EngineersJoel W. King
 

Más de Joel W. King (20)

DevNetCreate_2021_joelwking.pptx
DevNetCreate_2021_joelwking.pptxDevNetCreate_2021_joelwking.pptx
DevNetCreate_2021_joelwking.pptx
 
BRKEVT-2311_joeking_pbr.pptx
BRKEVT-2311_joeking_pbr.pptxBRKEVT-2311_joeking_pbr.pptx
BRKEVT-2311_joeking_pbr.pptx
 
Introduction to GraphQL using Nautobot and Arista cEOS
Introduction to GraphQL using Nautobot and Arista cEOSIntroduction to GraphQL using Nautobot and Arista cEOS
Introduction to GraphQL using Nautobot and Arista cEOS
 
NetDevOps Development Environments
NetDevOps Development EnvironmentsNetDevOps Development Environments
NetDevOps Development Environments
 
DevNet Associate : Python introduction
DevNet Associate : Python introductionDevNet Associate : Python introduction
DevNet Associate : Python introduction
 
Using Batfish for Network Analysis
Using Batfish for Network AnalysisUsing Batfish for Network Analysis
Using Batfish for Network Analysis
 
Cisco IP Video Surveillance Design Guide
Cisco IP Video Surveillance Design GuideCisco IP Video Surveillance Design Guide
Cisco IP Video Surveillance Design Guide
 
Meraki Virtual Hackathon: app for Splunk Phantom
Meraki Virtual Hackathon: app for Splunk PhantomMeraki Virtual Hackathon: app for Splunk Phantom
Meraki Virtual Hackathon: app for Splunk Phantom
 
Business Ready Teleworker Design Guide
Business Ready Teleworker Design GuideBusiness Ready Teleworker Design Guide
Business Ready Teleworker Design Guide
 
Data manipulation for configuration management using Ansible
Data manipulation for configuration management using AnsibleData manipulation for configuration management using Ansible
Data manipulation for configuration management using Ansible
 
DevNet Study Group: Using a SDK
DevNet Study Group: Using a SDKDevNet Study Group: Using a SDK
DevNet Study Group: Using a SDK
 
Foray into Ansible Content Collections
Foray into Ansible Content CollectionsForay into Ansible Content Collections
Foray into Ansible Content Collections
 
Analytics for Application Security and Policy Enforcement in Cloud Managed Ne...
Analytics for Application Security and Policy Enforcement in Cloud Managed Ne...Analytics for Application Security and Policy Enforcement in Cloud Managed Ne...
Analytics for Application Security and Policy Enforcement in Cloud Managed Ne...
 
Enabling policy migration in the Data Center with Ansible
Enabling policy migration in the Data Center with AnsibleEnabling policy migration in the Data Center with Ansible
Enabling policy migration in the Data Center with Ansible
 
Using Tetration for application security and policy enforcement in multi-vend...
Using Tetration for application security and policy enforcement in multi-vend...Using Tetration for application security and policy enforcement in multi-vend...
Using Tetration for application security and policy enforcement in multi-vend...
 
Using Ansible Tower to implement security policies and telemetry streaming fo...
Using Ansible Tower to implement security policies and telemetry streaming fo...Using Ansible Tower to implement security policies and telemetry streaming fo...
Using Ansible Tower to implement security policies and telemetry streaming fo...
 
Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)
 
Introduction to Git for Network Engineers
Introduction to Git for Network EngineersIntroduction to Git for Network Engineers
Introduction to Git for Network Engineers
 
Under the Hood
Under the HoodUnder the Hood
Under the Hood
 
What is Code?
What is Code?What is Code?
What is Code?
 

Último

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 

Último (20)

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

Super-NetOps Source of Truth

  • 1. Copyright © 2018 World Wide Technology, Inc. All rights reserved. Super-NetOps Source of Truth August 2018 Joel W. King Engineering and Innovations Network Solutions
  • 3. Links and Bio Slides and demo playbooks are available at github.com/joelwking/supernetops www.linkedin.com/in/programmablenetworks/ Joined WWT: August 2013 based in Research Triangle Park, NC Prior Work History AMP Incorporated, Network Architect Cisco, Developed Cisco Validated Designs (CVDs) NetApp, Big Data: Video Surveillance Storage Education BBA Temple University CCIE 1846 (ret.) FUN FACT Inducted to the Phantom Cyber Hall of Fame
  • 4. Agenda • Goals and Overview Deliver value to your customers • Inventory Identify your assets • Source(s) of Truth Configuration inputs come from many sources • Demonstration Update firewall ACLs to support LTM VIPs
  • 6. Traditional Flow of Work CLI NETWORK ENGINEER TICKETING SYSTEM RUN BOOK SERVICE LEVEL AGREEMENT PROCESS TIME RUN BOOK SERVICE LEVEL AGREEMENT PROCESS TIME SERVICE LEVEL AGREEMENT PROCESS TIME SERVICE LEVEL AGREEMENT PROCESS TIME REQUEST COMPLETE GUI WAIT TIME WAIT TIME WAIT TIME WAIT TIME A P P R O V A L S
  • 7. Super-NetOps Flow of Work F5 ADC & SECURITY No SQL Nexus 9000 ACI VARIABLE(S) YAML , CSV PLAYBOOKS ACI IPAM Source Control System ASA PALO ALTO CHECKPOINT NETWORK CONFIGURATION DATA Inventory TICKETING SYSTEM CHATOPS INFRASTRUCTURE
  • 8. Source of Truth http://blog.ipspace.net/2017/01/device-configurations-are-not-good.html • One source of truth for configuration data  IPAM data for hostnames, IP addressing • Data should be programmatically consumable  Application Program Interface (API)  URL (Git Repo) • Device configuration generated from templates  Jinja Templating • Global configurations  Version controlled YAML file or simple object-oriented database • ChatOps to capture organizational knowledge • Automate change verification, metrics, back out plan
  • 9. Goals and Overview: Structured Data
  • 10. Journey TRIBAL KNOWLEDGE CSV EXCEL STRUCTURED DATA YAML, JSON, XML IPAM SERVICENOW BMC REMEDY OPEN SOURCE NSOT NETBOX RELATIONAL DB NOSQL DB CHATOPS VERSION CONTROL SYSTEM
  • 11. Unstructured Data CLI is not Structured Data http://alsa21.blogas.lt/tag/data-center-solution ASA-5585-99543# show run : Saved : : Serial Number: JAD1742009H : Hardware: ASA5585-SSP-60, 24576 MB RAM, CPU Xeon 5600 series 2400 MHz, 2 CPUs (24 cores) : ASA Version 9.2(4)14 ! hostname ASA-5585-99543 domain-name sandbox.wwtatc.local ! interface TenGigabitEthernet0/9 shutdown no nameif no security-level no ip address ! ftp mode passive dns server-group DefaultDNS domain-name sandbox.wwtatc.local pager lines 24
  • 12. Data Serialization Formats Pass Structured Data between Sources and Sinks JSON Java-Script Object Notation XML eXtensible Markup Language YAML YAML Ain't Markup Language { "imdata": { "firewall": {"group": "rtp_wan_edge", "acl_name": "INBOUND“ }, "tags": [ "white", "roan", "flint"] } } <?xml version="1.0" encoding="UTF-8" ?> <imdata> <firewall> <group>rtp_wan_edge</group> <acl_name>INBOUND</acl_name> </firewall> <tags>white</tags> <tags>roan</tags> <tags>flint</tags> </imdata> imdata: firewall: group: rtp_wan_edge acl_name: INBOUND tags: - white - roan - flint
  • 13. Data Modeling Data modeling is the process of documenting a complex software system design as an easily understood diagram, using text and symbols to represent the way data needs to flow… A data model can be thought of as a flowchart that illustrates the relationships between data. Super-NetOps Engineer
  • 15. Inventory If you can’t measure it, you can’t manage it. Peter Drucker management consultant, educator, and author Many companies struggle to obtain an accurate inventory of devices in the network.
  • 16. Sources of Inventory DISCOVERY MANUAL admin@flint:~$ NMAP admin@flint:~$ AWS EC2 VMWARE_FACTS DISCOVERY ENRICHMENT admin@flint:~$ query by serial no. CISCO TETRATION admin@flint:~$
  • 17. Service Now - Inventory source github.com/ServiceNowITOM/ansible-sn-inventory “Discovery finds computers, servers, printers, and a variety of IP-enabled devices, and the applications that run on them. It can then update the CIs in your CMDB with the data it collects.” administrator@flint:~/ansible/playbooks$ ansible-playbook debug.yml -i ./inventory/now/now.py --list-hosts playbook: debug.yml play #1 (all): debug TAGS: [] pattern: [u'all'] hosts (6): f5-demo-test1.sandbox.wwtatc.local f5-egg-prod1.sandbox.wwtatc.local f5-egg-qa2.sandbox.wwtatc.local f5-demo-test2.sandbox.wwtatc.local f5-egg-prod2.sandbox.wwtatc.local f5-egg-qa1.sandbox.wwtatc.local table = 'cmdb_ci_server‘ table = 'cmdb_ci_ip_router' table = 'cmdb_ci_datacenter' table = 'cmdb_ci_lb' FOR YOUR REFERENCE
  • 18. Sources of Truth: IP Address Management (IPAM)
  • 19. • One source of truth for configuration data  IPAM data for hostnames, IP addressing • … but what about Ephemeral environments?  COT (the Common OVF Tool) is a tool for editing OVA/OVF https://cot.readthedocs.io/en/latest/introduction.html BIG-IP version 13.1+ Static MGMT IP addresses  Ansible module vsphere_guest doesn’t return DHCP IP addresses  Use vmware_vm_facts IP Address Management (IPAM) www.ansible.com/f5
  • 20. IP address of a virtual edition BIG-IP vars: target: 'f5-demo-test1.sandbox.wwtatc.local' tasks: - name: Query vCenter for management IP address vmware_vm_facts: hostname: "{{ vcenter.server }}" username: "{{ vcenter.username }}" password: "{{ vcenter.password }}" validate_certs: no register: vm_facts - debug: msg: "{{ target }} {{ vm_facts.virtual_machines[target] | to_nice_json(indent=4) }}" when: vm_facts.virtual_machines[target] is defined - assert: msg: "Invalid or no IP address" that: vm_facts.virtual_machines[target].ip_address | ipaddr TASK [debug] ***************** ok: [localhost] => {} MSG: f5-demo-test1.sandbox.wwtatc.local { "esxi_hostname": "10.255.40.137", "guest_fullname": "Other (64-bit)", "ip_address": "10.255.111.171", "mac_address": [ "00:50:56:af:94:b4", "00:50:56:af:5c:06", "00:50:56:af:ce:56", "00:50:56:af:f1:10" ], "power_state": "poweredOn", "uuid": "422ffb59-42cd-859f-4930-91b46e3a6134", "vm_network": {} } FOR YOUR REFERENCE vmware_vm_facts return DHCP IP address of F5 VE BIG-IP
  • 21. Update inventory with DHCP assigned IP addrs https://docs.ansible.com/ansible/latest/modules/add_host_module.html Use variables to create new hosts and groups in inventory for use in later plays of the same playbook. PLAY 1 PLAY 2
  • 22. Sources of Truth: Database
  • 23. Technology Comparison Relational Databases Data stored in tables NoSQL Databases Data stored in collections of independent objects Use SQL, Structured Query Language, English like, easy to create queries Strong Consistency Common usage means easy integration with enterprise systems Flexible: dynamic schema, fields can be added to documents Scalable and high performance Always-on for global deployments MySQL MariaDB PostgreSQL Amazon DynamoDB Redis Apache CouchDB
  • 24. Under the covers PostgreSQL as its database. This remote PostgreSQL can be a server you manage, or can be provided by a cloud service such as Amazon RDS. ServiceNow has also moved from MySQL to MariaDB when opting for new instances/ Helsinki Release.
  • 25. MongoDB Compass and shell FOR YOUR REFERENCE
  • 27. Firewall Changes to support F5 VIP(s) MID server MongoDB 1 2 3 4 7 Retrieve configuration data from MongoDB Apply firewall changes Retrieve running configuration Create documentation of the change request and running configuration 5 6Store the updated configuration artifacts Update ticket with database ObjectId Initiate playbook passing ObjectId, of database and collection of configuration data playbook
  • 28. Requirements for Configuration Management RFC 3139 … provide expiration time and effective time capabilities to configuration data. It is required that some configuration data items be set to expire, and other items be set to never expire … BIGIPS SUPPORTING VIPS SUPPORTING FIREWALL(S) WHEN DOES IT EXPIRE? CHANGE WINDOW TO IMPLEMENT
  • 29. Service Delivery CHANGE REQUESTAUDITDATA PROCESS INFRASTRUCTURE Super-NetOps is the practice of delivering network-based services as programmable infrastructure to support DevOps practices and methodologies.
  • 30. Audit Database  Compare configuration change(s) across all firewalls in the group, for a given change request  Walk configuration changes for each firewall over time
  • 31. Reporting from an Audit Database ServiceNowFirewall ACLs | VIPS
  • 33. Key-takeaways  View IT operations as a flow of data (Sources of Truth) thru work-cells (automation processes) to deliver value to the customer.  There should be only one source of truth for every piece of configuration data.  Device configurations are poor source of truth. Slides and demo playbooks are available at github.com/joelwking/supernetops
  • 34.
  • 36. Service Now as Inventory Source 'cmdb_ci_lb’ DYNAMIC INVENTORY f5_drift.yml when: item.version != desired_version https://github.com/joelwking/supernetops/blob/master/Agility2018/playbooks/f5_drift.yml
  • 37. Firewall Groups Managed independently from the service request INBOUND INBOUND "firewall": { "group": "rtp_wan_edge", "acl_name": "INBOUND"} rtp_wan_edgertp_wan_edge: hosts: csr1000v-1.sandbox.wwtatc.local: {} csr1000v-2.sandbox.wwtatc.local: {} inventory.yml FOR YOUR REFERENCE
  • 38. Resources  Toyota Production System http://missiontps.blogspot.com/p/14-principles.html https://www.slideshare.net/akshayjain186590/opc-tps  From Zero to Network Programmability in 120 minutes (CiscoLive 2018 BRKNMS-2935) https://clnv.s3.amazonaws.com/2018/usa/pdf/BRKNMS-2935.pdf  Introduction to NoSQL https://resources.mongodb.com/getting-started-with-mongodb/back-to-basics-1-introduction-to-nosql  PyMongo Tutorial http://api.mongodb.com/python/current/tutorial.html  REQUIREMENTS FOR CONFIGURATION MANAGEMENT OF IP-BASED NETWORKS HTTPS://TOOLS.IETF.ORG/HTML/RFC3139 SEE 3.0.9 – SET EXPIRATION DATE FOR CONFIGURATION ELEMENTS

Notas del editor

  1. JOEL W. KING
  2. Learn about techniques used to define and implement an F5 BIG-IP deployment with multiple "sources of truth," from CSV and YAML files to SQL and NoSQL databases. This workshop examines the concept of Source of Truth for device configurations and how the concept of Infrastructure as Code can be driven from various files and databases and network services, to define and implement and validate F5 BIG-IP deployments.
  3. https://clnv.s3.amazonaws.com/2018/usa/pdf/BRKNMS-2935.pdf https://en.wikipedia.org/wiki/Markup_language YAML originally did stand for "Yet Another Markup Language"
  4. https://searchdatamanagement.techtarget.com/definition/data-modeling The data model drives the workflow. Python modules, playbooks, SDN controllers, etc. are simply the tool toapply data to the target device Model driven networking. What drives your workflow?
  5. https://commons.wikimedia.org/wiki/File:Drucker5789.jpg
  6. Note: DNA-Center discovery and returns Gets the network device with the given serial number. https://github.com/whiskerlabs/armsible/blob/master/local_network_inventory.py
  7. ./inventory/now/now.py | python -m json.tool Note: this program has a few bugs, throws exception if ServiceNow instance is sleeping / unavailable. Also needs to be modified to allow as input the desired SN table.
  8. https://github.com/payalsin/f5-ansible/tree/master/playbooks/spinup-demo
  9. How to determine the IP address of a virtual edition BIG-IP? # human-readable stdout/stderr results display https://github.com/ansible/ansible/issues/27078 stdout_callback = debug administrator@flint:~/ansible/playbooks$ ./vmware_facts.yml
  10. https://searchdatamanagement.techtarget.com/definition/MariaDB MariaDB is based on SQL and supports ACID-style data processing with guaranteed atomicity, consistency, isolation and durability for transactions. Among other features, the database also supports JSON APIs,
  11. https://docs.ansible.com/ansible-tower/latest/html/quickinstall/prepare.html https://www.quora.com/What-database-does-ServiceNow-use
  12. Export sets: allow you to push data from an instance to an external file. You can export data to a remote system using a MID server.
  13. https://devcentral.f5.com/articles/super-netops-frequently-asked-questions-30128