Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Cloud Run Vs Kubernats Engine

Galera, estou migrando alguns serviços da AWS para GCP, estava vendo que no curso de Serveless eles usam o container registry, mas, na verdade, usam o kubernates engine. Minha dúvida é: Qual seria o mais barato pra expor uma API escrita em flask ?

O Cloud run, por conta de que só cobra as requisições ou o Kube Engine ?

1 resposta
solução!

Olá, Breno.

Tudo bem?

Entendo que a escolha entre Cloud Run e Kubernetes Engine (GKE) para expor uma API escrita em Flask no Google Cloud Platform (GCP) pode ser um pouco confusa, especialmente considerando os aspectos de custo. Vamos analisar brevemente cada uma das opções para te ajudar a tomar uma decisão mais informada.

O Cloud Run é uma plataforma serverless que gerencia automaticamente a infraestrutura necessária para rodar seus containers. Você paga apenas pelo tempo que seu serviço está processando requisições, ou seja, pelo tempo de execução do container e pela quantidade de memória alocada durante esse período. Isso pode ser muito econômico, especialmente para aplicações com tráfego irregular ou que não precisam estar rodando 24/7.

Por outro lado, o Google Kubernetes Engine (GKE) oferece mais flexibilidade e controle sobre a infraestrutura. Ele é ideal para aplicações mais complexas que necessitam de orquestração de containers em larga escala. No entanto, isso vem com um custo maior, pois você paga pelos recursos de computação dos nodes do cluster independentemente de estarem processando requisições ou não. Além disso, há custos adicionais relacionados à gestão e operação do cluster.

Para uma API escrita em Flask, especialmente se estiver começando ou se ela não demandar recursos complexos de orquestração, o Cloud Run pode ser a opção mais custo-efetiva. Ele é simples de configurar e escala automaticamente de acordo com o tráfego, o que significa que você não precisa se preocupar com a infraestrutura subjacente.

Aqui está um exemplo prático de como você poderia configurar o Cloud Run para uma API Flask:

  1. Crie um arquivo Dockerfile no diretório raiz do seu projeto Flask:

    FROM python:3.8-slim
    WORKDIR /app
    COPY . /app
    RUN pip install -r requirements.txt
    CMD ["flask", "run", "--host=0.0.0.0", "--port=8080"]
    
  2. Construa a imagem do Docker e envie para o Google Container Registry ou Google Artifact Registry.

  3. Crie um novo serviço no Cloud Run usando a imagem que você enviou.

Espero que essa explicação te ajude a entender melhor as diferenças de custo e uso entre o Cloud Run e o GKE para sua API em Flask. Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.