Saltar al contenido

file_download
Proyecto final
N/A
play_circle_outline
vista previa
2 minutos
play_circle_outline
Explicación del problema y qué sucedió con AWS
2 minutos
play_circle_outline
Preparando el proyecto
6 minutos
play_circle_outline
Provocando el problema
8 minutos
play_circle_outline
Aplicando la solución
8 minutos
Vídeo de introducción Race Conditions - El Error que Tumbó AWS y Cómo Evitarlo en Laravel
play_circle_filled

Desbloquea el curso

starVer planes de suscripción
school

¿Qué aprenderás?

¿Qué pasó con AWS el 20 de octubre de 2025?

Amazon Web Services (AWS) sufrió una caída masiva que dejó sin servicio a cientos de plataformas durante más de 4 horas. Fortnite, Duolingo, Snapchat, servicios bancarios y millones de aplicaciones en todo el mundo quedaron inoperativas. La causa: una race condition en el sistema de DNS de DynamoDB en la región US-EAST-1 de Virginia.

¿Qué es una race condition?

Una race condition ocurre cuando dos procesos intentan acceder y modificar el mismo recurso simultáneamente, sin coordinación entre ellos. Ambos leen el mismo estado inicial, toman decisiones basadas en esa lectura, y terminan sobrescribiéndose mutuamente.

El resultado: inconsistencias en los datos, operaciones duplicadas, y en el caso de AWS, un colapso global de servicios que afectó a más de 500 empresas y generó pérdidas millonarias.

¿Puede pasarme a mí en mi aplicación Laravel?

Absolutamente. Este problema no es exclusivo de gigantes tecnológicos. En aplicaciones Laravel cotidianas, puede manifestarse en sistemas de reservas, gestión de inventarios, procesamiento de pagos, o cualquier operación donde múltiples usuarios compitan por el mismo recurso.

Escenario real: Imagina un sistema de venta de entradas donde queda 1 plaza disponible, pero 2 usuarios la compran al mismo tiempo. Ambos reciben confirmación de pago exitoso, pero solo uno tiene la entrada. El otro pagó por nada.

¿Qué verás en este curso?

Te muestro exactamente cómo se produce este problema con un ejemplo real y reproducible: un sistema de reserva de asientos donde dos usuarios intentan reservar la última plaza disponible simultáneamente.

Verás en tiempo real cómo ambos procesos leen "disponible", ambos procesan el pago, y ambos confirman la reserva exitosa mediante email, cuando solo debería haberlo hecho uno. El problema visualizado paso a paso, sin abstracciones.

¿Qué aprenderás?

Primero entenderás el problema con código real que falla. Después implementarás la solución profesional utilizada en entornos de producción, demostrando cómo el motor de base de datos garantiza que solo un proceso pueda completar la operación, mientras el otro recibe correctamente un rechazo.

Todo el código está disponible, es completamente reproducible en tu entorno local con Laravel, y aplicable directamente a tus proyectos en producción. Verás las notificaciones por email con Mailpit para entender visualmente qué usuario recibe qué mensaje en cada escenario.

¿Por qué este curso?

Porque las race conditions son silenciosas, difíciles de detectar en desarrollo, y catastróficas en producción. Aprenderás a identificarlas, reproducirlas, y solucionarlas antes de que lleguen a tus usuarios.

assignment

Requisitos

group

¿A quién va dirigido el curso?

  • Desarrolladores Laravel que trabajan con sistemas de reservas, inventarios o pagos

  • Backend developers que necesitan manejar operaciones concurrentes

  • Programadores que han tenido bugs extraños en producción que no se reproducen en local

  • Desarrolladores que quieren entender problemas reales de concurrencia con código práctico

  • Cualquiera que trabaje con bases de datos y múltiples usuarios simultáneos

help_outline

¿Qué hacer en caso de dudas durante el curso?

Los planes de suscripción trimestral y anual incluyen soporte a través del foro del curso.

Las dudas que se planteen en el foro del curso serán respondidas en un plazo máximo de 24 horas laborables.

Las dudas planteadas deben estar relacionadas con el contenido del curso y no con desarrollos personalizados que no estén relacionados con el curso.

card_membership

Certificado de finalización

emoji_events

Al completar todas las lecciones del curso, obtendrás un certificado de finalización en formato PDF personalizado con tu nombre y un código QR de verificación.

  • center_focus_weak Código QR con enlace al curso
  • picture_as_pdf Descargable en formato PDF
  • person Personalizado con tu nombre

star Disponible exclusivamente para suscriptores.

Especialista con +15 años de experiencia en desarrollo web Full Stack. Dominio avanzado en Laravel y Vue.js, creando aplicaciones modernas de alto rendimiento. Instructor profesional con 8 años compartiendo conocimiento a través de cursos especializados que han formado a cientos de desarrolladores.

Israel Parra

Desarrollador Full Stack & Formador

Valoraciones

5
star star star star star

2 valoraciones

star star star star star
star star star star star_border
star star star star_border star_border
star star star_border star_border star_border
star star_border star_border star_border star_border
Alan Ortega

hace 6 meses

Alan Ortega Interesante
star star star star star
Es muy interesante que se aborde este tipo de tematicas, aunque ya paso desde que vi el video pero es muy importante conocer este tipo de circunstancias
Luis Angel Murrugarra Astolingon

hace 6 meses

Luis Angel Muy buen aporte, directo al grano con ejemplos visibles y reales
star star star star star
Me gustó que vayamos sin rodeos a publicar la teoria breve y sencilla de lo que es, porque ocurre y como solucionarlo
visibility Vista previa

star

¿Te gusta lo que ves? Accede a este curso completo y a más de 200 cursos con una suscripción.

launch Ver planes de suscripción