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.