¿Qué es un entorno de desarrollo?

Doy una vision adicional a esta pregunta.

Es comun que las aplicaciones tengan componentes instalados en diversos dispositivos que interactuan entre si.

Por ejemplo una aplicacion de celular que carga alimentos con el codigo de barras deberia tener algun servidor con una base de datos donde se agreguen los alimentos que cada usuario agrega, de manera que esten disponibles para otros usuarios.

Entonces, en este escenario tenemos la aplicacion de celular, un servidor que captura los pedidos de agregar o buscar alimentos y un servidor de base de datos, ademas de alguna aplicacion para reconocer usuarios y permitir el acceso.

A esto hay que agregarle aplicaciones especializadas como las que muestran mapas o consultas a otros servicios como la pelicula que nos gusta o la temperatura que hace en cierta ciudad.

Entonces queda claro que una aplicacion normalmente no se instala en un solo dispositivo. Ademas de que a veces se instalan componentes adicionales que permiten que el sistema siga funcionando aun cuando ciertas conexiones de red o ciertos componentes fallan.

Pero basicamente la idea es ,… para una aplicacion necesito “desplegar” varios componentes de mi aplicacion en varios dispositivos.

Todo ese conjunto de aplicacipones, computadoras, servidores, configuraciones de red andando con un proposito es lo que llamamos entorno.

Ahora bien, cuando los desarrolladores programan, no lo hacen afectando lo que los usuarios estan usando. Tienen que hacerlo en un entorno aislado (By the way… trabaje en empresas grandes y muy reconocidas que no hacen eso…. cargandoles los saldos de prueba de tarjeta de credito a los usuarios reales, o enlenteciendo el sistema real del banco, por pruebas que hacian los desarrolllaodores… pero eso es harina de otro costal…. Cuanto mas reconocida y mas monopolio tiene la empresa, mas descuidados son)

Entonces lo que se hace comunmente para los desarrolladores es ese conjunto de servidores, computadores, celulares , conexiones de red para que funcione el sistema en un entorno que no es el real (llamado entorno de produccion). De esa manera todo lo que tocan los desarrolladores (en el entorno de desarrollo) no afecta el entorno real.

Asi como ese se pueden crear tantos entornos como quieran (y como la empresa quiera gastar y administrar)

Normalmente hay entorno de desarrollo (donde los desarrolladores trabajan)… y muchas veces cada desarrollador tiene un entorno de desarrollo individual adicional

Cuando los desarrolladores terminan su trabajo como equipo alguien lo pasa al entorno de test… Donde hay personas ocupadas en testear lo que los desarrolladores hicieron. Es importante que los desarrolladores no tengan acceso a ese entorno, para que no modifiquen las cosas mientras los testers prueban para que los tests den bien.

Generalmente hay un entorno de pre-produccion. que es mas parecido al entorno de produccion para que alguien de la aprobacion final.

Y luego existe el entorno de produccion,que es el que usan los usuarios finales.

A veces se puede armar un entorno de aprendizaje para dar los cursos a los usuarios internos de la empresa.

Tiene un costo administrativo armar un entorno, y no siempre los equipos son exactamente iguales. Cada empresa decide que entornos replicar y cuales no.

Por eso entre las profesiones mas buscadas hoy esta la de DevOps que mediante tecnologias hechas especialmente para eso facilita el armado, la definicion, levantar y bajar entornos completos con herramientas de virtualizacion, que es basicamente hacer simulaciones de servidores, configuraciones de red, sistemas operativos.

Parte de eso esta explicado en el video de las profesiones mas buscadas entre el 2019 y 2021. Donde explica los trabajos requeridos en cloud dado que ahora muchos de esos entornos no se instalan localmente en cada empresa sino que son accedidos mediante servicios como los de amazon, azure u otros que proveen esos entornos y la ventaja es que en vez de comprar todos esos equipos uno paga solo lo que usa

Deja un comentario