A Coinbase usa o AWS Step Functions para implantar com segurança na AWS em segundos

As criptomoedas fornecem acesso descentralizado a fundos e permitem transações em dinheiro que não podem ser revertidas por ninguém, exceto pela parte que recebe os fundos. Essas características fazem parte do que impulsiona a popularidade crescente das criptomoedas — não apenas entre os investidores que cumprem a lei, mas também entre os agentes mal-intencionados, cujos motivos e oportunidades para o roubo de criptomoedas só aumentam à medida que cresce ainda mais a utilização de criptomoedas. Relatórios de roubos de criptomoedas para o Internet Crime Complaint Center (IC3) do FBI totalizaram 182 milhões USD em 2018, um aumento de 212 por cento em relação a 2017 e provavelmente apenas uma fração do volume real de perdas mundiais de criptomoedas por fraude.

“Invadir bolsas de criptomoedas é a maior competição entre hackers do mundo,” diz Graham Jenson, um engenheiro sênior de infraestrutura na Coinbase, uma carteira e plataforma de moeda digital com 30 milhões de clientes em todo o mundo e negócios totalizando 220 bilhões USD. “Como uma das maiores bolsas, a Coinbase também é um dos maiores alvos.”

Visando operar como o centro confiável, seguro e legal da criptoeconomia, a Coinbase se esforça para ser de classe mundial em segurança, conformidade, tecnologia, suporte ao cliente, design e muito mais. É por isso que a Coinbase usa a Amazon Web Services (AWS) como seu provedor de infraestrutura principal desde 2015 e porque recentemente incorporou tecnologias adicionais da AWS como parte da melhoria de seus processos de implantação de software.

Para proteger seus clientes de ataques, os engenheiros da Coinbase precisam implantar atualizações e novos recursos de forma rápida, confiável e segura para todos os sistemas da empresa, com algumas implantações de software precisando de 20 horas ou mais para concluir. Para simplificar e fortalecer esses processos, a Coinbase usou o AWS Step Functions e o AWS Lambda para criar uma estrutura comum reutilizável para o que tinha sido um portfólio ad hoc de implantadores. (O AWS Lambda é uma plataforma sem servidor que executa código em resposta a eventos, e o AWS Step Functions coordena vários serviços da AWS em fluxos de trabalho sem servidor.)

“O uso do AWS Step Functions e do AWS Lambda aumentou nossa taxa de implantações de missão crítica bem-sucedidas de 90 para 97 por cento”, diz Jenson.

“Observamos uma redução significativa nos registros de problemas. Isso se deve à visibilidade que o AWS Step Functions dá aos nossos engenheiros.”

Graham Jenson, Engenheiro de infraestrutura sênior, Coinbase

  • Sobre a Coinbase
  • A Coinbase é uma carteira e plataforma de moeda digital com sede em San Francisco. A empresa tem 30 milhões de clientes e foi a base de negociações de mais de 220 bilhões USD em moedas digitais como bitcoin, ethereum e litecoin.

  • Benefícios
    • Taxa elevada de implantações bem-sucedidas de 90 para 97%
    • Reduzir o tempo necessário para adicionar novas contas AWS de dias para segundos
    • Número significativamente maior de tíquetes resolvidos
  • Serviços da AWS usados

AWS Step Functions: “Exatamente o que eu precisava”

Buscando maneiras de fortalecer ainda mais a segurança na Coinbase, Jenson identificou uma oportunidade para melhorar os pipelines de implantação automatizados da empresa. “Tínhamos vários implantadores, cada um com diferentes interfaces e complexidades”, diz Jenson. “Eu queria uma estrutura comum que nos permitisse criar rapidamente implantadores que pudessem validar a entrada do usuário, liberar código com segurança para a AWS e que não atrapalhasse nossos engenheiros.”

Durante a pesquisa de soluções, Jenson aprendeu sobre o AWS Step Functions. “Assim que revisei a documentação, percebi que o Step Functions era exatamente o que eu precisava”, diz Jenson. “O Step Functions pode manter o estado por até um ano, é altamente escalável e facilita a descrição de como lidar automaticamente com erros específicos e novas tentativas após estes ocorrerem.”

Optar por construir sua nova classe de implantadores com uma estrutura baseada no AWS Lambda e AWS Step Functions, e usando o AWS Identity and Access Management (AWS IAM) e o Amazon Simple Storage Service (Amazon S3), levou a Coinbase a um caminho rápido para a implementação, com apenas uma breve curva de aprendizado inicial. O primeiro implantador criado pela equipe de Jenson, um implantador de código aberto da AWS chamado Odin, pega uma descrição de uma versão de projeto e a inicia com segurança na AWS usando grupos do Auto Scaling do Amazon Elastic Compute Cloud (Amazon EC2).

“Desde a ideia até a implementação do trabalho e até a migração do Odin para a solução, ao todo, foram seis meses desde a criação até a produção”, afirma Jenson. “Mas, como podemos reutilizar o código e a estrutura em que o Odin foi criado, demorou apenas algumas semanas para colocar nossos próximos dois implantadores em produção. Daqui para frente só vai ficar mais rápido.”

Arquitetura simplificada com o Step Functions

A nova abordagem reduziu consideravelmente a complexidade da arquitetura da Coinbase, que por sua vez melhora a visibilidade para a equipe de Jenson.

“Nossos implantadores anteriores tinham diferentes web hooks, callbacks, layouts do Amazon S3, buckets e funções do AWS IAM e usavam diferentes meios de comunicação e pesquisa. Foi muito difícil conseguir a visibilidade de que precisávamos”, disse Jenson. “Atualmente, com todos os nossos implantadores tendo a mesma base do AWS Lambda e AWS Step Functions, operamos e interagimos com eles da mesma maneira. Podemos realmente observar o fluxo de dados por meio do Step Function, identificar falhas ao longo de caminhos específicos e tomar uma atitude para corrigi-las.”

Essa simplicidade acelera o processo de inclusão de contas da AWS e melhora a segurança. “Usar o AWS Lambda com o AWS IAM assumindo a função, podemos integrar uma conta da AWS com uma única função do AWS IAM, ao contrário de um serviço inteiro com sua própria configuração individual”, diz Jenson. “Com o AWS Lambda e AWS IAM, reduzimos o tempo necessário para adicionar novas contas AWS, de dias para segundos.”

A nova solução também simplifica a capacidade de auditoria. “Podemos habilitar várias contas passando por um único Step Function, o que nos dá uma única trilha de auditoria para todas as implantações”, diz Jenson. “Com isso, fica mais fácil entender o que aconteceu em todas as contas e nos permite ativar novas contas com alta segurança sem ter de reimplementar a trilha de auditoria.”

Capacitando os engenheiros para superar os obstáculos de forma independente, a solução também está reduzindo as demandas da equipe de infraestrutura. “Observamos uma redução significativa nos tickets de registro de problemas”, diz Jenson. “Isso ocorre em decorrência da visibilidade que o AWS Step Functions dá aos nossos engenheiros permitindo que eles diagnostiquem e resolvam seus próprios problemas.”

O que todos esses benefícios técnicos internos somam é maior segurança e resposta mais rápida às solicitações do cliente. “Com implantadores criados com base no AWS Step Functions e AWS Lambda, nossos engenheiros podem mover o código para a produção de forma segura”, diz Jenson. “O resultado é que podemos lançar novos recursos com mais frequência, responder de forma mais rápida às ameaças de segurança e cumprir com mais facilidade nossos SLAs. Isso contribui para uma experiência do cliente ainda melhor e mais segura.”


Saiba mais

Saiba mais sobre o AWS Step Functions.