¿Por qué en mi máquina funciona y en las demás no?

Seguro te ha pasado que desarrollas una app y en tu máquina funciona, pero cuando la vas a presentar, no lo hace. ¿Por qué pasa eso? Te lo explico en este blog.

Diseño web
8 minutos
Hace 2 años
¿Por qué en mi máquina funciona y en las demás no?

¡Accede a cientos de cursos
con solo un pago al año!

Blog Microbanner

Todo programador al menos una vez en su vida (o muchas) ha dicho la terrible frase:

En mi máquina funciona

Por ejemplo, cuando una aplicación que desarrollaste funciona en tu computadora, pero en plena presentación con el cliente (o tu jefe), no funciona en el servidor y quieres que te trague la tierra.

Pero, ¿por qué sucede?

Hoy vas a aprenderlo en EDteam, porque la tecnología no es difícil, te están enseñando mal.

¿Por qué solo funciona en tu máquina?

confundido-edteam-blog.png

El desarrollo de software pasa por varias etapas, o entornos, como te lo comentamos en este otro blog de EDteam.

Cada programador configura su entorno de desarrollo local, que incluye a su editor de código (o su IDE), las dependencias del proyecto, bases de datos, entre otras cosas. Todo lo que necesita para trabajar.

Sin embargo, ese entorno no está aislado, sino que corre sobre una versión específica de un sistema operativo, al que, además, se le han instalado otras cosas que, a su vez, pueden traer sus dependencias.

Las probabilidades de que esa configuración exacta se mantenga de una computadora a otra son como las de sacarte la lotería.

Parece exagerado, pero un cambio muy pequeño puede hacer que nada funcione.

Entonces, lo que necesitamos es asegurarnos de que la misma configuración se mantenga idéntica en los diferentes entornos por los que se mueve el software.

Y, ¿cómo se hace?

Hay dos formas: máquinas virtuales y contenedores.

Máquinas virtuales

maquina-virtual-blog-EDteam.png.jpg

Las máquinas virtuales, como su nombre lo dice, emulan a una máquina completa, pero por software (sin hardware): tienen CPU virtual, memoria RAM virtual, disco virtual y se instala el sistema operativo completo. Con una máquina virtual idéntica en cada entorno, el software funcionará sin problemas.

Contenedores

contenedores-docker-kubernetes-EDteam.png

Sin embargo, una máquina virtual consume demasiados recursos porque es un sistema operativo completo y una app no necesita tanto. Por eso, existen los contenedores, que son entornos aislados que tienen solo lo que tu app necesita para funcionar y nada más. Basta replicarlos en cada entorno y la aplicación no volverá a fallar.

El sistema más usado para gestionar contenedores se llama Docker. Y cuando tienes muchos contenedores y quieres administrarlos, se usa Kubernetes. Seguro te suenan estos nombres y claro, ambos los puedes aprender en EDteam.

Finalmente, el área que se encarga de asegurar el funcionamiento del software en todo su ciclo de vida se llama Devops. Y por supuesto, también lo puedes comenzar a aprender en EDteam.

Ahora ya sabes como hacer que tu software funcione en cualquier máquina, y recuerda, #LoAprendisteEnEDteam.

Comentarios de los usuarios