Laboratoria / curriculum

El bootcamp de @Laboratoria es un programa de aprendizaje inmersivo de 6 meses enfocado en los perfiles de Web Developer y UX Designer.
https://curriculum.laboratoria.la
Creative Commons Attribution Share Alike 4.0 International
491 stars 460 forks source link

¿Qué opciones de despliegue recomiendan para el proyecto Burger Queen API? #1007

Closed lupomontero closed 3 years ago

lupomontero commented 3 years ago

Revisando el proyecto de Burger Queen API con el equipo de Sao Paulo nos dimos cuenta de que el boilerplate incluye una sección de deployment que habla de docker-compose y VPS.

Más abajo, en la sección de Pistas, tips y lecturas complementarias aparece lo siguiente:

TODO: providers de VPS recomendados, idealmente con un free tier o muy baratos.

En iteraciones anteriores qué proveedores han usado?

cc/ @merunga @Danielalab @betsyvies @fakel @rafaelbcerri @moniyama @IsabellaSoares @evelisee

merunga commented 3 years ago

@lupomontero en las primeras iteraciones de este proyecto entregabamos un droplet de 5 USD de digitalocean a las estudiantes, y esa opcion sigue estando activa. Originalmente eran 4 droplets por cohort con una duracion maxima de 2 meses, con un costo por cohort de 40 USD. Creo q hay q evaluar, estimar y validar q se puede seguir contando con eso en cada sede.

Se q en LIM012, no usaron VPS necesariamente, @fakel @betsyvies me corrigen, pero entiendo q hubo una mezcla de heroku + mongo atlas o free tier de aws ec2.

Desde mi punto de vista, como esta diseñado ese proyecto, la totalidad de OAs solo es alcanzable con un VPS. La opcion heroku + mongo atlas, esta chevere, porque es mas "moderna", pero nunca te expone a la necesidad de administrar una maquina remotamente a traves de tu terminal. Quizas si queda como opcion, habria que sincronizar los OAs a ese escenario de despliegue

lupomontero commented 3 years ago

Después de una breve conversación con @merunga, las opciones que estamos considerando a corto plazo, y en orden de prioridad, son:

  1. Conseguir X USD por cohort (dependiendo de número de squads que hagan el proyecto) para cubrir droplets de 5 USD por squad. Esto hay que confirmarlo con finanzas y/o equipos de operaciones.
  2. Armar nuestro propio shared host donde cada squad tenga asignado un usuario y puerto.

cc/ @diegovelezg

rafaelbcerri commented 3 years ago

Hey!

If I'm not mistaken, when you create an account on Google Cloud you receive $300 to use it in all their products and there is AWS Free tier too, that you can use a lot of things for free for one year, couldn't we use it?

lupomontero commented 3 years ago

If I'm not mistaken, when you create an account on Google Cloud you receive $300 to use it in all their products and there is AWS Free tier too, that you can use a lot of things for free for one year, couldn't we use i

That does sound like a plausible option. We need to confirm that that is the case, that those free-tiers are actually enough for the project, and also whether they need to provide billing details: a valid credit card in particular (not all of our students have one).

unjust commented 3 years ago

Pienso que heroku es un buen opcion.

reloadercf commented 3 years ago

+1 con heroku y otra alternativa un poco más económica que digital ocean podria ser vultr

FranciscoImanolSuarez commented 3 years ago

Hola, me gustaría recomendar Vercel mas Mongo Atlas. Este te permite hacer Deploy de una manera muy sencilla e intuitiva además de que puede ser realizado desde una terminal, adjunto un post donde explica como usar su servicio con Mongo Atlas..

Saludos !

lupomontero commented 3 years ago

Hola @FranciscoImanolSuarez, gracias por el comentario :star:

Opciones como Vercel o incluso Heroku ofrecen una experiencia de desarrollo muy superior, y más moderna. La gracia es que abstraen una complejidad que nos permite no tener que pensar en la infraestructura. Por otro lado, este proyecto en particular, si no me equivoco, creo que justamente busca que tengan esa experiencia de tener que manejar un servidor (sea metal, VPS, contenedor, ...) a través de SSH... :thinking: ¿Cómo lo ven? ¿Creen que tiene sentido que estos sean objetivos de aprendizaje centrales en este proyecto?

Me da la impresión de que tenemos que hacer más explícitos los objetivos de aprendizaje y para ello se me ocurren dos opciones:

a) Enfocamos a VPS, SSH, Docker, y damos opciones de despliegue en esa línea b) Enfocamos Docker solo a entorno de desarrollo y damos opciones más abiertas de despliegue (IaaS - contenedores (DigitalOcean/AWS/GCP), y PaaS como Heroku, Vercel, ... + Mongo Atlas o similar)

Una cosa también a recordar es que el motivo original por el que se pensó en VPS + Docker + SSH fue feedback de empresas que habían estado contratando egresadas y consideraban que familiaridad con estás cosas era fundamental y algo que en ningún otro momento cubrimos en el bootcamp...

FranciscoImanolSuarez commented 3 years ago

@lupomontero Entiendo los objetivos de la clase, aun así creo que la opción B es la mejor, Heroku, Vercel entre otras, están teniendo mucho potencial y van marcando un camino muy bueno.

En lo particular optaría por agregar temas como SSH, Github Actions o Travis CI, y así realizar una integración con cualquiera de estas plataformas(Vercel o Heroku) u otra, de esta manera tenes cubiertos otros temas que son muy importantes y dejas que la infraestructura la maneje un proveedor.

En síntesis con la opción B más alguno de los temas que te comente arriba creo que seria la mejor opción, el poder dejar la infraestructura en manos de un tercero y preocuparte más por temas de desarrollo o integración.

Espero que sea de ayuda, aun así me gustaría saber que piensas @lupomontero

De mas esta aclarar que no pertenezco a Laboratoria ni nada, simplemente estoy tratando de aportar un granito de arena y ayudar