No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Aprende Ingl茅s, Programaci贸n, AI, Ciberseguridad y mucho m谩s.

Antes: $249

Currency
$209
Suscr铆bete

Termina en:

3 D铆as
16 Hrs
3 Min
50 Seg

Manejo de ambientes para datos

14/25
Recursos

Aportes 26

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

En mi equipo se manejan los siguientes ambientes:

  • Local: Consiste en una copia local de la rama master en el repo personal, aqui es donde se realiza todo el desarrollo.
  • Work: Tambien conocida como rama develop, es una rama espejo a la principal y es donde se valida lo ejecutado en local.
  • Live: Finalmente es llevado a la rama master mejor conocido como producci贸n.

Mi resumen de la clase:

Siempre es bueno probar, antes de poner en producci贸n. Para esto hacemos una contribuci贸n ordenada. Detener lo que no funciona y darle continuidad a lo que funcionas en diferentes ramas en Git.

Para esto tenemos 3 ramas local, beta y producci贸n.

Manejo de Ambientes para Datos - Resumen:

Definici贸n: Los ambientes para datos son entornos aislados que se utilizan para la gesti贸n de datos en diferentes etapas de un proyecto, como desarrollo, pruebas y producci贸n.
- Ventajas:

  • Aislamiento: Cada ambiente est谩 aislado de los dem谩s, lo que ayuda a prevenir problemas y conflictos entre diferentes etapas del proyecto. Esto significa que los cambios en el ambiente de desarrollo no afectar谩n el ambiente de producci贸n, por ejemplo.

  • Control: Los ambientes permiten un mayor control sobre los datos y los procesos que se ejecutan en cada etapa. Esto facilita la gesti贸n de versiones y garantiza que los datos se manipulen de manera segura.

  • Pruebas y Validaci贸n: Los ambientes de prueba ofrecen la posibilidad de realizar pruebas exhaustivas antes de implementar cambios en producci贸n, lo que reduce el riesgo de errores y problemas en el entorno en vivo.

  • Escalabilidad: Los ambientes se pueden dimensionar seg煤n sea necesario. Por ejemplo, puedes tener un ambiente de desarrollo con recursos m谩s limitados y un ambiente de producci贸n con una configuraci贸n m谩s robusta para manejar grandes vol煤menes de datos y cargas de trabajo.

-Desventajas:

  • Complejidad: Mantener m煤ltiples ambientes puede ser complejo y requerir recursos adicionales en t茅rminos de hardware y administraci贸n.

  • Costos: Cada ambiente adicional implica costos adicionales, ya sea en t茅rminos de hardware, software o recursos humanos para administrarlos.

  • Posible Divergencia: Si no se administran correctamente, los ambientes pueden divergir con el tiempo, lo que puede llevar a problemas cuando se migra c贸digo o datos de un ambiente a otro.

  • Configuraci贸n y Sincronizaci贸n: Configurar y mantener los ambientes puede ser una tarea desafiante, especialmente en proyectos complejos con m煤ltiples componentes y sistemas.

Trabajar en ambientes cloud mitiga un poco eso de los distintos ambientes entre los desarrolladores, puedes tener las dependencias instaladas en un cluster que es para consumo de todos los desarrolladores y en el momento de mandar a prod llevas ese cluster a una image de docker para que se siga replicando. Punto positivo para cloud!!

La documentaci贸n de Docker queda muy bien aqu铆:
Manage data in Docker

Se sigue un proceso para llevar funciones a produccion, primero pasa por el desarrollo de la funcionalidad, luego esa funcionalidad se lleva a la parte de pruebas y, por ultimo se pasa a la parte e produccion.

En mi equipo se trabaja en DEV, QA producci贸n

Develop => Staging => Production

Una de las ventajas es que permite a los desarrolladores realizar un adecuado manejo de las versiones , cambios o nuevos desarrollos permite no llevar errores al entorno de producci贸n y solventarlos en un ambiente de pruebas.

Para es tos casos se debe prevenir situaciones en las cuales el software desarrollado presente comportamientos distintos y errores en los diferentes ambientes. Es decir evitar que las versiones de pruebas sean diferentes a las de producci贸n.

Como dec铆a mi abuela, cada casa tiene su religi贸n
Los equipos de data son muuy variados en sus ambientes de desarrollo-development

El hecho de dockerizar algo y que ya esten todas las compativilidades instaladas para el proyecto en cuestion, es la caracteristica positiva numero 1, ya que de ahi se desprenden otras como hacer que las personas pueden empezar a trabajar en el proyecto mas rapidamente, por otro lado si se rompe algo dentro del docker, queda alli.

Muy bien explicado, una ruta coherente antes de la salida a producci贸n, aqui toman mucha relevancia poder dockerizar.

Cuando menciono branch se me vino a la cabeza git. Esto es de gran utilidad en equipos de desarrollo, para que cada programador trabaje por su cuenta y despues todo el codigo se una.

Gracias

El ambiente donde se prueba el software es en beta verdad, es como si fuera el entorno de calidad.
Tres ventajas y tres desventajas de los entornos de desarrollo de software: ### Ventajas: 1. **Control y Reproducibilidad del Entorno**: Los entornos de desarrollo permiten a los desarrolladores configurar un ambiente espec铆fico con todas las herramientas, bibliotecas y configuraciones necesarias para desarrollar y probar su software. Esto garantiza que todos los miembros del equipo trabajen en el mismo entorno, lo que facilita la colaboraci贸n y asegura la consistencia en el desarrollo. 2. **Aislamiento de Dependencias**: Los entornos de desarrollo proporcionan aislamiento de dependencias, lo que significa que cada proyecto puede tener sus propias versiones espec铆ficas de bibliotecas y herramientas sin interferir con otros proyectos. Esto ayuda a evitar conflictos entre dependencias y simplifica la gesti贸n de versiones de software. 3. **Facilita la Migraci贸n y la Implementaci贸n**: Al tener entornos de desarrollo estandarizados y controlados, es m谩s f谩cil migrar y desplegar aplicaciones en diferentes entornos, como entornos de pruebas y producci贸n. Los desarrolladores pueden estar seguros de que el software funcionar谩 correctamente en diferentes configuraciones. ### Desventajas: 1. **Costo de Configuraci贸n y Mantenimiento**: Configurar y mantener entornos de desarrollo puede requerir tiempo y recursos significativos, especialmente en proyectos grandes o en equipos distribuidos. Esto puede incluir la instalaci贸n y configuraci贸n de software, la gesti贸n de dependencias y la resoluci贸n de problemas relacionados con el entorno. 2. **Posibles Diferencias entre Entornos**: A pesar de los esfuerzos por estandarizar los entornos de desarrollo, a veces pueden surgir diferencias entre los entornos de desarrollo y otros entornos, como entornos de prueba o producci贸n. Estas diferencias pueden llevar a problemas de compatibilidad que no se detectan hasta etapas posteriores del desarrollo. 3. **Puede Limitar la Flexibilidad**: En algunos casos, los entornos de desarrollo demasiado r铆gidos pueden limitar la flexibilidad de los desarrolladores para probar nuevas herramientas o experimentar con diferentes configuraciones. Esto puede dificultar la adopci贸n de nuevas tecnolog铆as o pr谩cticas de desarrollo que podr铆an beneficiar al proyecto.
Dev, Staging y Producci贸n. Ese es el stack que siempre he manejado.
Landing-Staging-Modelo
En mi trabajo, de momento y para nuestra area aun no disponen de ambientes de trabajo. Personalmente y dado que suelo trabajar con scripts, suelo manejar varios archivos cuya nomenclatura del nombre suelo modificarla dada su funcionalidad. BK\_filename = Backup del script original que voy a manipular. DEV\_filename = Archivo de trabajo, donde hago mi codigo, pongo mis anotaciones y comentarios. Utilizo mis objetos de prueba que previamente constru铆. QA\_filename = Archivo de pruebas, donde elimino todo rastro y comentario que use para mi desarrollo y solo dejo los objetos que son necesarios para mis pruebas y los comentarios que s茅, deben pasar a Produccion. filename = Archivo oficial, donde elimino los objetos que use en mis pruebas, dejo los objetos productivos. Y esta version del codigo es la que pasa a producci贸n. Se que no termina siendo lo mas practico o lo mas deseable, pero por el momento fue la mejor forma que encontre para poder emular y poder semi estructurar los futuros ambientes de trabajo que deberian darnos. PD: Pese a lo increible, termina siendo una situacion muy frecuente al menos en Colombia. Para que no se extra帽en si terminan topandose con algo as铆.
Los ambientes de trabajo permiten evitar errores antes de salir a producci贸n. La separaci贸n de los ambientes permite el manejo de las versiones de c贸digo. De esta manera, qui茅n trabaj贸 el c贸digo puede asegurarse de que el mismo funciona y tambi茅n puede ser controlado por una persona m谩s id贸nea. Esto 煤ltimo se aplica en donde trabajo.
Si no estoy mal en mi equipo (no hago parte directa del desarrollo de software) se maneja en 2 ambientes: * Primero QA: Prueban los componentes, apis, etc. * Segundo Producci贸n o Productivo: Etapa final antes del lanzamiento. Cualquier correcci贸n o comentario estar茅 atento.
por experiencia, las ventajas de usar ambientes es el poder controlar los cambios que se trabajan en esos ambientes, el tipo de cambio permitido es distinto entre ambientes de acuerdo al uso de dicho ambiente. Las desventajas es al querer incorporar los cambios hechos en otros ambientes, o cuando se requiere que nuestro trabajo contemple cambios incorporados en otros ambientes. quiz谩s esos nuevos cambios contemplan datos que todav铆a no se manejan en uno de los ambientes. Pero en realidad todo tiene soluci贸n no hay mucha desventaja, las ventajas de poder complementarnos y darnos espacios entre equipos tiene un peso mayor a cualquier incomodidad.
Manejo de ambientes **Ventajas** * Consistencia: Los distintos ambientes pueden contar con las mismas versiones de las herramientas, lenguajes y bases de datos que los ambientes productivos lo cual permite trabajar sobre ellos sin riesgo de comprometer o generar interferencias entre los participantes del proyecto. * Agilidad: Facilita ciertas acciones como el control de versiones, ejecuci贸n de pruebas y actualizaci贸n de la documentaci贸n del proyecto. * Transparencia: La forma de trabajo colaborativo da a los equipos involucrados informaci贸n actualizada y accesible en casi cualquier momento adem谩s permite gestionar el intercambio de datos y la informaci贸n del proyecto. **Desventajas** * Tiempos de respuesta: La inexperiencia de miembros, infraestructura inadecuada o mala estimaci贸n de la complejidad del proyecto puede aumentar el tiempo de forma considerable para alguna etapa del ambiente. * Posibles perdidas de informaci贸n: Carencias en la administraci贸n de la informaci贸n que se ira proporcionando en cada etapa y de un equipo a otro pueden generar la perdida de detalles en la informaci贸n u omisiones. * Dependencias: Algunas etapas pueden frenarse por controles de acceso a los sistemas o autorizaciones sobre el tipo de informaci贸n que ser谩 empleada en las etapas del ambiente.

14. Manejo de ambientes para datos

  • Contribuci贸n ordenada
  • Branches

Buena explicacion.