Carguero: A migração do Azure para a Cloud AWS aumentou a eficiência do transporte no setor de Agrotech do Brasil

Sobre a Carguero

A Carguero é uma joint venture, uma empresa de transporte desenvolvida por quatro empresas líderes do mercado agrícola no Brasil: LDC, Maggi, Cargill e DM Brasil. Com download do aplicativo da Carguero na linha de frente, a empresa foi projetada para transformar o setor de transporte de carga brasileiro, tornando-o mais inteligente, transparente e acessível para todos.

O aplicativo da Carguero traz informações específicas e atualizadas sobre o frete, isso permite que os caminhoneiros escolham o frete que vão entregar com base no preço, distância e na empresa. A intenção do aplicativo é dar aos motoristas mais autonomia e controle sobre seus horários e renda. Assim que foi lançado, o aplicativo foi baixado por mais de 100 mil usuários e teve um alcance de 40% do mercado brasileiro de agronegócio.

O desafio do negócio

Por fazer parte dos segmentos de transporte agrícola, a plataforma Carguero requer alta disponibilidade 24×7, especialmente durante as épocas de pico agrícola, como é o caso da colheita de soja. Se a plataforma não estiver disponível a qualquer hora do dia, os caminhoneiros podem perder informações sobre o frete noturno, levando à escassez de trabalho e transporte. 

Apesar da infraestrutura da Carguero já existir na nuvem, eles passavam por problemas frequentes relacionados ao desempenho, tempo de inatividade e capacidade reduzida do aplicativo, principalmente, quando o app precisou se recuperar rapidamente de falhas que surgiram durante 2021. A combinação dessas falhas resultou na constante indisponibilidade do aplicativo, causando uma redução de 15% na base de motoristas. Como consequência, as empresas Carguero viram um impacto negativo em suas cadeias de suprimentos e receitas, o que também interrompeu seu plano de expansão e a participação no aplicativo de mais empresas do ramo agrícola.

Migração do Azure para a AWS

  • Fase de Avaliação

A DNX Brasil entrou em contato com a Carguero para descobrir por que esses problemas estavam ocorrendo e qual seria a melhor forma de corrigi-los. Inicialmente, a nossa equipe realizou uma Avaliação, criou um Relatório de Custos e participação de briefings com as principais partes interessadas da Carguero para obter um panorama da situação atual. Essa avaliação permitiu que a DNX identificasse lacunas ao longo de todas as seis dimensões do AWS Cloud Adoption Framework: negócios, processos, pessoas, plataforma, operações e segurança. Além disso, obtivemos informações valiosas sobre os negócios, recursos, infraestrutura e objetivos da Carguero, todas essas informações foram levadas em consideração no desenvolvimento do business case. Dessa forma, o business case ajudou a Carguero no processo de tomada de decisão, levando a uma migração Azure-AWS com o objetivo de atingir as metas de crescimento de negócios e corrigir problemas existentes com a disponibilidade.

Vários itens foram incluídos em um abrangente plano de migração, tais como:

  • Identificação das aplicações para migrar e/ou modernizar;
  • Identificação dos Dados e Armazenamento para migrar e/ou modernizar;
  • Requisitos de segurança e compliance;
  • Projeto do Modelo de Operação;
  • Visão geral do custo total de propriedade do Lite
  • Identificação dos principais riscos de cada um dos 6 pilares da AWS, incluindo suas gravidades
  • E a criação de um roteiro de mitigação de riscos.

 

  • Fase de Mobilização

Para iniciar a Fase de Mobilização, o business case foi refinado e um modelo operacional foi colocado em níveis. A equipe priorizou quais aplicativos seriam migrados e definiu a proposta para o tipo de estratégia de migração. A estratégia aceita foi desenvolvida com base na complexidade da aplicação da infraestrutura existente, priorizando o ambiente e a complexidade dos negócios da Carguero. 

A próxima etapa na Fase de Mobilização foi a implantação da well-architected foundation da DNX, o Citadel. Ao usar o Citadel, uma infraestrutura como código (IaC) automatizada, segura e pronta e em conformidade, a Carguero ficou tranquila sabendo agora estaria em uma base forte e segura. Após a implantação do Citadel, nossa equipe construiu uma prova de conceito migrando um pequeno número de aplicações, e sempre envolvendo o cliente no processo, aumentando sua compreensão e garantindo que o conhecimento sobre as melhores práticas de nuvem fosse compartilhado. E concluída as migrações iniciais, a Fase de Migração será iniciada. 

 

  • Fase de Migração

