A C-One é uma plataforma global de inteligência tributária integrada aos principais ecossistemas ERP, Marketplace, e-commerce, SCM e meios de pagamento de mercado. Sua proposta de valor simplifica o dia a dia das empresas através da automação de faturas e documentos fiscais eletrônicos, predição computacional no enquadramento e cálculo tributário, geração e auditoria de obrigações fiscais acessórias, aumentando o compliance e a governança ao mesmo tempo que reduz custo e risco de conformidade tributária. Está geograficamente distribuída em todo Brasil, com plena expansão para o mercado LATAM e Europa.
O Desafio
A partir da previsão de um crescimento exponencial em seu negócio, (de 1mm de transações mensais para 40mm) a C-One buscou os serviços Darede para modernizar sua infraestrutura AWS através das melhores práticas de governança e segurança. Seguindo o framework AWS Well-Architected (WA), a Darede identificou os seguintes pontos críticos da antiga infraestrutura da C-One:
- Uma única conta e múltiplos ambientes;
- Conta misturada com outros negócios de mesmo grupo econômico que a C-Cone pertence;
- Deploys não automatizados;
- Monitoração reativa;
- Constantes interrupções do ambiente;
- Sem gerenciamento de permissões: tanto de usuários quanto de recursos AWS;
- Falta de gestão do ambiente AWS: custos e melhores práticas;
- Falta de uma camada de inteligência de dados;
- Ambiente segregado no Keroku;
Com esses pontos de melhoria identificados, a Darede realizou o seguinte planejamento:
Arquitetura e Implantação
Abaixo estão as definições e funcionalidades da solução proposta para a C-One na AWS:
- C-One Landing Zone:
- Criação de ambiente multi contas seguro e com as melhores práticas AWS através do uso do AWS Control Tower;
- Centralizador de acesso federado AWS SSO e contas do GSuite.
- Configuração/Criação de pipeline CI/CD via Jenkins;
- Migração das aplicações do Keroku para o BeanStalk;
- Criação da arquitetura de referência:
- Monitoria
- Logs
- Backup
- Segurança
- Resiliência
- Consolidação das bases de dados com o AWS RDS Aurora (Postgres)
- Facilitar criação do ambiente de DR
Resultado
Com a finalização da primeira fase do projeto, a C-One passou a contar com um ambiente mais seguro, estável e confiável, além de apresentar um melhor nível de governança. Abaixo, seguem os principais milestones alcançados:
- Uma única conta para múltiplas contas (AWS ControlTower + SSO);
- Production grade VPC disponibilizada via ServiceCatalog;
- Processos de deploys manuais para totalmente automatizadas via Jenkins;
- Custos reduzidos em 30%;
- Criação de um ambiente de DR;
- Todas as aplicações migradas para o AWS BeanStalk;
- Implantada cultura/mindset DevOps;
- Criado processos de melhorias contínuas do ambiente:
- Stress test;
- Revisão de arquitetura;
- Tuningde todas as camadas da aplicação;
- Ferramentas de monitoramento reativas para uma abordagem proativa via:
- CloudWatch;
- Lambda;
- Chat (Slack);
- Implantação de camadas de segurança via o WAF e GuardTrail;
- Resolvidos 25 problemas de alto risco identificados pelo framework Well Architected.
Futuro
A C-One encontra-se agora na fase de modernização de sua arquitetura e de criação de uma camada de inteligência de dados. Dentre as melhorias a serem implantadas é possível destacar:
- Monólitos para microsserviços:
- Agilidade
- simplicidade
- ECS para fornecer um serviço gerenciado de orquestração de contêineres:
- Scheduler robusto
- Baixo overhead na operação
- Criação de pipelines no Jenkins para ajudar desenvolvedores a operar na cloud:
- Criação automática de microsserviços: serviço ECS, Tasks ECS, ALB, etc.
- Via uso de YAML declarativo que representa a implantação do microsserviços
- Melhores práticas padrões.
Abaixo segue uma visão macro da arquitetura que está sendo construída: