Contribute Media
A thank you to everyone who makes this possible: Read More

High impact refactors while keeping the lights on

Description

Reemplazar, cambiar o incluso evolucionar una plataforma de software con años de desarrollo ya aplicados nunca es tarea fácil. A su vez, el software tiende a crecer y cambiar como si de un ser vivo se tratara, haciendo cada desarrollo un poco más complejo que el anterior, forzando a llevar documentaciones, wikis, seguir procesos, y ralentizando nuevos proyectos.

En esta charla hablaremos de cómo en Ticketea, que lleva 7 años funcionando con éxito, estamos acometiendo importantes cambios internos, tanto reescrituras de componentes existentes como nuevas piezas intentando modificar lo menos posible los flujos de negocio actuales, aplicando patrones de diseño como parallel change, event bus, o event sourcing. Pondremos como ejemplo el desarrollo de nuestra nueva API de compras (usando Python 3), la cual escucha determinados sucesos o eventos que suceden en la plataforma principal (construida con PHP y Python 2), gestiona todo el flujo de compra y emite de vuelta los datos para reincorporarlos a dicha plataforma, permitiendo pensar un sistema diferente, tiene las mismas restricciones.

También estamos intentando implantar como objetivos o metas para todo proyecto las siguientes ideas y principios:

  • Hacer software simple
  • Iterar, iterar, iterar
  • Paridad Desarrollo-Producción
  • Automatización de operaciones (Docker y AWS)

Details

Improve this page