Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Tachyonic: an open source DEVOPS project written in Python for the Networking community by Allan Swanepoel

Pycon ZA
October 06, 2017

Tachyonic: an open source DEVOPS project written in Python for the Networking community by Allan Swanepoel

Intro:

Meet Bob. Bob is a Network Administrator at a Service Provider. As a well seasoned network engineer, he’s been building packet pushing networks since the days when IP shared bandwidth with IPX, Appletalk, DECnet etc. He is a well rounded network engineer with robust set of networking skills. He mastered making, shaping of networks with his tool set such as Spanning Tree, RAPS, Vlans, VXLAN and MPLS.

However, Bob’s world is changing. Networks are not what they used be. Today’s networks are growing more rapidly than ever. This means there are more devices to manage and also more data produced by these devices to work with. Doing things manually just don’t scale anmore. Bob has no other option to turn to automation.

In the Devops world these issues have been and are being addressed. The Networking universe is lagging behind. Standard Bodies and Vendors have started coming up with solutions such as Openflow and NETCONF, but there are limits.

Also, many Open source projects (most of them written in Python) and proprietary solutions have joined the scene, which we will talk about.

So Bob has options, but… none of them has all the answers. Except for one!

Visit our site: http://tachyonic.co.za/

Pycon ZA

October 06, 2017
Tweet

More Decks by Pycon ZA

Other Decks in Programming

Transcript

  1. S Tachyonic: an open source DEVOPS project for the Networking

    community Resources to become superhuman! With Python, NETCONF, API(s), and Automation! By: The authors of Tachyonic
  2. Meet BOB! Meet Bob. Bob is a Network Administrator at

    a Service Provider. ü IPX ü Appletalk ü DECnet ü Spanning Tree ü RAPS ü VLANS ü VXLAN ü MPLS ü MP-BGP ü IS-IS / OSPF
  3. Bobs Universe Ø Bob’s world is changing. Ø Networks are

    not what they used be. Ø Growing more rapidly than ever. Ø More devices and more data. Ø Doing things manually just don’t scale.
  4. Bobs Universe (cont.) Ø We also need to learn about

    Cloud Networks: Ø AWS Ø Azure Ø Openstack Ø How do we interconnect/interact with these in a secure fashion?
  5. Bob The Engineer S Now needs programmatic access to the

    network S Network must appear as a confederated database S With that, Bob would be a superhero!
  6. Network Vendors u Arista via RESTAPI (json) u Cumulus switches

    via ansibile u Cisco via ACI, NETCONF u Alcatel, Juniper via NETCONF u Procera and Sandvine via REST API u F5 Networks via REST API u Mikrotic custom API
  7. Community of orchestration building blocks available all purely built in

    python o Ansible – Simple IT Automation o Salt Stack - Configuration management software and remote execution engine. Supporting the "Infrastructure as Code" approach o Juju – Orchestration tool developed by Cannoncial.
  8. Where does this leave Bob? S ncclient -> S PyEZ

    -> S NAPALM S And many more: S Fabric (Command Line streaming over SSH) S SNMP Libraries S Agent Modules S Python Log Parsing
  9. So Bob has options, but… none of them has all

    the answers. q Python q HTML q WSGI Frameworks q Netconf (NCCLIENT module) q Napalm (Integration with Cisco / Juniper) q Pyeazy Juniper Netconf client. q RestAPI (JSON / XML)
  10. One problem leads to another.. 1. Bob is a network

    engineer, not a developer, that has been thrown into a whole new universe of automation and DevOPS. 2. Even in this world, technology is moving at an accelerated pace.
  11. Tachyonic Ø It is an Open Source Framework Ø Built

    with Python Ø Has two components: Ø Web UI Ø Rest API Ø (In fact the Web UI simply uses the API in the back end) Ø So everything you can do in the Web UI, you can do with direct REST API calls as well
  12. Tachyonic (cont.) Ø Multi Tiered Ø Multi Tenant Ø Domains

    Ø RBAC Ø Fully customizable Ø Modular/Extensible Ø Flexible
  13. Use Case: Netrino Ø Netrino is an example of a

    Tachyonic module Ø It acts as the middleware between your network, and your OSS/BSS
  14. Use Case: Netrino (cont) Ø Netrino is a network orchestration

    tool: Ø It retrieves information from the network Ø Eg devices, ports, ip & mac addresses Ø It pushes configuration to the network devices Ø either triggered via WEB UI, or API call Ø Services are defined with templates (jinja2 templating engine) Ø Creating a Service Requests involves linking a Customer, to a Service, to a device port
  15. More Use cases: S Management / Using any of the

    following, or all of them. S Email accounts S SIP Accounts S VPN Accounts S Monitoring of Network / Infrastructure / Servers S Reporting – again, this can be customized S Helpdesk / Incident Reporting Possibilities are ENDLESS!!!
  16. Current Projects S Wingu (an OpenStack Public IAAS provider) has

    contributed Open Source Openstack Connectors that plug into Tachyonic. S Wingu is also going to release Cloud Kitty integration. S And there’s a lot more in the pipeline, including network automation code written for Xon.
  17. Road Map S Maturity of code and documentation. S Billing,

    helpdesk completely integrated. S Several basic modules to manage services. S Major modules for BGP PCEP for Segment Routing (SDN Controller) and NFV (Network Functions Virtualized). S Globalized resource manager (IP addresses/ VLAN’s, etc)
  18. In Summary… Ø We have done all the hard work,

    and now Bob only needs to focus on his python, which he can plug into our framework.
  19. Conclusion We hope to find some interested parties that could

    either benefit from what we’ve built, or would like to join our community and build on something that will make it possible for every other Bob out there to become a superhero.
  20. How to become part of the Tachyonic community Website: http://tachyonic.co.za

    Slack Channel: ZA-tech #tachyonic Email: [email protected] Github: https://github.com/TachyonicProject
  21. Thank You We’d like to thank Wingu for the contributions

    to our project, as well as the sponsorship that allowed the opportunity to come and present here To PyCon and it’s organizers for having us. And to all of you that came to listen