Logo

dev-resources.site

for different kinds of informations.

Por que escolhi AWS ECS para uma fintech e não o Serveless

Published at
9/5/2024
Categories
aws
fintec
ecs
serverless
Author
rafael_avelarcampos_e71c
Categories
4 categories in total
aws
open
fintec
open
ecs
open
serverless
open
Author
24 person written this
rafael_avelarcampos_e71c
open
Por que escolhi AWS ECS para uma fintech e não o Serveless

Fintechs operam em um ambiente altamente dinâmico e regulamentado, onde velocidade, segurança e escalabilidade são essenciais. A escolha da infraestrutura correta pode determinar o sucesso ou fracasso de uma aplicação financeira. Enquanto muitas startups optam por soluções serverless, como AWS Lambda, há situações onde o AWS ECS Fargate se destaca como uma escolha mais adequada. Neste artigo, destacamos por que uma fintech deveria optar pelo ECS Fargate em vez de uma arquitetura serverless, com base em minha experiência prática de enfrentamento de problemas como cold starts e limitações no tamanho do deploy.

Minha experiência com o serveless

Em um projeto recente de uma fintech, onde construí uma plataforma de pagamentos, inicialmente adotamos uma arquitetura serverless usando o AWS Lambda por sua promessa de escalabilidade automática e gerenciamento simplificado. A ideia de pagar apenas pelo tempo de execução era atraente, mas logo nos deparamos com desafios críticos que afetaram a performance e a experiência do usuário.

O Problema do Cold Start

Nosso sistema precisava processar transações em tempo real, respondendo a requisições de pagamento de forma imediata. No entanto, o cold start do serverless tornou-se um gargalo significativo. A cada vez que uma função Lambda era invocada pela primeira vez ou após um período de inatividade, o tempo de resposta da requisição aumentava drasticamente. Essa latência era inaceitável em uma fintech, onde cada segundo conta, especialmente em transações financeiras sensíveis.

Experiência: O cold start, particularmente durante picos de atividade, causava atrasos perceptíveis. Tínhamos que implementar soluções de aquecimento (warming) para manter as funções "quentes", mas isso aumentava a complexidade e não eliminava completamente o problema. Em um cenário onde a confiabilidade e velocidade são essenciais, o serverless falhou em oferecer a consistência de performance que precisávamos.

Limitações no Tamanho do Deploy

Outro problema surgiu com o crescimento da aplicação. Com a expansão da plataforma, as bibliotecas e dependências do sistema cresceram em complexidade, e as limitações de tamanho de deploy no Serverless Framework começaram a ser um obstáculo. Tínhamos que reestruturar pacotes e eliminar funcionalidades essenciais para caber no limite permitido.

Experiência: Essa limitação de tamanho obrigou nossa equipe a buscar soluções alternativas, como dividir funções ou reduzir o uso de bibliotecas pesadas, mas isso comprometia a agilidade no desenvolvimento. A fintech precisava de um sistema robusto que suportasse suas dependências sem restrições.

A Mudança para AWS ECS Fargate

Com os desafios de cold start e limitações de deploy no serverless, decidimos migrar nossa plataforma de pagamento para o AWS ECS Fargate. Essa mudança trouxe uma série de benefícios para a arquitetura da fintech.

1. Eliminação do Cold Start

No ECS Fargate, os containers podem ser mantidos em execução por longos períodos, eliminando a latência de inicialização que tanto afetava nossa plataforma no serverless. Isso trouxe uma melhoria imediata na performance, especialmente em transações de pagamento que exigiam respostas rápidas e consistentes.

Experiência: Após a migração para o Fargate, notamos uma drástica redução na latência das requisições. As transações passaram a ser processadas quase instantaneamente, e o problema de cold start desapareceu completamente. A consistência de resposta foi crucial para a confiança dos nossos usuários.

2. Escalabilidade Automática e Controle de Custos

Assim como o serverless, o ECS Fargate oferece escalabilidade automática, mas com o benefício adicional de maior controle sobre os recursos alocados (CPU e memória). Em uma fintech, onde o volume de transações pode variar ao longo do dia, a capacidade de ajustar a infraestrutura com precisão foi um ponto positivo.

Experiência: Com o Fargate, conseguimos escalar nossa aplicação de forma dinâmica, ajustando os containers com base na demanda. Além disso, a opção de usar Spot Instances no Fargate nos permitiu reduzir custos sem sacrificar o desempenho.

