Por dentro da nossa Infraestrutura de Nuvem

Seus dados no data center mais seguro e confiável

HEFLO é um ambiente de gestão de processos de negócios construído sobre a Amazon Web Services (AWS), uma plataforma de serviços de nuvem segura e confiável que oferece poder de computação, armazenamento de banco de dados, distribuição de conteúdo e outras funcionalidades.

A AWS é líder no mercado de computação em nuvem. Está presente em todo o mundo e possui várias certificações de segurança.
Veja como a GE usa o AWS

Conheça nossa arquitetura de software

Como mantemos nossos Bancos de Dados

Os dados são mantidos em um esquema de banco de dados híbrido, envolvendo o Aurora DB (banco de dados relacional) e o DynamoDB (banco de dados NoSQL).

O banco de dados DynamoDB armazena tabelas com grandes volumes de dados, como logs e dados de instâncias de processo. Os demais dados são mantidos no Aurora DB, que oferece facilidades de recuperação. Todos os bancos de dados são mantidos em Dublin/Ireland e São Paulo/Brasil.

Também utilizamos a tecnologia de cache Redis, que mantém os dados na memória e maximiza o desempenho da aplicação.

Banco de Dados Relacional Aurora

Replicação entre zonas

Todos os dados são replicados em 3 zonas diferentes. Isso significa que, no caso de falha de um centro de dados, ainda há 2 outras disponíveis para atender às necessidades da aplicação.

Espelhamento de dados

Dentro de cada região, há 2 cópias dos dados. Considerando as 3 zonas de replicação, haverá no total 6 cópias dos seus dados!

Gestão pela Amazon

Toda a gestão é realizada automaticamente pela própria Amazon. Se por algum motivo ocorrer perda de dados ou falha de centro de dados, o serviço é automaticamente redirecionado sem perda.
Veja como o Verizon adotou o AuroraDB

Banco de Dados NoSQL DynamoDB

Replicação de dados

Todos os dados são replicados em 2 regiões distintas: Irlanda e São Paulo. Além disso, para cada região, há uma replicação em até 3 zonas.

Disponibilidade geográfica

O acesso e manutenção de dados sempre são realizados a partir da zona mais próxima ao usuário. Isso significa menores atrasos na transferência de dados (latência).

Gestão pela Amazon

A manutenção entre zonas de disponibilidade, servidores e escalabilidade é realizada automaticamente pela Amazon.
Veja como o Duolingo usa o DynamoDB

E os repositórios de arquivos?

Todos os arquivos são mantidos no serviço Amazon S3, que foi projetado para fornecer 99.999999999% de durabilidade. Os dados são automaticamente distribuídos para um mínimo de três instalações físicas, que são geograficamente separadas dentro de uma região da AWS.

A estrutura de pastas isola arquivos por clientes e permite a sincronização com um repositório local por ferramentas de terceiros.

Sobre segurança

O protocolo HTTPS criptografa todos os dados em trânsito entre o navegador e os servidores. Toda a comunicação é segura.

Para o banco de dados relacional, também existe a criptografia de dados. Isso significa que, caso esse banco de dados caia nas mãos de um hacker, os dados permanecerão inacessíveis.
Veja como o Stripe processa pagamentos no AWS

Algumas aplicações que usamos

CDN

Usamos CDN – Content Delivery Network – para a distribuição de conteúdo estático, como o código da aplicação e páginas do site. Em breve, vamos aplicar a mesma tecnologia para a distribuição de conteúdo dinâmico com baixa volatilidade.

A Amazon possui 56 pontos de distribuição. Isso significa que sempre haverá uma cópia da aplicação próxima de você, não importa onde você esteja.

Escalonamento automático

O balanceamento de carga e escalonamento são realizados pela tecnologia Amazon Elastic Beanstalk. Ele configura todas as regras por CPU, desempenho e rede, bem como a imagem do servidor padrão.

Para cada região, garantimos no mínimo dois servidores por serviço. Nossos servidores estão localizados em Dublin/Ireland e São Paulo/Brasil.

Na maioria dos casos, o lançamento de novas versões não causa indisponibilidade da aplicação.
Veja como o AirBnb escala serviços no AWS

Lambda e serviços Serverless

AWS Lambda é um serviço de computação que permite a execução de código sem provisionar ou gerenciar servidores. Ele executa o código somente quando necessário e escala automaticamente de algumas solicitações por dia para milhares por segundo.

No HEFLO, usamos o AWS Lambda para rodar o motor de processo.
Veja como o Netflix usa o AWS Lambda

Sempre monitorando

A monitoria de serviço é realizada pelo fornecedor independente New Relic, que fornece múltiplos painéis, alertas e recursos para identificar gargalos de desempenho da aplicação.

New Relic também revisa as Informações Consolidadas de Monitoramento para a página de Status.
Ver página de Status