Para reduzir o risco de o projeto bem como manter a confiança de Carguero em cada etapa, a migração foi realizada observando fases. Com grande foco na otimização de aplicações, sempre consideramos as circunstâncias e necessidades do cliente antes de implantar uma plataforma específica no Citadel, seja Fargate, Kubernetes, Lamidus, Datalake e Databreaks. Para manter os custos sob controle e dar retorno a longo prazo para o cliente, primeiramente a DNX Brasil migrou o banco de dados do cliente antes de otimizar o banco de dados RDS MySQL. Por fim, as 25 aplicações Kubernetes EKS foram modernizados e migradas para a Citadel, garantindo que a Carguero fosse beneficiada desde o início com a Cloud AWS.

Serviços da AWS que foram utilizados:

  • EKS
  • RDS 
  • ALB 
  • WAF 
  • SSO
  • GuardDuty 
  • Elastic Cache Redis 
  • ECR
  • Route53
  • CloudFront
  • Lambda
  • ACM
  • S3
  • CloudTrail

Resultados e Próximos Passos

Como resultado da modernização e migração de aplicações e dos dados, a empresa atingiu a meta de 99,9% de disponibilidade para sua aplicação. Isso levou a um aumento de 20% no número de usuários, melhorando a capacidade de resposta e resiliência das agroempresas brasileiras que fazem parte da Carguero.

Com a estruturação do ambiente no IAC, a equipe da Carguero conseguiu replicar os ambientes de desenvolvimento, resultando em um aumento significativo de versões das aplicações.

Estamos agora trabalhando em um projeto de recuperação de desastres para a Carguero, fortalecendo ainda mais sua aplicação na nuvem.

A DNX possui especialistas em nuvem qualificados que garantem uma entrega eficaz.
Os projetos realizados com a Carguero foram efetivos e ajudaram muito a empresa em seu crescimento. A equipe do projeto trabalha de forma muito próxima e assertiva.


Andre Moraes – Head de Cloud & Cybersegurança, Carguero

Confira nossos projetos de open-source em github.com/DNXLabs e siga-nos no LinkedInTwitter e Youtube.

Case_GalaxPay

Galax Pay: Migração para nuvem garante mega investimento para a empresa

Sobre a Galax Pay

Galax Pay é uma plataforma automatizada de gerenciamento de cobranças de cartão de crédito, boletos e pix. Como uma fintech brasileira, a Galax Pay é integrada às operadoras de cartão de crédito para facilitar o processo de cobranças recorrentes. A plataforma ainda oferece acesso a relatórios completos de dados de vendas, gateway de pagamentos para faturas únicas, relatórios customizáveis, gerenciamento automatizado e outras ferramentas que facilitam a gestão de faturamento.

A empresa entendeu que um dos maiores desafios enfrentados pelos empresários brasileiros é a dificuldade de previsibilidade financeira, o que impede investimentos e melhorias em seus negócios. Assim, o sistema de pagamento financeiro Galax Pay foi criado com o objetivo de acabar com esse problema, oferecendo às empresas segurança no recebimento de seus pagamentos mensais.

Em 2015, a inadimplência crescia a uma taxa alarmante em decorrência de uma crise econômica que atingiu o país. Foi então que Márcio Vinícius, atual CEO da Galax Pay, entendeu que era fundamental aprimorar os processos de cobrança e recebimento das empresas. A Galaxy Pay surgiu em um momento em que nenhuma companhia oferecia serviço de pagamento automático de cartão de crédito a um custo acessível para os clientes.

Sobre o sistema

O principal objetivo do Galax Pay é simplificar o gerenciamento de pagamentos através da automação e facilitar os processos de recebimento de pagamentos únicos e recorrentes. Atuando como um intermediário entre bancos, empresas e clientes, a plataforma Galax Pay possibilita que pagamentos sejam efetuados e recebidos por intermédio de vários métodos – incluindo débito direto autorizado e Pix, plataforma gratuita de pagamentos eletrônicos instantâneos administrada pelo Banco Central do Brasil.

A Galax Pay facilita a comunicação das companhias com seus clientes finais, além de oferecer controle total sobre todos os pagamentos por meio de relatórios. Atualmente, a Galax Pay processa mais de R$45 milhões mensais e atende mais de 2.700 clientes.

O Desafio da Empresa

O crescimento inicial da Galax Pay foi lento em decorrência de restrições em sua infraestrutura que estava hospedada on-premise. Problemas diários que a infraestrutura apresentava demandavam quase todo o foco da equipe, reduzindo o tempo disponibilizado para desenvolver a solução.

O time da Galaxy Pay tinha 27 pessoas, e pelo menos 10 delas tinham envolvimento direto com o lançamento dos processos, monitoramento de ambiente e criação de ambiente de teste e validação. Além disso, outros departamentos da empresa operavam com uma equipe muito enxuta, o que resultou na dificuldade de crescimento – pois quando se tem uma estrutura on-premise, quanto mais desenvolvedores são contratados, mais a estrutura tem que crescer para acomodá-los.

