Cuestionario 12 Factor App Flashcards

1
Q

¿Cuántos códigos base y deploys hay por app?

A

Únicamente hay un código base por app, pero si hay muchos deploys por app.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Para que utilizamos un manejador de versiones? (es decir en 1.0.1)

A

Utilizamos un manejador de versiones para entender y saber mapear un nombre canónico (tag o commit) a un estado puntual del código base en los diferentes ambientes (ej : local, test, producción)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Sólo mi aplicación está corriendo en mi ambiente local? ¿Y los servidores que uso para producción?

A

Los servidores raramente están dedicados a ejecutar únicamente una aplicación, tiene funciones, aplicaciones propias del sistema y de terceros.
Entonces el correcto funcionamiento de mi aplicación no puede depender nunca de que mi sistema tenga o no tenga dicha librería, si la tiene corro el riesgo de que otra aplicación también la utilice.
Por esto no hay que depender de paquetes instalados en el sistema, siempre tengo que declarar un manifiesto de las dependencias y ejecutar mi aplicación aisladamente. Mi entorno productivo y mi entorno local tienen que aplicar las mismas dependencias.

Hay que declarar y aislar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Qué es un Bundle?

A

Se utilizan para generar entornos virtuales para que se apliquen las librerías declaradas.

Ejemplo : bundle exec rake

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Cuáles son las 3 etapas para correr un código?

A

Build / Construcción : transformar el código en un paquete ejecutable llamado build. Aquí es donde se descargan todas las dependencias y se compilan los binarios

Release / Distribución : combinamos el paquete recién construido junto a la configuración generando una distribución llamada release
Herramienta Capistrano → brinda un modo de gestionar las distribuciones y son útiles para retroceder a una versión anterior

Run / Ejecución : donde se toma el release y se ejecuta en un entorno específico.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Los procesos son desechables?

A

Los procesos deben ser desechables, no puedo depender de que una ejecución termine bien para que mi sistema sea estable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Para que sirven los 12 factores que nos propone el manifiesto?

A

Para que nuestras aplicaciones tengan una arquitectura e infraestructura de calidad y que sean robustas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly