Contenido del curso
Expert stage
- 3

El estado general Platzi - Team Platzi
56:42 min - 4

Cómo construir riqueza viviendo en LATAM - Freddy Vega
34:24 min - 5

Cómo cripto va a cambiar el futuro y aún no lo sabes - Christian Van Der Henst
38:27 min - 6

Viaje de vida a los Balcanes - Diana Uribe
54:30 min - 7

Tips para predecir el futuro - Alexander Torrenegra
32:46 min - 8

Pierde el miedo a desplegar a producción en viernes - Miguel Ángel Durán
31:55 min - 9

La senda del freelance - Brais Moure
28:51 min - 10

El secreto mejor guardado de la educación digital - Marcelo Cataldo
24:43 min - 11

Construyendo un futuro descentralizado en Web3 con BNB y Platzi - Mariangel García
25:06 min
Tech Stage
- 12

Si JavaScript fuera una app de citas - Estefany Aguilar
13:52 min - 13

Evita las trampas mentales de Web3 - Angela Ocando
17:16 min - 14

La arquitectura de software ¿es un rol o una habilidad? - Santiago Sánchez
14:11 min - 15

¿Puedo hacer todo con un solo lenguaje? - Ricardo Celis
12:46 min - 16

Mujeres modernas: rompiendo paradigmas de empleo en carreras tech - Mayra Rodríguez
13:16 min - 17

Cómo dar tus primeros pasos en Web3 - Oscar Barajas
18:04 min - 18

Cómo mantener una aplicación de Node.js en el tiempo - Adrian Estrada
Viendo ahora - 19

¿Es realmente la Ciencia de Datos el trabajo más sexy de este siglo? - Carlos Alarcón
14:12 min
Business Stage
- 20

Prototipos financieros: diseña tu vida financiera a tu gusto - Liliana Zamacona
13:44 min - 21

Construyendo estrategias exitosas con datos correctos y consumidores reales - Paula Gaviria
14:35 min - 22

Habilidades y empleo: ¿cómo prepararme para el futuro que quiero? - Natalia Jaramillo
12:23 min - 23

Cómo manejar tus finanzas en tiempos de crisis - Juan Camilo González
16:10 min - 24

Bad Bunny tiene pasaporte gringo: cómo tú y América Latina se van a comer el mundo - Eugenio Perea
13:42 min - 25

Domina tu vida con la negociación - Camila González
12:42 min
Creative Stage
- 26

Nunca pares de aprender - Diana Reyes
15:20 min - 27

No se enrede: cambiando a los titanes publicitarios - Alejandro Pacheco
25:56 min - 28

La investigación como brújula para la innovación - María Isabel Murillo
18:18 min - 29

Crea tu marca personal y no mueras en el intento - Marcela López
16:03 min - 30

La creatividad siempre está ahí - Sergio Aristizábal
15:40 min - 31

La gracia de hacer podcasts - Laura Rojas Aponte
11:59 min - 32

Me lleva el Chanfle!: crear contenido y comunidad aprovechando tus pasiones - Luis Ávila
16:40 min - 33

¿Para quién crees que creas? - Nicolás Ortega
18:15 min
Ignites
- 34

De estudiante a profe Platzi y ahora en una Startup - Daniel Valdivieso
05:01 min - 35

No hagas lo fácil: cómo la disciplina se sobrepone a la motivación - Geraldinne Bohórquez
05:03 min - 36

¿Podemos ser chicas STEM? - Johana Alarcón
04:58 min - 37

Elevando tu carrera en tech - Leomaris Reyes
04:55 min - 38

WebAssembly ¿Es el futuro de la Web? - Nicolas Molina
04:58 min - 39

Cómo mantenerse empleable - Adriana Medina
04:55 min - 40

Ownboarding: El arte de triunfar en tu nuevo trabajo - Mariana Gómez
04:57 min - 41

Genera hábitos de estudio y llega al trabajo de tus sueños - Santiago Tellez
04:49 min - 42