A ausência de implantações automatizadas (CI/CD pipelines) e de estratégias de implantação fizeram com que novas versões da aplicação se tornassem amplamente indisponíveis. O repositório estava sendo utilizado indevidamente – os conceitos dos branches de desenvolvimento do GitLab estavam sendo aplicados incorretamente. Na ausência de containers era necessária uma configuração na máquina do desenvolvedor (por aplicação), o que gerou problemas relacionados à disponibilidade no ambiente final. Isso acabou por envolver diretamente os ambientes criados em uma relação de ambiente de desenvolvimento versus ambiente de teste, levando a uma grande necessidade de ambientes de testes e uma grande quantidade de fusões até que uma versão pudesse ser produzida.

Um pacote gerado manualmente foi disponibilizado no servidor, sem nenhum tapete de integração (CI) ou de disponibilidade (CD) e sem nenhuma estratégia de implantação definida – como por exemplo, uma estratégia de implantação verde azul. Ao mesmo tempo, foi liberada uma versão distribuída a todos os clientes.

A maior parte dos lançamentos causou interrupção no serviço para o cliente final, o que pode custar muito caro para a reputação de uma fintech – há uma diminuição da percepção de eficiência e confiabilidade da empresa. Além disso, o próprio uso de repositórios no GitLab e a estratégia de ambientes non-prod também precisavam ser revistos para que a empresa pudesse gerenciar o controle de qualidade por meio do uso de ambientes de teste e aumentar a velocidade dos lançamentos por meio da automação.

A fintech também precisava estar em conformidade com as normas de PCI DSS no setor de pagamentos para atestar o seu comprometimento com o Padrão de Segurança de Dados da Indústria de Pagamento com Cartão. Embora ter um ambiente seguro seja o primeiro passo para obedecer aos padrões de segurança da indústria, o que realmente conta é a capacidade de se manter continuamente em cumprimento dessas regras.

Foi nesse contexto que a Galax Pay procurou a DNX para assessorar na migração de sua estrutura on-prem para a nuvem, algo que possibilitaria o crescimento que a empresa almejava. Através dessa transformação, a DNX influenciou diretamente na habilidade da Galax Pay de atrair investidores e escalar o seu crescimento comercial agregado ao aumento do investimento – resultando em um investimento da CelCoin.

O Processo

  • Fase de Avaliação

Através de briefings executivos, a DNX entendeu e catalogou a infraestrutura existente na Galax Pay. Essa etapa exige muita habilidade e é uma parte crítica na jornada de migração. Contudo, ela permitiu que a equipe da DNX não apenas entendesse as dependências e problemas comuns no ambiente, como também estimasse um Custo Total de Propriedade (TCO), aumentando a visão da Galax Pay sobre o seu próprio negócio. Terminada essa fase, a DNX identificou os recursos e aplicações necessárias para realizar a migração.

A DNX também identificou redundâncias e recursos subutilizados, incluindo base de dados que foram replicadas em vários servidores e máquinas compradas para atender demandas de datas específicas – como por exemplo a Black Friday – e que acabavam sem uso pelo restante do ano. A identificação desses custos adicionais ajudou a Galax Pay a tomar decisões que aumentaram as oportunidades de redução de custos e escala.

O principal resultado dessa fase de avaliação foi a criação de um business case de alto nível que desenhou diversas estratégias para que o time atingisse os objetivos do projeto. A análise do negócio possibilitou que a Galax Pay avaliasse todas as opções disponíveis usando suas prioridades e necessidades como parâmetros, o que, em última instância, contribuiu para decisões mais sólidas para o projeto em questão.

Baseada na avaliação dos processos de interação com os clientes, a melhor solução encontrada foi a migração de as aplicações. Os containers disponibilizam uma forma padrão para o armazenamento de configurações, códigos e dependências das aplicações em um único objeto, compartilhando apenas um sistema operacional instalado no servidor. O uso de containers permite que a equipe faça implantações de forma rápida, confiável e consistente, independentemente do ambiente.

Com a evolução do processo de virtualização, os containers são capazes de redimensionar a aplicação rapidamente por precisarem de pouco tempo de inicialização. Esse método simplifica a automatização do processo de implantação – já que a aplicação fica empacotado e pode ser disponibilizado em diferentes ambientes, como o desenvolvimento, homologação e produção.

A DNX concluiu que esse era o melhor método para acompanhar o desenvolvimento da aplicação, já que uma vez feita a conteinerização, há a garantia de que tudo o que a aplicação necessita para operar está intrinsecamente ligada a ela. A estratégia maior era garantir a máxima disponibilidade para o usuário final.

  • Fase de Mobilização

Após a avaliação, iniciou-se o processo de planejamento – o momento em que a DNX começou a desenhar a nova arquitetura e o plano de migração de acordo com as necessidades da Galax Pay. A DNX avaliou as lacunas de tempo de resposta da nuvem e interdependência entre aplicações, descobertas na fase anterior. Além disso, foram avaliadas todas as possíveis estratégias de migração para garantir que a mais adequada fosse selecionada e atualizada no business case. Durante a etapa de Mobilização, a equipe da DNX implantou a Citadel, uma infraestrutura na nuvem arquitetada nos padrões de Well-Architected da AWS, pronta para entrar em conformidade com as normas de órgãos reguladores internacionais como PCI DSS, HIPAA, ISO 27001, CDR. E em seguida trabalhou com o cliente para projetar a plataforma da aplicação.

