Rescate de BancaFácil
Inside the Code · Semana 12 · Arquitecturas modernas

Rescate de BancaFácil

La banca en línea de la Cooperativa Altiplano se cae cada quincena. Tu equipo tiene una clase para rediseñarla con microservicios y nube, y defenderla ante el comité de tecnología.

Cliente: Cooperativa Financiera AltiplanoSistema: BancaFácil (2010)Clientes: 85,000Prioridad: crítica
Paso 1

Calentamiento: ¿qué modelo de nube es?

Lee cada situación y elige el modelo de servicio que corresponde. Al final, escribe tu puntaje en el chat de la clase.

Pregunta 1 de 12Aciertos: 0
IaaS alquilas servidores, tú manejas el sistema operativoPaaS subes tu código, el proveedor maneja el restoSaaS usas la aplicación terminadaFaaS una función que corre solo cuando se necesitaDBaaS el proveedor administra la base de datos
Paso 2

El caso: un monolito de 2010

Todo BancaFácil vive en un solo bloque: una aplicación ASP.NET Web Forms en un servidor físico con Windows Server 2008, conectada a una sola base SQL Server 2008 de 140 tablas. Los estados de cuenta se generan con una tarea nocturna, el correo es Exchange 2010 propio y los respaldos se copian a cinta cada viernes.

Clientes web Red de cajeros Monolito ASP.NET · 1 servidor físico Usuarios y loginConsulta de saldos TransferenciasPagos de servicios PréstamosEstados de cuenta NotificacionesIntegración SOAP SQL Server 20081 base · 140 tablas

Lo que pasó el último año

Día 15 y fin de mes

Los usuarios pasan de 1,500 a 12,000. El sitio tarda 40 segundos y las transferencias fallan.

Caída en cadena

Un error en estados de cuenta consumió toda la memoria y tumbó las transferencias durante 3 horas.

Despliegues

Cualquier cambio obliga a publicar todo: cada 3 meses, un sábado, con 4 horas fuera de servicio.

Hardware

El servidor tiene 9 años y el sistema operativo ya no recibe parches de seguridad.

Equipo

Los 6 desarrolladores trabajan sobre el mismo código y se pisan los cambios.

App móvil

El negocio quiere una app, pero la lógica está mezclada con las pantallas web.

Lo que pide el comité

  1. Disponibilidad del 99.9 %.
  2. Soportar 15,000 usuarios en días de pago sin pagar esa capacidad todo el mes.
  3. Si un módulo falla, los demás siguen funcionando.
  4. Publicar cambios cada semana sin apagar el servicio.
  5. Los datos de cuentas y saldos deben poder quedarse en infraestructura controlada por la cooperativa.
  6. La web y la app móvil usan la misma lógica de negocio.
  7. Menos inversión inicial en hardware; pagar según el uso.
  8. Monitoreo y respaldos automáticos.
Paso 3

Tu misión en el tablero de Miro

En tu sala de grupo, trabajen en el marco de Miro con el nombre de su equipo. Tienen 35 minutos. Durante ese tiempo el docente enviará crisis a todas las salas: lean el mensaje y ajusten su diagrama.

Roles del equipo

Arquitecto/a

Decide cómo se divide el monolito y dibuja los microservicios.

Responsable de nube

Decide qué va en nube pública o privada y qué modelo usa cada pieza.

Guardián de riesgos

Lee cada crisis, revisa qué se rompe y anota los riesgos.

Vocero/a

Presenta la propuesta al comité en 3 minutos.

Lista de verificación del tablero

Nota amarilla: módulo actualMarco verde: nube públicaMarco azul: nube privadaNota roja: respuesta a una crisis
Paso 4

El pitch ante el comité: 3 minutos

El vocero comparte la pantalla con el marco de Miro del equipo. Los demás equipos son el comité y pueden hacer una pregunta.

0:00 – 0:30

El problema

Qué falla del monolito resolvemos primero y por qué.

0:30 – 1:45

La arquitectura

Microservicios, API Gateway, nube elegida y modelos de servicio.

1:45 – 2:30

Las crisis

Cómo respondió nuestra arquitectura a cada crisis.

2:30 – 3:00

El riesgo

El mayor riesgo que asumimos y cómo lo controlamos.

Al final votaremos la arquitectura más sólida. No se vale votar por el propio equipo.