La ciencia del amor - Ana Belisa Martínez
04:54 min
Cómo mantener una aplicación de Node.js en el tiempo - Adrian Estrada
Resumen
Crear aplicaciones nuevas es emocionante, pero la realidad del desarrollo profesional exige algo muy distinto: mantener proyectos saludables a lo largo del tiempo. Desde la experiencia de trabajar con miles de clientes en NodeSource, queda claro que incluso empresas grandes fallan en esta tarea. Adrián Estrada, VP de ingeniería de NodeSource, contribuidor del core de Node.js y miembro del comité que creó la certificación oficial de Node.js, comparte un plan práctico que aplica no solo a Node, sino a cualquier ecosistema como Python, .NET o Java.
¿Por qué es tan complejo mantener una aplicación de Node.js?
Node.js es una tecnología en constante evolución: cada año se lanzan dos versiones nuevas [01:58]. Además, las aplicaciones dependen fuertemente de módulos de NPM, que resuelven problemas y ahorran tiempo, pero traen riesgos importantes:
- Los módulos son creados por terceros cuya calidad es incierta.
- Una nueva versión puede cambiar el comportamiento del API y romper tu código.
- El árbol de dependencias crece rápidamente porque cada módulo trae sus propias dependencias.
- Se descubren vulnerabilidades de seguridad en código de terceros que afectan directamente tus aplicaciones.
- El cambio de licenciamiento puede hacer que el uso de una dependencia se vuelva ilegal [06:30].
El plan de mantenimiento se divide en tres actividades claras: mantener dependencias, mantener la versión de Node.js y evaluar la arquitectura.
¿Cómo mantener las dependencias actualizadas sin perder productividad?
Una dependencia puede volverse obsoleta cuando su creador pierde interés y deja de publicar versiones [04:15]. Esto genera deuda técnica acumulada que se vuelve cada vez más difícil de resolver.
¿Qué herramientas ayudan con el mantenimiento de dependencias?
- npm outdated: el comando más básico, muestra las dependencias desactualizadas [05:22].
- Dependabot: un bot de GitHub que revisa dependencias y lanza pull requests automáticos cuando hay nuevas versiones. Hay que usarlo con cuidado y siempre testear esos pull requests antes de aceptarlos [05:35].
- Snyk: una suite de seguridad que monitorea vulnerabilidades y versiones de dependencias.
- N Solid y NSM: productos de NodeSource que permiten monitorear cambios tanto en producción como en desarrollo.
¿Cómo planear el mantenimiento de dependencias en cada sprint?
La recomendación es dedicar tiempo en cada ciclo de desarrollo, ya sea con Scrum u otro modelo [06:58]. Se planean tickets para revisar qué hay que actualizar. Las dependencias fáciles se actualizan de inmediato. Cuando una actualización requiere cambios en tu código porque el API de la dependencia cambió, se debe planear esa tarea en el backlog con la misma importancia que un feature nuevo. Si no le das importancia, la deuda técnica crece sin control.
¿Cuándo y cómo actualizar la versión de Node.js?
Existen dos tipos de versiones anuales [08:05]. Las versiones current son números impares (13, 15, 17, 19) y sirven para probar lo más reciente. Las versiones LTS (Long Term Support) son números pares y reciben actualizaciones de seguridad y parches durante al menos dos años. Para producción, siempre use una versión LTS activa.
Dentro de las LTS hay dos estados: la activa, que es la más nueva y puede recibir features sin breaking changes, y la de mantenimiento, que dura aproximadamente un año adicional [08:50].
El proceso de actualización comienza alrededor de septiembre, cuando la nueva versión está por convertirse en LTS [09:30]:
- Instalar la nueva versión y correr el código para observar warnings.
- Identificar APIs deprecadas que tu código o tus dependencias estén usando.
- Verificar que las dependencias se instalan correctamente con la nueva versión.
- Correr todos los tests y analizar resultados.
- Hacer pruebas en staging, un entorno que simule producción.
- Ejecutar pruebas de carga para comparar el performance entre versiones [10:50].
Solo después de completar estos pasos se hace el cambio en producción.
¿Cada cuánto evaluar la arquitectura de la aplicación?
Las dependencias principales, como el framework web (Express, Hapi o Fastify), están presentes en la mayoría del código [11:25]. Si una de estas dependencias deja de mantenerse, el riesgo es enorme. Un caso claro es Express, que dejó de ser mantenido durante mucho tiempo mientras surgían alternativas como Fastify con mejor performance [12:05].
Para evaluar un cambio se debe comprobar que la alternativa tenga buena comunidad, arquitectura compatible, ecosistema maduro, mejor performance y documentación adecuada [12:30]. Este ejercicio se recomienda hacer aproximadamente cada dos años.
El plan completo se resume en tres niveles: dependencias en cada ciclo de desarrollo, versión de Node.js una vez al año por septiembre, y arquitectura cada dos años. ¿Ya tienes un plan de mantenimiento para tus proyectos? Comparte tu experiencia y qué herramientas te han funcionado mejor.