Quando o trabalho remoto não é suficiente: mudando na direção de um sistema de arquitetura descentralizada

2020-06-03

Este é um artigo escrito para a CoinTelegraph pelo CEO da Binance Changpeng Zhao (CZ) em porque e como mudar seu negócio para um sistema de arquitetura descentralizada em meio a pandemia global do COVID-19.

A pandemia global que estamos vivendo desvalorizou os negócios em todo o mundo, forçando as empresas a equiparem suas organizações para enfrentarem uma das piores conturbações que a economia global presenciou nas últimas décadas. Diante da imprevisibilidade, a descentralização - no local de trabalho e nas arquiteturas de sistemas - assumiu o centro do palco como um método para combater as constantes mudanças. Enquanto cada empresa enfrenta seus próprios desafios, as organizações descentralizadas estão melhor equipadas para enfrentarem a realidade atual do ambiente comercial.

Descentralização através de microsserviços 

A arquitetura do sistema da Binance é um bom exemplo quando se trata de descentralização. Nos últimos dois anos, nossa equipe principal de desenvolvedores criou uma solução descentralizada para a plataforma de software da Binance, passando de uma subarquitetura mais monolítica para uma solução baseada em microsserviços.

Embora uma arquitetura monolítica tenha seus benefícios, diferentes componentes de seus aplicativos de software são fortemente acoplados e construídos na mesma estrutura de software, apresentando um problema quando qualquer componente individual precisa ser alterado ou atualizado. 

Uma arquitetura baseada em microsserviços, por outro lado, desacopla esses componentes de software para que eles possam trabalhar de forma independente, com menos chances de ocorrerem interferências cruzadas inadvertidas. 

Essa abordagem permitiu que os desenvolvedores da Binance trabalhassem de qualquer lugar do mundo, pois várias equipes podem trabalhar de forma independente em diferentes partes do software, enquanto se comunicam via API. Uma equipe de desenvolvedores geograficamente diversificada também permite que os membros da equipe da Binance reajam rápida e autonomamente para alcançar o mais alto grau de segurança, resiliência e confiabilidade do sistema. As soluções podem ser construídas e executadas rapidamente, e sempre há alguém acordado que pode responder rapidamente durante o horário de trabalho local se houver a necessidade de serem aplicadas atualizações urgentes. 

A transição para uma solução baseada em microsserviços permite que as equipes A) trabalhem remotamente e B) trabalhem de forma independente, o que evita os custos de atrito da colaboração entre diferentes fusos horários e horas de trabalho. 

1. Soluções de servidor baseado na nuvem 

A Binance sempre foi uma das pioneiras a adotar soluções inovadoras que colocam a segurança e os usuários em primeiro lugar. No questão do servidor, a Binance utiliza uma solução de servidor baseada na nuvem, permitindo que a equipe implante serviços mais próximos dos usuários locais, reduzindo a latência e permitindo que os usuários desfrutem de uma experiência de usuário mais responsiva. 

Enquanto outras organizações podem confiar em soluções mais tradicionais como data center físico ou de nuvem híbridas, a Binance é capaz de manter uma solução totalmente baseada na nuvem, permitindo a rápida implantação de servidores para usuários em todo o mundo, atendendo as necessidades dos usuários locais sem precisar estabelecer uma presença física de maior custo. 

A equipe da Binance DevOps é capaz de gerenciar milhares de servidores em todo o mundo a partir de interfaces consolidadas, uma vez que foram desenvolvidas desde o começo em infraestrutura baseada na nuvem e com zero infraestrutura legada. Isso significa que a Binance é capaz de manter os mais altos níveis de segurança em todos os servidores, com os mesmos padrões de segurança utilizados em todos os servidores operacionais. 

No que diz respeito ao compliance, as soluções baseadas na nuvem permitem que a equipe da Binance implante rapidamente servidores locais que atendam aos requisitos locais. Esses servidores locais geralmente têm exclusivas integrações de software, projetadas para manter a segurança e o compliance com os mercados locais. 

2. Inovação priorizando a segurança

“A segurança é sempre a principal prioridade. Internamente, desde o design do produto até as implementações da arquitetura, a segurança é sempre a regra estrutural que trabalhamos para manter os fundos dos usuários seguros. ” - Equipe de desenvolvedores da Binance

O sistema interno da Binance segue um modelo de "Zero Confiança" para garantir a segurança máxima quando se trata de verificação de identidade. Isso é especialmente importante, pois os desenvolvedores da Binance precisam acessar remotamente sistemas internos confidenciais. Todo funcionário da Binance precisa passar por um processo de autenticação antes de poder logar no sistema. Nenhum usuário - interno ou externo - é confiável até que sua identidade seja verificada. Essas medidas são aplicadas a todos os sistemas. 

Depois que os usuários forem verificados, as permissões para efetuar login em determinados sistemas internos são concedidas em um modelo de acesso com privilégios mínimos, dependendo das funções e permissões atribuídas a cada funcionário específico. 

3. Estabilidade e desempenho do sistema

Além da questão de segurança, os desenvolvedores da Binance procuram continuamente maneiras de melhorar a arquitetura do sistema para obter um alto grau de resiliência. Os sistemas resilientes são configurados para prover ao usuário uma experiência perfeita, mesmo com fatores externos imprevisíveis, como alto tráfego ou demanda. 

As integrações controladas por dados monitoram continuamente o desempenho do sistema de tráfego, e respondem a um influxo de demanda, ajustando automaticamente a arquitetura do sistema, através do método chamado escalonamento automático para oferecer maior tempo de atividade durante períodos de volatilidade. Em razão das intensificações nos trades nesses últimos meses, os desenvolvedores da Binance têm trabalhado diligentemente para garantir que o sistema mantenha tempos de resposta rápidos, criando "percepção zero do usuário" da pressão do sistema.  

4. Descentralização organizacional

Por fim, uma organização descentralizada precisa ter o design descentralizado. Espera-se que, sempre que possível, os funcionários da Binance executem de forma autônoma e sirvam como especialistas no assunto para reduzir gargalos na tomada de decisões. A maioria dos funcionários possui e lidera seus próprios projetos, define seus próprios objetivos e encontra continuamente novas maneiras de inovar as soluções existentes. Essa independência permite que os membros da equipe executem rapidamente e trabalhem eficientemente enquanto se conectam de maneira pontual com os membros da equipe, sempre que necessário. A colaboração é, obviamente, a chave, mas os projetos se movem mais rapidamente quanto possuem uma equipe ágil. 

5. Força de trabalho remota (Estamos contratando!

Além de uma filosofia de organização descentralizada, a Binance tem empregado uma força de trabalho remota por grande parte de sua existência, com mais de 1200 membros em mais de 50 países e regiões, colaborando juntos por chamadas de vídeo e de voz, aplicativos de mensagem e, eventualmente, reuniões cara a cara, quando possível. 

Em razão da pandemia global, gigantes da tecnologia como Apple, Microsoft, Twitter e Facebook instituíram políticas de trabalho remoto de médio a longo prazo. Por fim, um local de trabalho totalmente descentralizado oferece oportunidades para as empresas enfrentarem ambientes de negócios adversos enquanto sofrem mínimas interrupções operacionais. A atual pandemia global indubitavelmente levará as empresas a descentralizarem ainda mais, sempre que possível, servindo como um indicador de mudança nos locais de trabalho em todo o mundo.  

- CZ, CEO da Binance

Siga-nos em nossos canais em português no novo Twitter, novo Instagram, Facebook e YouTube. Participe do nosso grupo oficial da Binance em Português Telegram para conversar com a nossa comunidade.