neutrona / infrastructure-as-code-hackathons

Infrastructure as Code & Software Defined Networking Hackathons

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

infrastructure-as-code-hackathons

Infrastructure as Code & Software Defined Networking Hackathons - Wiki

The backend collects network information: network topology, traffic engineering attributes, performance, etc. We used BGP-LS, PCEP & NETCONF to collect such information.

The business application exposes abstracted network information to an IDE (C#), an operator can code custom business rules for path computation, testing, and validation. This code is then pushed to a git repository and a CI/CD pipeline is triggered, three stages are run (build, test, deploy) to finally configuring those paths in the network through Ansible and maintaining them through an SDN controller.

Some tools and platforms we used:

  • Docker
  • Kubernetes
  • Gitlab CI/CD
  • Ansible
  • Ansible Tower
  • ExaBGP
  • Neo4J
  • RabbitMQ
  • OpenDayLight
  • Prometheus
  • Grafana
  • Juniper JunOS

Some things we didn't do:

  • Clean code
  • Runners monitoring strategy, ELK maybe?
  • O(n) ==> O(1)
  • CI/CD (backend)
  • Maybe Dgraph instead of Neo4J?
  • ODL monitoring
  • Use branches for lab/production from the business app
  • ...

About

Infrastructure as Code & Software Defined Networking Hackathons

License:GNU General Public License v3.0


Languages

Language:Python 65.7%Language:C# 29.4%Language:Go 3.3%Language:Dockerfile 0.7%Language:Makefile 0.6%Language:Shell 0.3%