3. Flexibilidade no Tamanho do Deploy

A principal vantagem do ECS Fargate em relação ao serverless foi a liberdade em termos de deploy. Não havia mais as rígidas limitações de tamanho, permitindo que nossa aplicação mantivesse todas as suas dependências e bibliotecas intactas, sem a necessidade de comprometer funcionalidades.

Experiência: A migração para containers eliminou a frustração de lidar com limites de tamanho de pacote. Agora, podíamos fazer deploy de atualizações complexas sem nos preocupar com restrições, acelerando o ciclo de desenvolvimento e entregando novas funcionalidades mais rapidamente.

4. Ambiente Controlado e Seguro

Com o ECS Fargate, também ganhamos controle granular sobre o ambiente de execução, algo crítico para garantir conformidade com normas regulatórias, como PCI DSS. A capacidade de configurar redes privadas, grupos de segurança e políticas de acesso específicas nos deu maior controle sobre a segurança da plataforma.

Experiência: Para uma fintech, a segurança é primordial. O controle oferecido pelo Fargate nos permitiu isolar partes críticas da aplicação e garantir que todos os dados fossem processados em um ambiente seguro e conforme as exigências regulatórias.

Conclusão

Para fintechs, a escolha entre Serverless e ECS Fargate depende das necessidades específicas do projeto. Enquanto o serverless pode ser adequado para cargas de trabalho simples e intermitentes, enfrentamos desafios com cold starts e limitações de deploy que prejudicaram a performance e a escalabilidade da nossa plataforma de pagamentos.

O AWS ECS Fargate emergiu como a solução ideal, oferecendo maior controle, escalabilidade sem comprometimentos e eliminação dos problemas de latência. Para fintechs que lidam com operações financeiras críticas, a consistência e a flexibilidade do Fargate fazem dele a escolha superior.

ecs Article's
30 articles in total
Favicon
ecstop: My CLI Tool to Stop ECS Resources Easily
Favicon
Deploying Flask-based Microservices on AWS with ECS Service Connect
Favicon
Docker in AWS: Elastic Beanstalk, ECS, and Fargate Explained
Favicon
Retour d'expérience : Quand ECS s'impose comme une alternative pertinente à Kubernetes
Favicon
How to Deploy a Multi-Container App in Amazon ECS?
Favicon
Deploying Fider on AWS ECS: A Step-by-Step Guide to Deploy a Feedback Platform
Favicon
Exporting an AMI to multiple formats
Favicon
Speeding up ECS containers with SOCI
Favicon
Amazon ECS Overview 🚀
Favicon
ECS Blue/Green com CodePipeline - Provisionado com Terraform
Favicon
Standup Serverless Jenkins on Fargate with Terraform - Part 2: ECS Deployment
Favicon
ECS Orchestration Part 4: Monitoring
Favicon
ECS Orchestration Part 3: Autoscaling
Favicon
AWS ELASTIC CONTAINER SERVICE
Favicon
A Decade of AWS Lambda and ECS: My Journey of Growth and Gratitude
Favicon
ECS Task can not find a secret manager even if exist
Favicon
Solving AWS ECS connect timeouts: configure default settings easily
Favicon
Monitoring AWS ECS Deployment failures
Favicon
AWS Compute - Part 2: containerization
Favicon
Deploying a Dockerized Web App on AWS Using ECS and Fargate: A Step-by-Step Guide
Favicon
How to Change Network Configurations for Blue/Green Amazon ECS Services
Favicon
Serverless Jenkins: ECS on Fargate - Simple Setup
Favicon
AmazonECS now supports AWS Graviton-based Spot compute with AWS Fargate Spot
Favicon
A Comprehensive Guide to Generating Entity Prefabs at Runtime in Unity ECS
Favicon
Easily automate Rust web service deployments on AWS without DevOps
Favicon
WSL in AWS Windows Server 2022 Core instance
Favicon
A Step-by-Step Guide to Creating and Adding Components in Unity ECS
Favicon
Deploying a Spring Boot Application on AWS: ECS, EKS, or Kubernetes? A Detailed Guide with Cost-Effective Recommendations
Favicon
What is ECS in Unity
Favicon
Por que escolhi AWS ECS para uma fintech e não o Serveless

Featured ones: