Network Automation en Orchestration NETWERK AUTOMATISERING SURFNET 8 SERVICE LAAG Peter Boers peter.boers@surfnet.nl
Context - achtergrond SURFnet bouwt al een flink aantal jaren een netwerk Toenemende vraag zeer specifieke diensten enerzijds Toenemende vraag voor standaard dienst verlening anderzijds Diverse systemen voor registratie van diensten: -IMS -IPAM -CRM -JIRA -NMS(en)
Context - achtergrond (2) Tot voor kort al het NOC werk outsourcet: -Minder overzicht dan gewenst -Minder flexibiliteit dan gewenst NOC werk in house heeft een aantal zaken aan het licht gebracht: -Achterstallig onderhoud in de registratie van diensten -De behoefte om op een eenvoudige manier overzicht te hebben -Dubbele administratie van diensten Geen eenduidigheid intern, maar ook richting klanten. Zeer procesmatig
Hoe ziet het er echt uit? Dit heeft als resultaat: - Traagheid -Onduidelijkheid -Imports - Caching -Geen duidelijke eigenaar van de informatie
Hoe ziet het er echt uit (2)? Voorbeeld het opleveren van een BGP koppeling op ASD001a en ASD001a: -Eerste stap is kiezen van de prioriteit van de Vlans -Daarna een service ID kiezen dat start met het cijfer 3: 3454 -Laatst 3 cijfer zijn onderdeel van het Vlan-id -Vlan range 1000 voor de primaire router 1454 -Vlan range 2000 voor secundaire router 2454 -Oneven primair op ASD001a en even op ASD001b Waarom zo? -Eenvoudig troubleshooten Schaalt het?
Wat is automation bij SURFnet? In kaart brengen van informatiestromen (netwerken) Definiëren Single Point Of Truth Vastleggen wat producten zijn Alles automatiseren bij het leveren van een dienst wat kan Met name K.I.S.S
High level ontwerp
Mid level ontwerp
Technisch ontwerp
Wat heb je nodig om diensten automatisch op te leveren? Een communicatie protocol (HTTP REST) Een communicatie taal (JSON) Orkestratie/proces bewaking (Alfresco Proces services) Heldere definitie van producten. Een plaats waar alle informatie stromen samen komen.
Product Definities Wat is een product eigenlijk? -Verzameling van logische onderdelen met bepaalde karakteristieke eigenschappen Semi concreet: -Product bestaat uit, product blokken (logisch) met resource types (eigenschappen) Heel concreet: -MSP bestaat uit, Physical Termination Point, met Port id.
Product beschrijvingen Product Verplicht? Aantal Limiet SURFlichtpad 1G protected Product block Service Attach Point Ethernet Virtual Circuit Resource Type Resource Type MSP 1000GBAS E-LX subscription _id policer Protection settings Resource Type Physical Termination Point VLAN(s) customer_id customer_id IMS port ID
Subscriptions SURFlichtpad 1G protected Subscription ID SAP EVC SAP 2G policer enkelvoudig 3C8950B4-F519-57A4-F3B5-439EA4ABAB6C VLAN 2000 MSP Subscription ID MSP VLAN 2000 PTP PTP AD93DAEF- 0911-E511-80D0-005056956C1A 3C8950B4-F519-57A4-F3B5-439EA4ABAB6C ASD001A_8700 07_10/1 UT001A_5410 01_5/3
De database
Waarom dit generieke model? Specials zijn geen specials meer, maar gewoon producten Producten zijn inzichtelijk Wat is opgeleverd is inzichtelijk Wanneer je automatiseert is de betrouwbaarheid van de informatie van cruciaal belang Geeft de nodige flexibiliteit in het opleveren van producten.
Wat levert het op? Voor klanten en SURFnet is het duidelijk waar we het over hebben: -Subscription ID vervangt (Poort ID, Service ID, etc) -Eenvoudige correlatie mogelijkheden voor het NOC (storingen etc) Data integriteit Als de boel af brand dan moet het mogelijk zijn om alles weer vanuit de database op te leveren Uiteindelijk worden APIs beschikbaar voor de eindgebruiker services aan te vragen (gebruikersvriendelijkheid)
Processen Af en toe log en onduidelijk -Veel schijven -Uitermate belangrijk Belangrijke taak van automation is om de processen inzichtelijk te maken -Orkestratie
Orkestratie
Orkestratie (2)
Automation Infra OTAP m.b.v gitlab en ci Docker Swarm modus (twee contributions) Persistente storage m.b.v Ceph
Demo https://core-admin.staging.automation.surf.net https://api.staging.automation.surf.net/ims/ui/#!/ports/ports_node_get https://process-mng.staging.automation.surf.net/activiti-app/#/ https://swarm-mng.automation.surf.net/#/services/
Waar staan we nu? E.T.A eerste workflow productie nu en 2 weken (MSP) Volgende workflow Lichtpad Daarna werken aan transitie scenarios voor SURFnet8 Ontwikkeling SURFnet dashboard gestart 5 devs waarvan 4 fulltime + SURFnetters
End goal Alle services van SURFnet 8 worden via de automation stack opgeleverd.
Peter Boers peter.boers@surfnet.nl www.surf.nl/surfnet