emi420 / hmap

The goal of this project is to create an easy-to-use humanitarian map for work before, during and disaster events.
GNU General Public License v3.0
0 stars 1 forks source link

DEVOPS: List options and choose one to implement k8s deployment #36

Closed pedrodef closed 2 years ago

devnano commented 2 years ago

Kubernetes cluster providers alternatives

General

Consideramos empezar con una infra chica y simple en principio: 1 único nodo (VPS). Esto puede hacer que la disponibilidad tenga baches (por ejemplo si el provider ejecuta un mantenimiento de VPS) pero no parece ser un problema para HMAP en principio.

Cloud

Desplegar un cluster en uno de los proveedores más cónocidos de k8s. En este caso contemplamos sólo Linode y Google Cloud.

LKE – Linode Kubernetes Engine

Precio por mes

LKE pricing includes only the resources you consume – Compute Instances, NodeBalancers, and Volumes. Your cluster’s master services are free of charge. https://www.linode.com/pricing/

Total ~30USD

Crédito de 100USD para gastar en los primeros 60 días

GKE – Google Kubernetes Engine

Precio por mes

Consideramos un Cluster en Standard Mode

Total ~30USD

Calculadora de precios https://cloud.google.com/products/calculator

Crédito de 300USD para los primeros 90 días.

Infra as Code

En caso de decantarnos por Cloud haríamos una implementación simple de la infra (cluster k8s) con Terraform. Tanto Linode como Google Cloud tienen providers terraform.

Custom Cluster

k3s

k3s es una implementación liviana de Kubernetes. Está pensada para correrla en máquinas con pocas prestaciones. Se puede arrancar con un único VPS actuando de nodo master y worker y luego ver si es necesario escalarlo.

Como referencia: tenemos implementado un Cluster k3s en un VPS de Gnu Transfer de 2GB de RAM y 50 GB de disco.

En este cluster tenemos corriendo hace 6 meses:

Infra as Code

Precio

GNU transfer: https://www.gnutransfer.com/en/. Tiene soporte en Argentina y pueden facturarte en pesos (cambio oficial + impuestos).

Puede rondar entre 3000ARS y 9000ARS por mes dependiendo el/los VPS que se disponga.

El precio de los VPS en Linode y Gcloud se puede consultar en la lista de precios enlazadas en las secciones cloud arriba.

devnano commented 2 years ago

¡Buenas, @emi420!

Te dejo arriba un comentario con info básica de las opciones de infra que creemos viables para hacer el despliegue de la app en Kubernetes.

Cuando puedas pegale un vistazo y avisame si tenés alguna consulta y vamos iterando con más info. Mientras tanto sigo trabajando en #41 y #38 que son independientes de en dónde levantemos la infra finalmente :)

¡Gracias!

cc @pedrodef

devnano commented 2 years ago

@emi420: Nos decantamos por un cluster custom en un VPS Linode. Luego si hace falta lo escalamos.