🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónContratos y versionado
5 tareas · 38 min · Principiante
En el monolito, un cambio en una función rompía la compilación de quien la usaba. Entre servicios que se despliegan por separado, el mismo cambio rompe en producción, a veces en silencio. El contrato de la interfaz, su versión y la comparación entre versiones son lo que sustituye al compilador. En Tienda Yopo, el equipo de pagos publica una v3 y quiere retirar la v2 a fin de año: lees la comparación entre ambas, la política de versiones y quién sigue llamando. Todo es lectura de archivos ficticios.
Objetivo de la sala
En el monolito, un cambio en una función rompía la compilación de quien la usaba. Entre servicios que se despliegan por separado, el mismo cambio rompe en producción, a veces en silencio. El contrato de la interfaz, su versión y la comparación entre versiones son lo que sustituye al compilador. En Tienda Yopo, el equipo de pagos publica una v3 y quiere retirar la v2 a fin de año: lees la comparación entre ambas, la política de versiones y quién sigue llamando. Todo es lectura de archivos ficticios.Cuando dos equipos despliegan por separado, ninguno ve el código del otro. El contrato (una descripción de la interfaz, por ejemplo OpenAPI) es lo que ambos acuerdan. Comparar la versión nueva con la anterior en cada cambio detecta qué rompe a los consumidores, y las pruebas de contrato con los consumidores reales comprueban que lo que esperan sigue cumpliéndose.
Un cambio puede romper por razones de compatibilidad (quitar un campo) o por razones de seguridad (devolver de más). Los dos tipos necesitan revisión.
Responde para continuar
Dos equipos despliegan sus servicios por separado. ¿Qué evita que un cambio de uno rompa o exponga al otro?
Ver pista de ayuda
Piensa en lo que hacía el compilador en el monolito y qué lo sustituye entre servicios.
Las herramientas de comparación de contratos clasifican cada diferencia como compatible o incompatible. Un cambio incompatible rompe a quien lo consume sin avisar: se añade un campo obligatorio a la petición, se cambia un tipo, se elimina una operación. Contar cuántos hay decide si basta con una versión menor o hace falta una versión mayor con migración.
Abre contratos/comparacion-pagos-v2-v3.txt. La salida está escrita a mano para este laboratorio.
Responde para continuar
¿Cuántos cambios de la comparación están clasificados como incompatibles?
Ver pista de ayuda
Cuenta las filas por su segunda columna.
Un cambio que añade un campo a la respuesta es compatible: ningún consumidor deja de funcionar. Pero si el campo es un dato personal, la respuesta empieza a entregar más de lo que antes entregaba a todos los consumidores, incluidos los que no lo necesitan. La herramienta lo clasifica por compatibilidad y no por sensibilidad: la lectura de seguridad la hace una persona.
Responde para continuar
Escribe el identificador del cambio compatible que amplía la respuesta con un dato personal.
Ver pista de ayuda
De los dos cambios compatibles, uno añade información de la persona titular.
Retirar una versión es seguro cuando nadie la usa. La política de Tienda Yopo es que cada consumidor migra por su cuenta y el equipo de pagos avisa al responsable registrado. Eso falla justo con quien no está en el registro: nadie lo avisa y su tráfico sigue ahí.
Abre trafico/consumidores-pagos.csv y la política de versiones.
Responde para continuar
Escribe el consumidor de la versión retirada que más llamadas hace.
Ver pista de ayuda
Filtra por la columna de versión y compara las llamadas.
El retiro de la v2 está fijado a fin de año. El consumidor con más tráfico en v2 no tiene equipo registrado, así que ni siquiera recibió el aviso. Apagar la v2 ese día interrumpiría un sistema que alguien usa; aplazar sin fecha convierte la v2 en una API que nunca se retira.
Responde para continuar
La v2 se retira a fin de año y un consumidor sin equipo registrado sigue llamándola. ¿Qué haces?
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.