[GTER] Roadmap para Bird 2.0 no IX.BR - lg.ix.br e outros recursos

Douglas Fischer fischerdouglas at gmail.com
Wed Sep 16 12:33:23 -03 2020


"Lá vem o chato do Douglas enchendo o saco do pessoal do IX.BR"
NÃ-na-NI-na-NÃO!

Colocando a modéstia de lado, sou um dos entusiastas do IX.BR.
Admiro o trabalho que essa equipe faz.
E sempre que surge uma oportunidade de ressaltar tudo de excelente que esse
povo doido fez para melhorar a Internet do Brasil, eu faço!
Digo sem medo -> "Eles são os cara!"

Mas eu também sou AQUELE CARA CHATO que serve de CATALIZADOR sobre algumas
questões que as vezes ainda não estão da melhor maneira possível.
 -> As vezes eu tenho que ser aquele estagiário que é arremessado pela
janela daquele famoso meme.


E hoje eu vim perguntar para o pessoal do IX.BR sobre ROADMAP 2.0
-----------------------------------------------------------------

- Existe alguma data prevista para começar a adotar o Bird 2.0 em alguma
das localidades do IX.BR?
- Existe algum impedimento técnico para que isso possa acontecer? É algo
que possa ser compartilhado com os parcicipantes?
- Eu(e acho que mais um tanto de colegas) colocamo-nos a disposição para
mobilizar qualquer ação que dependa dos participantes para que isso possa
acontecer.


P.S.1:
Faço aqui uma sugestão:
Que tal colocar o Bird 2.0 em um dos 4 Route-Servers de São Paulo e ver
como se comporta?

P.S.2:
Cá pra nós? Eu confesso que entendo o excesso de cautela nesse caso.
Isso foi algo que já doeu tanto no passado, que deve ser algo delicado de
se convencer a camada 9 a mexer nisso...
Mas estamos todos aqui para ajudar e incentivar.
Um momento oportuno para mencionar a "Blameless Culture" que o Arturo
Servin apresentou esses dias:
https://landing.google.com/sre/sre-book/chapters/postmortem-culture/


Pergunta feita, agora vou esclarecer os motivos de meu questionamento
---------------------------------------------------------------------
Mas como não poderia deixar de ser, vou contar uma histórinha...

Para quem não sabe, hoje o IX.BR usa uam receita VENCEDORA de route-servers
baseados em Bird 1.6.3
(Só olhar em http://lg.ix.br e vai ver essa informação)

Eu fiz questão de grifar VENCEDORA porque hoje o IX.BR-SP é o MAIOR IXP DO
MUNDO em número de participantes.
Quem acompanhou a história do PTT-Metro/PTT.BR/IX.BR sabe que isso no
passado foi um problema...
Engines de BGP monothread, que resultavam em convergências que leva MUITO
tempo para acontecer, mensagens BGP que se perdiam, etc.

E quem resolveu esse problema foi o MultiBird.
  Segue link de uma apresentação do Moreiras sobre o Multibird
  "http://slides.lacnic.net/wp-content/uploads/2017/05/multi-bird-lacnic.pdf
Desde que o multibird foi implementado, aqueles problemas não aconteceram
mais.

Porém essa mesma receita vencedora é a que está inviabilizando algumas
inovações no ambiente do IX.BR.

O exemplo mais objetivo dessas limitações é o http://lg.ix.br , onde não
constam os Route-Servers da localidade de São Paulo.
Já se perguntaram porque disso?

O Alice(projeto que toca esse LG) depende do Bird Whatcher, um agente que
rota em cada Route-Server Bird.
O problema é que com o MultiBird, na prática hoje no IX.BR-SP, não temos só
4 Route-Servers...
Se em cada MultiBird forem 8 instâncias de Bird, sendo 4 Route-Servers em
São Paulo. São 32 RouteServers.
IPv4 e IPv6, 64 Instâncias de Bird...
(Doidera né? Mas funciona muito bem!)
Imagina ter que ficar caçando em qual dos 32 routers está aquele peer?

"Tá Douglas, e como o Bird 2.0 vai resolver isso?"
Eu não sou programador, mas li que da versão 1.6 para a versão 2.0 houveram
grandes mudanças no código do Bird que tornou ele muito mais performático.
Não chega a ser True Multithread com Process Isolation, mas ele já consegue
escalar muito em diversos núcleos.
Isso significa que migrando para o Bird 2.0 uma única instância de Bird
poderia dar conta das quase 2000 sessões BGP.

"Douglas, você tá querendo inventar moda! Ninguém usa isso!"
Em partes tem fundamento... O DE-CIX por exemplo(outro IXP grandalhão) usa
o Bird 1.6.8.
Mas existem diversos outros IXPs pelo mundo usando Bird 2.0.7 com sucesso.
Inclusive o IXPManger a partir da versão 5.0 usa o Bird v2
(http://ixpmanager.org/ é um projeto opensorce de operação de IXPs)

"Tudo isso só por conta do Looking Glass? Larga mão de ser fresco Douglas!"
Não é bem assim!
Talvez eu não seja a melhor pessoa para falar sobre isso... Invoco alguma
boa alma com sangue de programador para me ajudar(ou me bater)
- Mas sei por exemplo que tem Features novas que já vem sendo trabalhadas
na versão 2.0 e pelo que sei não estão no roadmap da 1.6.
- Uma outra questão é o BFD, que poderia ajudar no withdraw the rotas
quando existir uma instabilidade entre o router do participante e os
Route-Servers.
  Mas, se eu entendi direito, quando em Multi-Bird, não tem como colocar
BFD.

"Aaaaa, mas os sistemas do IX.BR deve ter um monte de integrações que só
funcina no Bird 1.6"
É bem provável que existam algumas situações assim sim...
Mas pelo que pude averiguar, o nível de compatibilidade das configurações
entre v1.6 e v2.0 é bem grande.
Pelo que eu imagino do cenário, imagino que demandaria poucos ajustes nas
automações para se provisionar para v1.6 e par v2.0.
Mas é claro que só quem tá com essa responsabilidade é que pode realmente
julgar isso.

"Em time que está ganhando não se meche!"
O mesmo disseram Oliveti e Kodak!
O objetivo não é jogar fora o que se tem rodando e rodando bem.
O objetivo é antever demandas e mudanças para justamente não criar
barrerias de evolução.


Espero sinceramente que esse e-mail sirva como incetivo a iniciar uma
movimentação para o Bird 2.0.
Ou quem sabe até para algo melhor(desde que JÁ TENHA UM GRANDE HISTÓRICO DE
SUCESSO em outros IXPs do mundo);



-- 
Douglas Fernando Fischer
Engº de Controle e Automação


More information about the gter mailing list