A solução apresentada à Galax Pay foi a de performar a migração através da modernização da aplicação e da utilização de containers utilizando o Amazon ECS, que é executado utilizando o Fargate. O ECS permite a configuração de métricas como CPU, memória e número de conexões, que auxiliam no escalonamento automático. O Fargate foi escolhido para alcançar a elasticidade e agilidade necessárias para a aplicação Galax Pay, pois permite que dois containers sejam executados ao mesmo tempo sem a necessidade de gerenciar servidores ou clusters de instância EC2.

O Fargate simplifica o processo da Galax Pay ao eliminar a necessidade da escolha de um tipo de servidor e o tempo de dimensionamento e de empacotamento de clusters. Outro motivo pelo qual o Fargate foi a escolha perfeita nesse caso foi o atendimento aos critérios de conformidade de PCI exigidos pelo ambiente. O uso do Fargate significa que a Galax Pay não precisará atualizar continuamente o sistema operacional ou utilizar sistemas de anti-vírus para a manutenção da segurança das máquinas.

Antes de iniciar a terceira e última fase do projeto, a DNX concluiu a configuração da zona de aterrissagem utilizando a fundação segura da Citadel e preparando o terreno para a migração de várias aplicações-piloto.

  • Fase de Migração

Após a comprovação do sucesso dos aplicações-piloto, começou a migração do restante dos dados da Galax Pay para o ambiente seguro criado na AWS. Para que a Galax Pay se beneficiasse totalmente de tudo que a AWS tem a oferecer, durante o processo de migração o time da DNX realizou uma modernização. Ao modernizar dados e aplicações com conceitos nativos da nuvem, a Galax Pay se preparou para um futuro de sucesso – em que a eficiência de suas operações é otimizada.

Ao replicar o banco de dados, a DNX garantiu a sincronização ativa de dados – o que possibilita que os mesmos sejam replicados no ambiente operacional, reduzindo o downtime para cutover. Ou seja, ir além de uma simples estratégia de levantamento e deslocamento permitiu que a Galax Pay evitasse trazer os problemas do passado para o futuro da empresa.

A Galax Pay entrou em contato com a DNX Solutions do Brasil à procura de uma migração de on-prem para a nuvem, mas a entrega final superou as expectativas. O cliente buscava uma migração lift-and-shift para a AWS, mas entregamos uma modernização completa de acordo com os padrões de qualidade da AWS. A Galax Pay estava ciente dessa solução, mas imaginava que seria algo para o futuro. No entanto, implementamos essa solução nesse momento, evitando que a Galax Pay tivesse que se envolver em um novo projeto mais adiante.

Com o resultado alcançado, a Galax Pay:

  • Aumentou a percepção de disponibilidade e performance da aplicação
  • Diminuiu o tempo de resposta para melhorias e correção de bugs (bug fixes) e sua efetiva disponibilização. Isso foi refletido no aumento de sua nota na plataforma de avaliação online Reclame Aqui
  • Maior segurança para o cliente ao atender os padrões PCI DSS

A modernização da aplicação foi entregue como parte do projeto de migração, aumentando a agilidade e segurança e permitindo que a Galax Pay atingisse metas projetadas para anos no futuro.

 

Aumento do Investimento e Crescimento

 

De 2020 a 2022, A Galax Pay cresceu 420% em receita do ano fiscal. Enquanto isso, o número de clientes aumentou aproximadamente em 150%, indo de 1.116 para 2.784 clientes.

Com os desafios operacionais causados por uma estrutura datada resolvidos pela migração efetuada pela DNX, as estratégias de negócio e promoção ganharam destaque. O resultado atraiu o investimento da CelCoin, que atuou como um catalisador financeiro impulsionando os negócios. A fundação segura e dimensionável entregue pela DNX Brasil garantiu que a Galax Pay estivesse preparada para lidar com aumentos de fluxo repentinos.

Estima-se que o aumento de clientes que a Galax Pay alcançou seria atingido em cinco anos, caso eles tivessem mantido sua infraestrutura on-prem.

 

Aumento de Entregas

 

Como uma fintech com uma solução digital sendo alimentada por um canal digital de aplicações, tecnologia é o cerne do negócio. O time da DNX implementou a automação de implantação e compartilhou conhecimento com a Galax Pay em relação ao GitLab e ambientes não produtivos. Isso permite a constante entrega de novas versões da aplicação diariamente.

 

Tranquilidade

 

