python at ciscotechnical consulting engineer –aci solutions 19 march 2019 python charming at...
TRANSCRIPT
![Page 1: Python at CiscoTechnical Consulting Engineer –ACI Solutions 19 March 2019 Python Charming at Cisco. What we will cover • Introduction ... • Interacting with APIs](https://reader030.vdocuments.mx/reader030/viewer/2022040110/5ed48590cf2c7a77de2c9b80/html5/thumbnails/1.jpg)
Sergiu Daniluk
Technical Consulting Engineer – ACI Solutions
19 March 2019
Python Charming at Cisco
![Page 2: Python at CiscoTechnical Consulting Engineer –ACI Solutions 19 March 2019 Python Charming at Cisco. What we will cover • Introduction ... • Interacting with APIs](https://reader030.vdocuments.mx/reader030/viewer/2022040110/5ed48590cf2c7a77de2c9b80/html5/thumbnails/2.jpg)
What we will cover
• Introduction
• Python, what is it?
• Why (not) Python?
• Projects
• Lessons we learned
• Ask me Anything!
![Page 3: Python at CiscoTechnical Consulting Engineer –ACI Solutions 19 March 2019 Python Charming at Cisco. What we will cover • Introduction ... • Interacting with APIs](https://reader030.vdocuments.mx/reader030/viewer/2022040110/5ed48590cf2c7a77de2c9b80/html5/thumbnails/3.jpg)
A little aboutme
• On planet Earth since 1990
• With Cisco since 2015
• Data Center Switching
• ACI Solutions
• Previously:
• Network & Security Engineer (RO)
• I like Python
![Page 4: Python at CiscoTechnical Consulting Engineer –ACI Solutions 19 March 2019 Python Charming at Cisco. What we will cover • Introduction ... • Interacting with APIs](https://reader030.vdocuments.mx/reader030/viewer/2022040110/5ed48590cf2c7a77de2c9b80/html5/thumbnails/4.jpg)
A little about Cisco TAC
• World’s Best Support Organization
• According to TSIA
• 10 years in a row!
• Customer Service & Advocacy
• Engineers gonna Engineer
• Grassroots innovation
![Page 5: Python at CiscoTechnical Consulting Engineer –ACI Solutions 19 March 2019 Python Charming at Cisco. What we will cover • Introduction ... • Interacting with APIs](https://reader030.vdocuments.mx/reader030/viewer/2022040110/5ed48590cf2c7a77de2c9b80/html5/thumbnails/5.jpg)
Python? • High-level, General purpose
• Friendly & Easy to Learn
• Open-source & Cross-Platform
• “Batteries Included”
• Extensive and mature ecosystem
• Too OO / not OO enough
• Whitespace = syntax
• Duck typing
• Slow
• No ’real’ async
![Page 6: Python at CiscoTechnical Consulting Engineer –ACI Solutions 19 March 2019 Python Charming at Cisco. What we will cover • Introduction ... • Interacting with APIs](https://reader030.vdocuments.mx/reader030/viewer/2022040110/5ed48590cf2c7a77de2c9b80/html5/thumbnails/6.jpg)
But why?• Automate the boring stuff
• and the repetitive stuff
• Forge your own swords
• Glue things that don’t fit together
• Meet in the middle
• Interacting with APIs
![Page 7: Python at CiscoTechnical Consulting Engineer –ACI Solutions 19 March 2019 Python Charming at Cisco. What we will cover • Introduction ... • Interacting with APIs](https://reader030.vdocuments.mx/reader030/viewer/2022040110/5ed48590cf2c7a77de2c9b80/html5/thumbnails/7.jpg)
![Page 8: Python at CiscoTechnical Consulting Engineer –ACI Solutions 19 March 2019 Python Charming at Cisco. What we will cover • Introduction ... • Interacting with APIs](https://reader030.vdocuments.mx/reader030/viewer/2022040110/5ed48590cf2c7a77de2c9b80/html5/thumbnails/8.jpg)
Why not ...
![Page 9: Python at CiscoTechnical Consulting Engineer –ACI Solutions 19 March 2019 Python Charming at Cisco. What we will cover • Introduction ... • Interacting with APIs](https://reader030.vdocuments.mx/reader030/viewer/2022040110/5ed48590cf2c7a77de2c9b80/html5/thumbnails/9.jpg)
The Ecosystem
![Page 10: Python at CiscoTechnical Consulting Engineer –ACI Solutions 19 March 2019 Python Charming at Cisco. What we will cover • Introduction ... • Interacting with APIs](https://reader030.vdocuments.mx/reader030/viewer/2022040110/5ed48590cf2c7a77de2c9b80/html5/thumbnails/10.jpg)
What we have built
![Page 11: Python at CiscoTechnical Consulting Engineer –ACI Solutions 19 March 2019 Python Charming at Cisco. What we will cover • Introduction ... • Interacting with APIs](https://reader030.vdocuments.mx/reader030/viewer/2022040110/5ed48590cf2c7a77de2c9b80/html5/thumbnails/11.jpg)
BDB/Borg
• General Purpose execution framework
• Backend in Go, runs scripts in Python
• 15000+ scripts performing automated analysis for all platforms
• Pioneer award winner in 2016
![Page 12: Python at CiscoTechnical Consulting Engineer –ACI Solutions 19 March 2019 Python Charming at Cisco. What we will cover • Introduction ... • Interacting with APIs](https://reader030.vdocuments.mx/reader030/viewer/2022040110/5ed48590cf2c7a77de2c9b80/html5/thumbnails/12.jpg)
SquareWheels
• Python library to extract from support dumps and parse text to data
• Performance critical parts in C
• Written by Kris Vandecruys
![Page 13: Python at CiscoTechnical Consulting Engineer –ACI Solutions 19 March 2019 Python Charming at Cisco. What we will cover • Introduction ... • Interacting with APIs](https://reader030.vdocuments.mx/reader030/viewer/2022040110/5ed48590cf2c7a77de2c9b80/html5/thumbnails/13.jpg)
SkyQuake
• Anomaly detection on events
• HTML / TypeScript on the front-end
• Leverages other in-house libraries
![Page 14: Python at CiscoTechnical Consulting Engineer –ACI Solutions 19 March 2019 Python Charming at Cisco. What we will cover • Introduction ... • Interacting with APIs](https://reader030.vdocuments.mx/reader030/viewer/2022040110/5ed48590cf2c7a77de2c9b80/html5/thumbnails/14.jpg)
SpiderSense• Anomaly detection on cli output
• Python Pre- and Post-Processing
• Deep Learning: Python Keras on TF
• API frontend: Flask
![Page 15: Python at CiscoTechnical Consulting Engineer –ACI Solutions 19 March 2019 Python Charming at Cisco. What we will cover • Introduction ... • Interacting with APIs](https://reader030.vdocuments.mx/reader030/viewer/2022040110/5ed48590cf2c7a77de2c9b80/html5/thumbnails/15.jpg)
Augur
• Pure Python
• Prediction of issue detection
• Early stages of development
![Page 16: Python at CiscoTechnical Consulting Engineer –ACI Solutions 19 March 2019 Python Charming at Cisco. What we will cover • Introduction ... • Interacting with APIs](https://reader030.vdocuments.mx/reader030/viewer/2022040110/5ed48590cf2c7a77de2c9b80/html5/thumbnails/16.jpg)
What we have learned
![Page 17: Python at CiscoTechnical Consulting Engineer –ACI Solutions 19 March 2019 Python Charming at Cisco. What we will cover • Introduction ... • Interacting with APIs](https://reader030.vdocuments.mx/reader030/viewer/2022040110/5ed48590cf2c7a77de2c9b80/html5/thumbnails/17.jpg)
The Good
• Hackathons are an effective way to get people engaged, increase the skill level and produce results
• Python is versatile, thriving and people have fun automating the boring stuff
• Sharing your work is almost always a Good Thing
![Page 18: Python at CiscoTechnical Consulting Engineer –ACI Solutions 19 March 2019 Python Charming at Cisco. What we will cover • Introduction ... • Interacting with APIs](https://reader030.vdocuments.mx/reader030/viewer/2022040110/5ed48590cf2c7a77de2c9b80/html5/thumbnails/18.jpg)
The Bad
• You can’t do everything with Python
• A good mix of skills requires time, energy and money
• Versioning and packaging ecosystem has a long way to go
• Working with different skills, you need to rewrite old code frequently
![Page 19: Python at CiscoTechnical Consulting Engineer –ACI Solutions 19 March 2019 Python Charming at Cisco. What we will cover • Introduction ... • Interacting with APIs](https://reader030.vdocuments.mx/reader030/viewer/2022040110/5ed48590cf2c7a77de2c9b80/html5/thumbnails/19.jpg)
The Ugly
• Programming is just step 1: Don’t neglect:
• Testing
• Security
• User experience
• Lifecycle
• Documentation
• “Holy Wars”
• Lots of ‘glue’ code due to heterogeneity of the organization
![Page 20: Python at CiscoTechnical Consulting Engineer –ACI Solutions 19 March 2019 Python Charming at Cisco. What we will cover • Introduction ... • Interacting with APIs](https://reader030.vdocuments.mx/reader030/viewer/2022040110/5ed48590cf2c7a77de2c9b80/html5/thumbnails/20.jpg)
Ask me anything!
![Page 21: Python at CiscoTechnical Consulting Engineer –ACI Solutions 19 March 2019 Python Charming at Cisco. What we will cover • Introduction ... • Interacting with APIs](https://reader030.vdocuments.mx/reader030/viewer/2022040110/5ed48590cf2c7a77de2c9b80/html5/thumbnails/21.jpg)