A Plataforma.

Ericksson Faustino
Tech@Grupo ZAP
Published in
4 min readMar 13, 2017

Eu era um simples sysadmin tentando ficar no lip da onda, acompanhando a tendência DevOps talvez não da melhor maneira, confesso, mas eu me esforçava. Houveram algumas mudanças na minha equipe, e da noite pro dia comecei a ouvir o termo "Time de Plataforma". Eu não tinha ideia do que era isso, mas achei que era como aquelas mudanças que demoram anos a chegar, e que mesmo assim você sempre é pego de surpresa, porque foi um mané e não se preparou direito. Pois é, o dia chegou. Eu mesmo, Ericksson Faustino, fazia parte da equipe de Plataforma.

Levei um tempo pra entender tudo, colar as partes soltas, vislumbrar o todo, mas no final fez sentido e nesse momento tive uma epifania imensa. Vou tentar explicar, mas não garanto nada, daqui pra frente, é por sua conta e risco.

O que significa "Plataforma"?

Uma Plataforma é algo que serve para dar suporte, mas não apenas para dar suporte, também serve pra organizar e fazer com que você siga boas práticas e no final tenha um resultado melhor com menos esforço.

Vamos imaginar uma estação de metrô, igual a da foto lá em cima.

Nela há uma Plataforma e ela tem várias funções:

  • Acomodar as pessoas que aguardam o trem.
  • Bancos para o aguardo.
  • Abrigo da chuva.
  • Sinalizar as direções para quem está na estação poder tomar o caminho correto.
  • Alertar sobre os possíveis riscos em uma estação de metrô.
  • E até coisas mais simples, como lixeiras.

Ou seja, sem a Plataforma, esperar o trem seria uma experiência pior, sofrível.

Você poderia usar um computador sem Sistema Operacional, mas tê-lo como plataforma, simplifica muito as coisas, certo? Você não precisa criar suas próprias interfaces, nem device drivers, nem co-rotinas, você apenas usa o computador e lucra. Simples.

Encaixando coisas que não se encaixam.

Temos muito medo de reinventar a roda e as vezes tentamos fazer algo pior: Adaptar algo para o nosso caso. Tentar usar de uma forma que resolva nosso problema, e isso funciona bem na maioria das vezes, mas as vezes falta aquele 1% vagabundo, sabe? E como você está usando algo que não foi você quem fez, fica a mercê do criador esperando até o dia que ele vai olhar pro seu problema. Só que se tratando de desenvolvimento, isso pode nunca acontecer e você ganhar aquela bela tag 'won't fix'. Cada organização tem uma forma de trabalhar diferente, com problemas de domínios diferentes, então as vezes pensar na sua própria solução não é nenhum Overkill.

O segredo é abstrair.

Aqui no Viva, me lembro do Nykolas Lima sempre me pedir um jeito de que ele não tivesse que saber nada sobre a Infra, para poder fazer deploy de uma aplicação. Isso me intrigava, me fazia pensar e nessa época remota eu não conseguia sequer imaginar um jeito para fazer isso. O Nyko necessitava de abstração. Ele não queria ter que saber qual range de IP, qual versão do Sistema Operacional, qual o nome que ele deveria colocar nos hosts. Tudo isso era muito tedioso, chato e improdutivo. E ele estava totalmente certo.

Pensamos em um jeito de criar algo que desse aos desenvolvedores (Se você tem uma startup, você têm clientes, se tem uma plataforma, você têm desenvolvedores.), um jeito fácil de fazer o deploy de uma app, sem muitas informações e detalhes de implementação. Com algum esforço, conseguimos fazer algo minimamente notável: Agora é possível fazer o deploy de uma app, sabendo apenas 4 informações: Nome da App, nome da equipe, ambiente e região. Isso basta.

Além disso, percebemos que as apps 'deployadas' usando essa ferramenta, podiam ter seus logs integrados com nosso centralizador de logs, kernel otimizado, patches de segurança, e etc, sem esforço, como se diz nos sites de Plataforma: 'Painless integration'. Wow. Fizemos isso.

E assim, poderíamos guiar todas as apps, para que seguissem as boas práticas e tornasse o nosso dia-a-dia mais produtivo e menos trabalhoso.

E todos foram felizes para sempre.

Quase…

Na verdade, isso foi só um começo e houveram muitos problemas, vários bugs, muitas dúvidas e nem todos acreditaram em nosso propósito.

Aprendemos que é importante ouvir as pessoas que acreditam e que mesmo depois de alguns tropeços estarão lá com a mesma boa vontade, a propósito, Obrigado.

Mas estamos mais maduros e mais preparados para os novos desafios, que são grandes. Queremos transformar o jeito de se fazer software aqui dentro do Viva, nós queremos que nossos desenvolvedores se sintam bem desenvolvendo, entregando features e não preocupados com Infra e essas coisas chatas de Sysadmins. Que sejam produtivos, que mudem o mercado imobiliário Brasileiro.

Como eu disse, há muita coisa a se fazer ainda, precisamos integrar todos os sistemas e atender a necessidade dos nossos desenvolvedores, mas eu vejo o dia em que qualquer um, poderá colocar software em produção no primeiro dia de trabalho, seguindo todos os detalhes e boas práticas para uma app dos sonhos.

Difícil de acreditar? Imagine quem ouviu falar de um negócio chamado avião, pela primeira vez em toda história.

--

--