Galax Pay agora opera a partir de uma estrutura segura de nuvem, a Citadel, que oferece tranquilidade operacional e de conformidade por meio de maior resiliência, confiabilidade e segurança.

 

Maior Desenvolvimento

 

A substituição da atualização manual pela automação otimizou o uso do tempo da equipe. Com as preocupações com a infraestrutura resolvidas, a equipe de desenvolvimento da Galax Pay agora tem tempo disponível para se concentrar nos objetivos principais da empresa e criar novos recursos para a solução.

A automação também permitiu que a Galax Pay implementasse novos recursos em um ritmo que atendesse aos desejos de seus clientes. O controle de qualidade também foi aprimorado por meio da criação de ambientes de teste e produção, permitindo que novos recursos sejam testados antes de serem liberados para o usuário final.

Antes do envolvimento da DNX, a Galax Pay estava restrita a liberar novas funcionalidades manualmente apenas aos finais de semana. Agora, o time tem a flexibilidade de liberar novas funcionalidades de três a quatro vezes por dia.

 

Conformidade PCI

 

O ambiente desenvolvido com a solução Citadel permite que a plataforma Galax Pay atinja a conformidade com PCI rapidamente, por esse ambiente ser compatível com PCI em sua construção. A Galax Pay também utilizou o DNX Managed Services, serviço oferecido pela DNX, para coletar evidências para uma empresa externa de auditoria, que confirmou sua conformidade. Isso garantiu a certificação PCI da empresa.

Uso Contínuo de Serviços Gerenciados

Reconhecendo a eficiência do trabalho da DNX ao longo do projeto, a Galax Pay optou por fazer uso contínuo do DNX Managed Services, que vem agregando valor à empresa há mais de um ano.

Atualmente, a DNX fornece um serviço de extensão SRE para a Galax Pay, onde a DNX é a parceira expert da AWS e DevOps da Galax Pay. Ao estabelercer uma parceria de confiança, a Galax Pay não precisa se lançar no mercado de trabalho em busca de mão-de-obra especializada. Isso garante benefícios ao cliente final da Galax Pay, já que o time pode manter o foco no que faz a aplicação rodar melhor – solucionar bugs, implementar melhorias e adicionar novos recursos que facilitam a vida dos das pessoas e empresas que contam com o serviço da Galax Pay.

Confira nossos projetos de open-source em github.com/DNXLabs e siga-nos no LinkedInTwitter e Youtube.

ScalaMed application on phone

Scalamed: Construindo um ambiente compatível com a HIPAA ao migrar do Heroku para a AWS.

ScalaMed application on phone

Sobre Scalamed

A Scalamed é uma startup australiana que permite que os pacientes recebam prescrições diretamente de seus médicos em seus celulares. Com uma abordagem centrada no paciente, a Scalamed acredita que é preciso capacitar os pacientes com as informações certas ao alcance de suas mãos para tornar a saúde personalizada para eles. Combinando a experiência de pacientes, cuidadores, médicos, farmacêuticos e profissionais de tecnologia em uma única solução, a Scalamed tem como objetivo fornecer uma solução amigável na área da saúde, de maneira pessoal, intuitiva, segura e atenciosa.

Para o Dr. Tal Rapske, fundador da Scalamed, a jornada para ajudar os pacientes a gerenciar sua saúde de maneira simples, conveniente e em movimento, começa com o gerenciamento de medicamentos. Como explicou Rapske, a Scalamed é, na verdade, uma “caixa de entrada de prescrição digital”, garantida pela tecnologia blockchain, que os pacientes podem acessar por meio de seus smartphones e compartilhar suas informações com seus médicos e farmacêuticos.

“Identificamos uma lacuna em que uma tecnologia de próxima geração poderia melhorar a experiência de gerenciamento de medicamentos e aumentar a adesão. Ao permitir que os pacientes armazenem com segurança suas prescrições digitalmente, eliminando o papel, podemos reduzir erros de medicação, complicações com alergias e hospitalizações desnecessárias, ao mesmo tempo em que fornecemos aos pacientes seu histórico e informações de prescrição e melhoramos a conveniência e facilidade de gerenciar e comprar suas prescrições”, explicou Rapske.

O Desafio de Negócio

Ao identificar as necessidades do mercado, a Scalamed percebeu que as principais preocupações e dúvidas sobre a solução estão relacionadas à segurança, facilidade de uso, carga administrativa e dificuldade de utilização do sistema. Em resposta a temática de segurança, a Scalamed decidiu preparar a aplicação para estar em conformidade com os padrões de proteção de dados sensíveis de pacientes do HIPAA.

Outro desafio é que a Scalamed estava expandindo de maneira global, e para isso buscava melhorar o uso de seus recursos para crescer de forma mais dinâmica, e precisava que suas operações em infraestrutura fosse leve, além de precisar ter maior controle a longo prazo. No entanto, com a sua plataforma de nuvem atual, o Heroku, a Scalamed não conseguia alcançar isso devido a algumas limitações.

Portanto, a Scalamed precisava encontrar um parceiro que resolvesse ambos os desafios; construindo um ambiente em conformidade com o HIPAA e preparando o negócio para o crescimento. A DNX foi contratada para apoiar esses desafios usando a AWS como provedor de soluções em nuvem.

Os 5 passos para solução

1º passo: Identificação de problemas, riscos e oportunidades

A DNX iniciou a avaliação do estado atual da infraestrutura da aplicação, entregando o Well-Architected Review Framework, no qual a DNX identificou riscos e oportunidades para os pilares de excelência operacional, segurança, confiabilidade, eficiência de desempenho e otimização de custos. Além disso, as Melhores Práticas da HIPAA foram consideradas durante a avaliação dos  workloads.

operational excellence, security, reliability, performance efficiency, cost optimisation banner

Cerca de 39 itens foram classificados como de alto risco. Segurança e confiabilidade foram os principais focos para o negócio, seguidos pela solução da eficiência de desempenho. Alguns desses itens incluem gerenciamento de identidades e permissões, recursos de rede, configuração de rede, eventos de segurança, arquitetura de serviço de workload de projeto para se adaptar e performar melhor e proteção de dados.

Com uma compreensão clara das necessidades de negócios e técnicas em mãos, a DNX e a Scalamed determinaram que uma transformação nas aplicações seria o melhor caminho para resolver esses desafios.

Uma jornada de Transformação foi definida como escopo entregável, com segurança como um tópico principal a ser abordado para alcançar o resultado desejado.

2º passo: Aumentando a segurança por meio da DNX.One Well-Architected Foundation

O projeto começou com a implantação da DNX.One Well-Architected Foundation (também conhecida como DNX.One) – uma plataforma automatizada construída com foco na simplificação, Infrastructure as Code (IaC), tecnologias de open-souce e projetada para a AWS com princípios Well-Architected. Ela permite que a aplicação prospere enquanto o negócio pode permanecer focado em soluções para clientes.

DNX.One é uma solução pronta para uso que tem como objetivo resolver as necessidades mais comuns das empresas em relação à infraestrutura de nuvem, pois se adapta a diferentes arquiteturas de aplicações (incluindo contêineres), tem flexibilidade e automação para plataformas distintas e aprimora a segurança e o gerenciamento para manter o negócio sob controle.

Abaixo citamos algumas práticas recomendadas de segurança de alto nível que foram utilizadas na construção da infraestrutura da Scalamed:

  • Networking usando as melhores práticas de segurança para VPC;
  • Múltiplas zonas de disponibilidade;
  • Grupos de segurança e listas de controle de acesso de rede como camada opcional de segurança para VPC;
  • Políticas IAM para controlar o acesso;
  • Ferramentas AWS para monitorar componentes e conexões VPC, como o CloudWatch;
  • Uma sub-rede dedicada e isolada para o banco de dados que não é acessível pela internet pública;
  • Um CloudTrail centralizado para monitorar o histórico de eventos;
  • GuardDuty para fornecer monitoramento contínuo das contas AWS;
  • AWS Key Management Service (KMS) para criar e gerenciar chaves criptográficas e controlar seu uso em serviços da AWS.

Ao construir um ambiente compatível com a HIPAA para a Scalamed, o DNX forneceu mudanças substanciais no DNX.One que são padrão para qualquer novo cliente, como a separação em nível de conta para isolar ambientes distintos, controle de acesso granular para cada workload e permissão de concessão de lista.

Ter uma conta de auditoria separada foi outro tópico crucial a ser abordado, permitindo que a equipe de auditoria do HIPAA acesse tudo com integridade.

scalamed_hld_aws-security-latest

Figure 1- IAM – Início de sessão único

Diagram of AWS Networking process

Figura 2 – Networking

Diagram of AWS Streamline Accounts

Figura 3: Gerenciamento e separação de contas

3º passo: Estratégia de Transformação das Aplicações

Com o objetivo de minimizar a operação de infraestrutura, a DNX iniciou a estratégia de transformação das aplicações. Foi proposta a migração do Heroku para a AWS, utilizando o cluster de Elastic Container Service em instâncias EC2, isso melhora o desempenho e o uso de recursos. É importante ressaltar que a DNX usou instâncias spot para o cluster ECS, focando na disponibilidade enquanto reduz os custos da AWS.

Após a implantação do DNX.One, migramos a implantação do Scalamed para contêineres Docker usando o Elastic Container Service (ECS), reunindo tanto os testes automatizados existentes quanto os scripts de migração de banco de dados em sua pipeline de CI/CD.

Diagram showing migration of Scalamed deployment to Docker containers using Elastic Container Service (ECS)

Um Load Balancer interno foi usado para controlar o acesso interno através de Network Access Control List (NACLs) e/ou Security Groups.

Como prática recomendada de segurança, foram usadas variáveis de ambiente para passar dados secretos ou sensíveis com segurança para os contêineres. O SSM Parameter foi usado para armazenar chaves secretas e variáveis (valores em texto simples), permitindo apenas que serviços autorizados acessem e alterem quando conveniente.

Foi utilizado um AWS Key Manage Service (AWS KMS) com chaves mestras do cliente (CMKs) para criptografar os dados em repouso.

Para aumentar a segurança nesta fase, os ambientes foram separados em contas (não produtivas e produtivas), permitindo um melhor controle de acesso para a equipe de Scalamed nos ambientes através de funções e políticas. As VPNs também foram implementadas em cada ambiente (não produtivo e produtivo), de modo que o acesso a recursos, como bancos de dados, só fosse realizado por VPN, permitindo a autenticidade, confidencialidade e integridade dos dados em trânsito.

Diagram of AWS Application Layers

4º passos: Construindo Pipelines CI/CD Seguros

Utilizamos instâncias AWS EC2 para executar pipelines de CI/CD complexos usando instâncias spot, otimizando etapas como migração de banco de dados e execução de testes automatizados em etapas paralelas via Gitlab. Centenas de pipelines são acionados diariamente com custo operacional mínimo. Além disso, isso reduziu o número de incidentes de produção, aumentou a capacidade de teste atual e aprimorou a segurança ao executar o pipeline em uma instância privada, evitando instâncias públicas ou compartilhadas.

DNX usa seus próprios runners para executar os pipelines. Em resumo, instâncias são criadas na AWS para executar os pipelines sem a necessidade de configurar SECRETS dentro das plataformas CICD SaaS. Nossas instâncias criadas para esse fim já possuem as políticas e funções específicas para executar os pipelines apenas com as permissões necessárias, sem a necessidade de expor a execução de pipelines dentro de runners de terceiros.

Diagram of AWS DevOps Pipeline

AWS stack:

5º passo: Transferência de Conhecimento

DNX trabalha estreitando a colaboração com seus clientes para disseminar os pilares do AWS Well-Architected Framework, reunindo as equipes e focando na entrega. Como parte da Jornada de Transformação da DNX, um demonstrativo foi entregue no final do projeto para capacitar a equipe da Scalamed sobre o que foi entregue.

Conclusão

O projeto de migração do Heroku para AWS, desde a concepção até a conclusão, foi concluído em aproximadamente um mês. Agora, eles possuem um ambiente compatível com HIPAA e Well-Architected. Para abordar o primeiro desafio, foram corrigidos os problemas críticos identificados na avaliação (pilares de segurança e confiabilidade), entregando uma fundação resiliente, segura e confiável.

A nova implementação de ambiente Docker+AWS permitiu que a Scalamed melhorasse o desempenho e a eficácia em comparação com seu ambiente anterior do Heroku. Sua qualidade de produção e capacidade de lançar produtos com mais frequência aumentaram. Além disso, a produtividade dos desenvolvedores e QA melhorou significativamente.

A construção de um ambiente compatível com HIPAA, a melhoria da segurança dos componentes da aplicação, a automação de componentes de segurança e CI/CD e a aplicação de produtos baseados em nuvem da AWS aprimoraram o ambiente para armazenar os dados do cliente. Isso permite que a equipe da Scalamed se concentre em cumprir a paixão do Dr. Tal Rapske de redirecionar a assistência médica para o paciente e capacitar os pacientes com seus dados de maneira transparente, abordando os quatro objetivos da saúde – melhorar os resultados de saúde, reduzir custos, melhorar a experiência do paciente e reduzir a papelada para os provedores.

Na DNX Brasil, trabalhamos para entregar a melhor experiência em nuvem e aplicações para empresas nativas digitais.

Trabalhamos com foco total em soluções AWS, Well-Architected Solutions, Containers, ECS, Kubernetes, Integração Contínua/Entrega Contínua e Malha de Serviços.

Estamos sempre em busca de profissionais experientes em cloud computing para nosso time, focando em conceitos cloud-native.

Confira nossos projetos open-souce em https://github.com/DNXLabs e siga-nos no Twitter, Linkedin or YouTube.

A tablet next to a pool, Waterco logo is above with DNX logo in the bottom right corner.

Waterco: Moving from Heroku to AWS without adding infrastructure operations

Waterco

About Waterco — Poolware

Established in 1981, Waterco is a global brand reputed for designing and manufacturing filtration and sanitisation systems.  Waterco’s products are widely used in swimming pools, spas, aquacultures, and the water purification industry.  Their products are used for residential, commercial, and industrial applications across over 40 countries.

One of Waterco’s applications is Poolware, a proprietary software which analyses, calculates, and diagnoses both the chemical interactions and current water conditions.

The Business Challenge

After about two decades operating the Poolware in a desktop format, Waterco was ready to improve its user experience offerings, providing users convenient access to Poolware across multiple smart devices.  Instead of purchasing or licensing existing cloud-based solutions, Waterco developed its own independently, uploading it into the cloud in 2018.

From the beginning, Heroku was the go-to solution stemming from their developer experience (DX) and for reducing infrastructure operations overheads.  Having used Heroku for a few years, Waterco believes it is necessitous to improve the efficacy of resource-usage, without increasing infrastructural operations, being able to grow more dynamically, remaining light on infrastructure operations, and having more control in the long-run.  However, Heroku was limiting Waterco’s ability to achieve it.  

DNX Solutions was tasked by Waterco to satisfy and achieve their main business objectives.  One key decision was to transition from Heroku to AWS.  With AWS, Waterco’s primary goals could be easily achieved with an elastic and cost-effective architecture uploaded to the cloud.

The Solution

Prior to starting the project, DNX’s teams ran a thorough evaluation of Waterco’s requirements, and reviewed their incumbent delivery processes through DNX’s DevOps.  This approach provided adequate guidance to the team throughout the DevOps process.  The journey entailed building a robust foundation and the standardization and automation of certain processes.  This combination of technologies enables DNX solutions to produce applications efficiently and reliably.

The project started by deploying our DNX Well-Architected foundation, also called DNX.One.  The platform incorporates a robust and extremely secure cloud environment, is fully automated using Terraform, and handles most of the infrastructure operations leveraging a well-architected AWS implementation, including Docker containers.  

The plan for “Application Modernisation” proposes the movement of applications to ECS cluster in EC2 instances for better resource usage, vis-à-vis the operational model in Heroku titled “Dynos”.

Upon deployment of DNX.One, we modernised Poolware’s deployment design by moving it to Docker containers, bringing together both the existing automated tests and database migration scripts to its CI/CD pipeline.  

AWS Foundations:

Building a strong and solid foundation for Waterco’s applications was a critical first step prior to modernisation.  Using a multi-AZ strategy with ECS nodes running on spot instances, Waterco was able to run a Cluster of Docker Containers across availability zones and EC2 instances, while optimising cost.

Costs savings

Here’s a compute price comparison* of more or less similar instances and the cost per month:

  • AWS: t3.micro (1GiB) — $0.004 per hour ($2.88 per month)

  • Heroku (Dyno): standard-2x (1024MB) ($50.00 per month)

94.24% reduction

  • AWS: c5.2xlarge (16GiB) — $0.1382 per hour ($99.5 per month)

  • Dyno: performance-l (14GB) ($500.00 per month)

80.1% reduction

Application Modernisation

Poolware had previously adopted some of the 12-factor principles.  So, we applied additional cloud-native concepts to it during the modernisation phase, focused especially on building, releasing, and running. 

With better usage of the AWS resources, the developed application was able to benefit from improved operational excellence in AWS, and increased elasticity in the cloud.

Each environment in AWS was made identical to one another, varying only in EC2 instance types in each environment.  Differences include development, QA/Staging and finally production.  The same immutable application image was deployed and tested across these environments.  By adopting this approach, Waterco has improved its operational resilience, greatly reducing production incidents to zero through its self-healing platform.

CI/CD Pipeline

We used AWS EC2 instances to run complex CI/CD pipelines using spot instances, optimising steps such as database migration and automated tests running in parallel steps via Gitlab.  Hundreds of pipelines are triggered daily at minimal operational cost.  Moreover, this reduced the number of production incidents while increasing their current test capacity.

Some of the AWS Services provisioned:

  • AWS ECS
  • AWS Elastic File System (EFS)
  • System Manager
  • CloudTrail
  • Aurora Cluster
  • Cloud Watch
  • Code Deploy

Conclusion

From conception to its conclusion, the migration project of Heroku to AWS was completed in approximately one month.  The new Docker+AWS environment implementation allowed Waterco to achieve twice the performance and efficacy as compared to their previous Heroku environment.  Their production quality, and their ability to release more products frequently have increased.  Furthermore, developer and QA productivity has improved significantly.  Now, Waterco only needs to run half the number of servers, cutting the hosting bill by approximately 25%.

*prices comparison performed in 11/06/2020 sources:

https://www.heroku.com/pricing

https://aws.amazon.com/ec2/spot/pricing/

Na DNX Brasil, trabalhamos para entregar a melhor experiência em nuvem e aplicações para empresas nativas digitais.

Trabalhamos com foco total em soluções AWS, Well-Architected Solutions, Containers, ECS, Kubernetes, Integração Contínua/Entrega Contínua e Malha de Serviços.

Estamos sempre em busca de profissionais experientes em cloud computing para nosso time, focando em conceitos cloud-native.

Confira nossos projetos open-souce em https://github.com/DNXLabs e siga-nos no Twitter, Linkedin or YouTube.

Tenha informações das últimas previsões e atualizações tecnológicas

 

Sem spam - apenas novidades, atualizações e informações técnicas.