12 agosto 2009

A decisão de migrar para Linux

Este post faz parte da série que descreve experiencias vividas durante o projeto de desenvolvimento do Basix, neste capitulo falarei sobre como foi a decisão de migrar a plataforma de Windows para Linux.

Nós na Voice Technology já somos adeptos do mundo Open Source há algum tempo, na Business Unit que gerencio 91% dos Desktops e Notebooks rodam Linux, o Ubuntu reina como a maior distro (só nosso amigo Masato-san, e a Daniele que ainda não migraram para o Tux!, mas um dia convenceremos eles...), mas nem sempre foi assim há 5 anos atrás não tinhamos um único produto que roda-se em Linux, ninguém utiliza-va Linux no desktop, nossos produtos todos eram desenvolvidos em plataforma Windows, utilizando Visual Basic, Delphi, C e C++, e rodavam exclusivamente em Windows.

Mas a história começou a mudar durante o Desenvolvimento do Basix (Plataforma de IP-Centrex que desenvolvemos em parceria com a Brastel), no inicio do projeto definimos que o Basix seria escrito em Java, mas até aí não existia nenhuma intenção de roda-lo em Linux, o Java veio porque estávamos em um momento de tentar consolidar todos os novos produtos em uma única linguagem de programação, e a escolhida havia sido o Java (estávamos com certo trauma da salada de linguagens que tínhamos), mas as primeiras versões do Basix rodavam em Windows, e todo o ambiente de desenvolvimento era Windows.

A decisão pela migração de plataforma de Windows para Linux veio quando fomos obrigados a montar uma solução de Cluster para o Basix, neste momento já tínhamos dois profissionais com muita experiência em Linux Ricardo Nohara, e Marcos Hack( os dois ficavam buzinando no meu ouvido trocentas vezes por dia para migrarmos para Linux), mas o desafio era muito grande pois a equipe de desenvolvimento não estava habituada com o Linux, e principalmente o nosso parceiro a Brastel quem iria operar o Basix não tinham nenhuma experiencia com Linux, e para piorar a situação eles estão em Toquio no Japão (há 12 horas de diferença de fuso horario, e a 18.533km de distancia), por conta destas dificuldades decidimos testar a solução de Cluster baseado no "Windows NLB" (Network Load Balance), e a solução baseada em Linux montada com "IPVS"e "Keepalived", de cara descobrimos que nenhuma das duas soluções davam suporte a Cluster de aplicações SIP, ponto negativo para os dois, indo mais a fundo no NLB não encontramos uma forma fácil de customizá-lo para montar o Cluster para aplicações SIP, já neste ponto a solução baseada em Linux levou muita vantagem, pois o par "IPVS" e "Keepalived" é totalmente customizável, então conseguimos montar o Cluster para o Basix apenas desenvolvendo o módulo de Healthcheck SIP, e configurando o IPVS e Keepalived corretamente.

Este foi a principal razão para comprar a briga da migração do Basix para Linux, para convencer todos desta decisão técnica foi bem complicado gestores querendo analise minuciosa de risco, equipe da Brastel querendo treinamento, etc. já a equipe de desenvolvimento era só sorrisos afinal a garotada não trabalhava com Linux mas adorava aventura, mas tínhamos um álibi muito forte a solução baseada Linux era a melhor, e mais barata também.

Neste momento tivemos que preparar um curso de Linux para dar uma introdução para todas as pessoas que não tinham experiencia com o mesmo, este cursos foi ministrado para os membros da equipe de desenvolvimento que ficava no Brasil, e para a equipe que iria operar o Basix no Japão, o curso para o pessoal do Japão foi dado via conferencia.

A decisão de migrar para Linux foi um passo muito importante para entrarmos para valer na cultura Open Source a partir deste momento toda a equipe foi engajada no modelo de trabalho da comunidade open source sempre pensando em como compartilhar melhor o conhecimento, e não reinventar a roda, hoje podemos olhar para trás e ver o quanto é diferente este jeito de desenvolver conhecimento, produtos, inovações, etc. É muito gostoso olhar para trás e ver que toda esta mudança nasceu de 2 Geeks cabeça dura buzinando em nossos ouvidos, e nós um pouco loucos para comprar a briga da mudança (Graças a Deus que demos ouvidos a eles), e toda uma equipe por trás para apoiar tal mudança.

Muito mais gratificante ainda é ver que o Basix é realmente um produto inovador, e está provando isto em todos os mercados que está sendo comercializado, pois tanto no Brasil quanto no Japão cresce a cada dia, com ótimas avaliações dos clientes, e por trás de toda esta história de tecnologia produto e inovação está basicamente um grupo de colaboradores apaixonados pelo que fazem, trabalhando realmente como um time, e que são encarados como pessoas em sua plenitude, com qualidades, defeitos, que acertam, e erram como todos nós, aliás erramos muito, mas para aprender é necessário errar.

Nenhum comentário: