Está en la página 1de 12

NOMBRE DE LA CARRERA:

ING. TECNOLOGÍAS DE LA INFORMACIÓN ÁREA DESARROLLO


DE SOFTWARE MULTIPLATAFORMA

TEMA A EXPONER:
FLUJOS DE TRABAJO Y HERRAMIENTAS PARA EL CONTROL DE
VERSIONES DE SOFTWARE
ASIGNATURA:
GESTIÓN DEL PROCESO DE DESARROLLO DE SOFTWARE
INTEGRANTES:
TORRES SANDOVAL ALBA IRIS
AGUSTÍN GONZÁLEZ SAMUEL
NOMBRE DEL PROFESOR:
LIC. SERGIO JESÚS BARRAGÁN GONZÁLEZ

FECHA DE ENTREGA:
24/SEPTIEMBRE/2021
FLUJO DE TRABAJO DE CONTROL DE VERSIONES

El flujo de trabajo de control de versiones ayuda a mantener la


coherencia de los archivos actuales, ya que permite a los usuarios
extraer archivos cuando se están trabajando en ellos, actualizar esos
archivos adjuntos y realizar un seguimiento de sus diferentes
versiones.
Los flujos de trabajo de control de versiones evitan el caos de todos
los usuarios que usan su propio proceso de desarrollo con
herramientas diferentes e incompatibles. Los sistemas de control de
versiones proporcionan permisos y cumplimiento de procesos para
que todos permanezcan en la misma página.
HERRAMIENTAS PARA EL CONTROL DE VERSIONES DE SOFTWARE

GIT: es una de las mejores herramientas de


control de versiones disponible en el
mercado actual. Es un modelo de repositorio
distribuido compatible con sistemas y
protocolos existentes como HTTP, FTP, SSH
y es capaz de manejar eficientemente
proyectos pequeños a grandes.
CVS: es otro sistema de control de versiones muy
popular. Es un modelo de repositorio cliente-servidor
donde varios desarrolladores pueden trabajar en el mismo
proyecto en paralelo. El cliente CVS mantendrá
actualizada la copia de trabajo del archivo y requiere
intervención manual sólo cuando ocurre un conflicto de
edición.
APACHE SUBVERSION (SVN): abreviado como SVN,
apunta a ser el sucesor más adecuado. Es un modelo de
repositorio cliente-servidor donde los directorios están
versionados junto con las operaciones de copia,
eliminación, movimiento y cambio de nombre.
MERCURIAL: es una herramienta distribuida de control
de versiones que está escrita en Python y destinada a
desarrolladores de software. Los sistemas operativos que
admite son similares a Unix, Windows y macOS. Tiene un
alto rendimiento y escalabilidad con capacidades
avanzadas de ramificación y fusión y un desarrollo
colaborativo totalmente distribuido. Además, posee una
interfaz web integrada.
MONOTONE: está escrito en C ++ y es una herramienta
para el control de versiones distribuido. El sistema
operativo que admite incluye Unix, Linux, BSD, Mac OS X
y Windows. Brinda un buen apoyo para la
internacionalización y localización. Además, utiliza un
protocolo personalizado muy eficiente y robusto llamado
Netsync.
ESTRATEGIAS DE DESPLIEGUE DE SOFTWARE

ACTUALIZACIÓN RODANTE O CONTINUA

Reemplazar uno por uno: Todas las instancias de la aplicación, para lanzar
lentamente nuevas versiones.
Proceso: después de la programación de la carga, hay un grupo de instancias
de aplicación de la versión A y se implementa con éxito una instancia de la
versión B. Cuando se puede responder a la solicitud, la instancia se agrega al
grupo. Luego, si necesita realizar algún otro trabajo de O&M durante la
actualización de la versión A, también debemos determinar qué nodos son
versiones antiguas y cuáles son versiones nuevas. Esto es muy doloroso
porque Las versiones nuevas y antiguas del código están en línea al
mismo tiempo. Por lo tanto, los servicios de los que depende deben manejar
dos versiones de la solicitud al mismo tiempo, lo que puede generar Problemas
de compatibilidad. Además, no podemos cambiar el tráfico entre las versiones
antigua y nueva.
LANZAMIENTO AZUL/VERDE

Implemente la misma cantidad de nuevos servicios en la línea de producción,


la nueva prueba de servicio está bien, ponga el tráfico Corte a nuevo
servicio Ven acá. Sin tiempo de inactividad. Es el entorno previo al
lanzamiento. Hay dos grupos idénticos en la línea de producción: servicio
real de Prod y entorno de pre-lanzamiento de Stage, liberar y enviar Stage, y
luego cortar el tráfico al lado de Stage, de modo que Stage se convierta en
Prod, y antes de que Prod se convierta en Stage. Un poco derrochador,
usando el doble de recursos(Sin embargo, esto es solo en la era de las
máquinas físicas y nada en la era de la computación en la nube, porque las
máquinas virtuales se pueden lanzar después de su implementación). Hay
estados en el servicio, como Algún caché o algo así, habrá problemas con
la implementación del tiempo de inactividad y la implementación azul-
verde 。
LANZAMIENTO CANARIO

Un método de publicación simple y mejorado basado en la


publicación de fuerza bruta sigue siendo el método de
publicación principal para muchas organizaciones de tecnología
en crecimiento. Las pruebas canarias simples generalmente se
verifican mediante pruebas manuales, mientras que las pruebas
canarias complejas requieren una infraestructura de monitoreo
relativamente completa. A través de la retroalimentación de los
indicadores de monitoreo, observe la salud del canary como
base para la posterior publicación o reversión.
FEATURE FLAGS

Son simples valores booleanos que nos permite utilizar


con algún condicional para mostrar o esconder una
sección. Los feature flags también son utilizados en
estrategias de A/B testing en el que puedes mostrar cierta
funcionalidad(feature/característica) a una parte de la
población de usuarios y a otra no. Esto es una estrategia
de marketing que permite descubrir que es más
atractivo/visitado/utilizado por el usuario.
PRUEBAS A/B

La prueba AB es lanzar dos versiones al mismo tiempo


para comparar. Es un método utilizado para probar el
rendimiento de las funciones de la aplicación, como
usabilidad, popularidad, visibilidad, etc. La prueba AB es
incrédula en la nueva versión de la función. Tenga en
cuenta que uno es calidad y el otro es función. Por
ejemplo, la interfaz de usuario del sitio web ha sido
revisada en gran medida, el algoritmo recomendado ha
sido actualizado y el proceso ha cambiado. No sabemos
si la nueva versión será favorecida por los usuarios o una
mejor experiencia del usuario.

También podría gustarte