{"id":34267,"date":"2025-10-22T10:19:29","date_gmt":"2025-10-22T08:19:29","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=34267"},"modified":"2025-10-22T10:24:45","modified_gmt":"2025-10-22T08:24:45","slug":"aws-la-fragilidad-del-internet-en-la-nube","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/","title":{"rendered":"AWS: La Fragilidad del Internet en la\u00a0Nube"},"content":{"rendered":"\n<p>En la era donde todo es \u201cnube\u201d, la <strong>confianza digital<\/strong> descansa en pilares que parecen inquebrantables, siendo <strong>Amazon Web Services (AWS)<\/strong> el m\u00e1s grande de todos. Pero, \u00bfqu\u00e9 pasa cuando este gigante se tambalea? La reciente <strong>ca\u00edda de AWS<\/strong> no solo interrumpi\u00f3 la navegaci\u00f3n; demostr\u00f3 la extrema <strong>vulnerabilidad<\/strong> de nuestro ecosistema digital global, desde videojuegos como Fortnite y apps de mensajer\u00eda hasta servicios de banca y asistentes virtuales como Alexa.<\/p>\n\n\n\n<p>El reciente (y no tan reciente, \u00a1recordemos el incidente de <a href=\"https:\/\/support.modyo.com\/hc\/es\/articles\/4415944028685--7-de-Diciembre-del-2021-Falla-regional-de-m%C3%BAltiples-servicios-en-AWS-us-east-1\" rel=\"noreferrer noopener\" target=\"_blank\"><strong>diciembre de 2021<\/strong><\/a>!) incidente en <strong>Amazon Web Services (AWS)<\/strong> expuso la vulnerabilidad sist\u00e9mica de la infraestructura global. En el evento, el fallo se origin\u00f3 en la regi\u00f3n m\u00e1s antigua y cr\u00edtica de AWS: <strong>US-EAST-1 (Norte de Virginia, EE. UU.)<\/strong>. Un fallo que desencaden\u00f3 interrupciones masivas y reabri\u00f3 el debate sobre resiliencia, multirregi\u00f3n y planes de continuidad para servicios que usan DynamoDB, Route 53 y capas DNS dependientes de AWS.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\" id=\"h-el-talon-de-nbsp-aquiles\"><strong>El Tal\u00f3n de&nbsp;Aquiles<\/strong><\/h2>\n\n\n\n<p>El problema se centr\u00f3 en un fallo operativo relacionado con el servicio de base de datos <strong>Amazon DynamoDB<\/strong> (una base de datos NoSQL de AWS) y, m\u00e1s espec\u00edficamente, en un error de <strong>resoluci\u00f3n DNS<\/strong> en un <em>endpoint<\/em> clave de este servicio.<\/p>\n\n\n\n<p>Cuando una parte esencial de la infraestructura (como un componente que permite a otros servicios saber d\u00f3nde est\u00e1n sus datos) falla, el efecto es un <strong>apag\u00f3n en cascada<\/strong> que paraliza a miles de aplicaciones en todo el mundo, incluso aquellas que no usan directamente el servicio afectado. Esto se debe a que muchos servicios globales de control y gesti\u00f3n de AWS est\u00e1n <em>anclados<\/em> a esta regi\u00f3n hist\u00f3rica.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\" id=\"h-resumen-del-incidente\"><strong>Resumen del incidente<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Fecha y regi\u00f3n impactada:<\/strong> El fallo comenz\u00f3 en la regi\u00f3n US-EAST-1 poco despu\u00e9s de las <a href=\"https:\/\/www.computing.es\/infraestructuras\/fallo-aws-20-octubre-2025-gran-corte-nube\/\" target=\"_blank\" rel=\"noreferrer noopener\">03:11 hora local<\/a>, generando errores y latencias elevadas que se propagaron a servicios dependientes.<\/li>\n\n\n\n<li><strong>Causa probable:<\/strong> Un problema de resoluci\u00f3n DNS en endpoints de Amazon DynamoDB afect\u00f3 a m\u00faltiples capas de servicio, amplific\u00e1ndose hacia aplicaciones y proveedores integrados.<\/li>\n\n\n\n<li><strong>Servicios afectados:<\/strong> Plataformas como Amazon.com\/Prime, Alexa, Duolingo, Snapchat, Fortnite, Coinbase y telecomunicaciones registraron fallas; en Espa\u00f1a y Europa se reportaron impactos en BBVA, ING, Movistar y Orange.<\/li>\n\n\n\n<li><strong>Alcance global:<\/strong> M\u00e1s de mil empresas y millones de usuarios enfrentaron interrupciones, evidenciando la fragilidad de depender de pocos proveedores cloud.<\/li>\n\n\n\n<li><strong>Recuperaci\u00f3n:<\/strong> AWS inform\u00f3 recuperaci\u00f3n progresiva de la mayor\u00eda de servicios tras estabilizar la regi\u00f3n afectada.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\" id=\"h-por-que-un-fallo-local-paraliza-medio-nbsp-internet\"><strong>Por qu\u00e9 un fallo \u201clocal\u201d paraliza medio&nbsp;Internet<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Punto \u00fanico de verdad:<\/strong> US-EAST-1 concentra servicios base y dependencias internas (DNS, endpoints cr\u00edticos). Cuando una regi\u00f3n que centraliza metadatos o control plane sufre, el blast radius excede la geograf\u00eda.<\/li>\n\n\n\n<li><strong>Cadenas de dependencia:<\/strong> Un problema en DynamoDB o DNS impacta autenticaci\u00f3n, cat\u00e1logos, colas y APIs, creando cascadas de timeouts y reintentos que saturan clientes y balancers.<\/li>\n\n\n\n<li><strong>Efecto red:<\/strong> Empresas con arquitectura single-region o sin failover real, aunque \u201cmulti-AZ\u201d, terminan indisponibles. La centralizaci\u00f3n del cloud aumenta la correlaci\u00f3n de riesgos.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\" id=\"h-lecciones-clave-para-arquitectura-resiliente\"><strong>Lecciones clave para arquitectura resiliente<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Multirregi\u00f3n real, no solo multi-AZ:<\/strong> Replicar datos y \u201cwrite\/read paths\u201d en al menos dos regiones, con conmutaci\u00f3n autom\u00e1tica (active-active o active-passive).<\/li>\n\n\n\n<li><strong>DNS con failover y salud externa:<\/strong> Usar Route 53 con health checks externos y TTLs cortos para mover tr\u00e1fico fuera de la regi\u00f3n afectada.<\/li>\n\n\n\n<li><strong>Backpressure y circuit breakers:<\/strong> Evitar tormentas de reintentos que empeoran la ca\u00edda. Implementar tiempos de espera, l\u00edmites y degradaci\u00f3n funcional controlada.<\/li>\n\n\n\n<li><strong>Cach\u00e9 y modos de lectura degradada:<\/strong> Servir contenido cr\u00edtico desde CDN\/cache cuando la capa din\u00e1mica falla.<\/li>\n\n\n\n<li><strong>Observabilidad independiente del proveedor:<\/strong> Monitorear desde redes externas y m\u00faltiples vantage points para detectar problemas de DNS y latencia global.<\/li>\n\n\n\n<li><strong>Runbooks y drills:<\/strong> Simular ca\u00edda de una regi\u00f3n completa y practicar RTO\/RPO medibles.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-left\" id=\"h-la-importancia-de-la-resiliencia\"><strong>La Importancia de la Resiliencia<\/strong><\/h3>\n\n\n\n<p>Para los desarrolladores y arquitectos, la ca\u00edda de AWS no es solo una noticia, es una <strong>llamada de atenci\u00f3n<\/strong> para construir arquitecturas verdaderamente <strong>resilientes<\/strong> y <strong>multirregionales<\/strong>. El c\u00f3digo debe anticipar el fracaso.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-manejo-de-errores-y-nbsp-timeouts\"><strong><em>Manejo de Errores y&nbsp;Timeouts<\/em><\/strong><\/h4>\n\n\n\n<p>Cuando DynamoDB (o cualquier API) fall\u00f3 en la regi\u00f3n, las aplicaciones que no estaban preparadas para manejar errores de conexi\u00f3n o latencias excesivas se quedaron simplemente \u201ccolgadas\u201d o fallaron por completo.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><em>C\u00f3digo NO Resiliente (Lo que Fall\u00f3):<\/em><\/strong><\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">import boto3\n\n<span class=\"hljs-comment\"># Este c\u00f3digo asume que el endpoint de DynamoDB (o la API) SIEMPRE est\u00e1 disponible<\/span>\n<span class=\"hljs-keyword\">try<\/span>:\n    dynamodb = boto3.resource(<span class=\"hljs-string\">'dynamodb'<\/span>, region_name=<span class=\"hljs-string\">'us-east-1'<\/span>) <span class=\"hljs-comment\"># Punto de fallo<\/span>\n    table = dynamodb.Table(<span class=\"hljs-string\">'MiTablaCritica'<\/span>)\n    <span class=\"hljs-comment\"># Intento de lectura\/escritura sin manejo de reintentos<\/span>\n    response = table.get_item(Key={<span class=\"hljs-string\">'id'<\/span>: <span class=\"hljs-string\">'usuario123'<\/span>})\n    <span class=\"hljs-keyword\">print<\/span>(<span class=\"hljs-string\">\"Datos obtenidos:\"<\/span>, response.get(<span class=\"hljs-string\">'Item'<\/span>))\n\nexcept <span class=\"hljs-keyword\">Exception<\/span> <span class=\"hljs-keyword\">as<\/span> e:\n    <span class=\"hljs-comment\"># El error es fatal y la aplicaci\u00f3n se detiene o lanza un error 500<\/span>\n    <span class=\"hljs-keyword\">print<\/span>(f<span class=\"hljs-string\">\"Error fatal: {e}\"<\/span>)\n    <span class=\"hljs-comment\"># Resultado: El usuario ve un error o pantalla en blanco.<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>C\u00f3digo Resiliente con Reintentos (Retries) y Fallback:<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Un buen dise\u00f1o utiliza librer\u00edas o implementaciones personalizadas que <strong>reintentan<\/strong> la operaci\u00f3n (con un retardo exponencial, <em>Exponential Backoff<\/em>) y, si el fallo es persistente, recurren a una fuente de datos alternativa o muestran un mensaje elegante.<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">!pip install boto3<\/code><\/span><\/pre>\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">import boto3\nfrom botocore.exceptions import ClientError\nimport time\n\ndef get_critical_data(user_id, max_retries=<span class=\"hljs-number\">3<\/span>):\n    dynamodb = boto3.resource(<span class=\"hljs-string\">'dynamodb'<\/span>, region_name=<span class=\"hljs-string\">'us-east-1'<\/span>)\n    table = dynamodb.Table(<span class=\"hljs-string\">'MiTablaCritica'<\/span>)\n    \n    <span class=\"hljs-keyword\">for<\/span> attempt in range(max_retries):\n        <span class=\"hljs-keyword\">try<\/span>:\n            response = table.get_item(Key={<span class=\"hljs-string\">'id'<\/span>: user_id})\n            <span class=\"hljs-comment\"># \u00c9xito: retorna los datos<\/span>\n            <span class=\"hljs-keyword\">return<\/span> response.get(<span class=\"hljs-string\">'Item'<\/span>)\n        \n        except ClientError <span class=\"hljs-keyword\">as<\/span> e:\n            <span class=\"hljs-comment\"># Capturar errores de servicio (p. ej., DynamoDB no disponible)<\/span>\n            <span class=\"hljs-keyword\">print<\/span>(f<span class=\"hljs-string\">\"Intento {attempt + 1} fallido. Error: {e.response&#91;'Error']&#91;'Code']}\"<\/span>)\n            <span class=\"hljs-keyword\">if<\/span> attempt &lt; max_retries - <span class=\"hljs-number\">1<\/span>:\n                <span class=\"hljs-comment\"># Esperar m\u00e1s tiempo antes del pr\u00f3ximo intento (Backoff)<\/span>\n                time.sleep(<span class=\"hljs-number\">2<\/span> ** attempt)\n            <span class=\"hljs-keyword\">else<\/span>:\n                <span class=\"hljs-comment\"># \u00daltimo intento fallido: activa el Fallback<\/span>\n                <span class=\"hljs-keyword\">break<\/span>\n\n    <span class=\"hljs-comment\"># \ud83d\udd11 Mecanismo de FALLBACK: Usa datos de la cach\u00e9 (Redis, CDN) o regi\u00f3n secundaria.<\/span>\n    <span class=\"hljs-keyword\">print<\/span>(<span class=\"hljs-string\">\"\ud83d\udea8 Fallback: Usando datos en cach\u00e9 o backup de solo lectura...\"<\/span>)\n    <span class=\"hljs-keyword\">return<\/span> get_cached_data_or_from_secondary_region(user_id)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a class=\"alt=&quot;Falla AWS en US-EAST-1&quot;\" href=\"https:\/\/aistudio.google.com\/203a634a-8b65-4f0a-8ad9-8c84f1c1b87e\" target=\"_blank\" rel=\" noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/800\/1*mogrXo64ygt4EWL6UkQbsw.png\" alt=\"\"\/><\/a><\/figure><\/div>\n\n\n<h4 class=\"wp-block-heading\" id=\"h-implementaciones-para-mitigar-nbsp-caidas\"><strong><em>Implementaciones para mitigar&nbsp;ca\u00eddas<\/em><\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><em>Route 53 con failover entre regiones<\/em><\/strong><\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># Terraform: DNS failover hacia dos regiones (active-passive)<\/span>\nresource <span class=\"hljs-string\">\"aws_route53_health_check\"<\/span> <span class=\"hljs-string\">\"primary_api\"<\/span> {\n  fqdn              = <span class=\"hljs-string\">\"api.miempresa.com\"<\/span>\n  type              = <span class=\"hljs-string\">\"HTTPS\"<\/span>\n  resource_path     = <span class=\"hljs-string\">\"\/healthz\"<\/span>\n  failure_threshold = <span class=\"hljs-number\">3<\/span>\n  request_interval  = <span class=\"hljs-number\">30<\/span>\n}\n\nresource <span class=\"hljs-string\">\"aws_route53_record\"<\/span> <span class=\"hljs-string\">\"api_failover\"<\/span> {\n  zone_id = <span class=\"hljs-keyword\">var<\/span>.hosted_zone_id\n  name    = <span class=\"hljs-string\">\"api.miempresa.com\"<\/span>\n  type    = <span class=\"hljs-string\">\"A\"<\/span>\n\n  set_identifier = <span class=\"hljs-string\">\"primary-us-east-1\"<\/span>\n  alias {\n    name                   = aws_lb.primary_alb.dns_name\n    zone_id                = aws_lb.primary_alb.zone_id\n    evaluate_target_health = <span class=\"hljs-keyword\">true<\/span>\n  }\n\n  failover_routing_policy {\n    type          = <span class=\"hljs-string\">\"PRIMARY\"<\/span>\n    health_check_id = aws_route53_health_check.primary_api.id\n  }\n}\n\nresource <span class=\"hljs-string\">\"aws_route53_record\"<\/span> <span class=\"hljs-string\">\"api_failover_secondary\"<\/span> {\n  zone_id = <span class=\"hljs-keyword\">var<\/span>.hosted_zone_id\n  name    = <span class=\"hljs-string\">\"api.miempresa.com\"<\/span>\n  type    = <span class=\"hljs-string\">\"A\"<\/span>\n\n  set_identifier = <span class=\"hljs-string\">\"secondary-eu-west-1\"<\/span>\n  alias {\n    name                   = aws_lb.secondary_alb.dns_name\n    zone_id                = aws_lb.secondary_alb.zone_id\n    evaluate_target_health = <span class=\"hljs-keyword\">true<\/span>\n  }\n\n  failover_routing_policy {\n    type = <span class=\"hljs-string\">\"SECONDARY\"<\/span>\n  }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>Clave:<\/strong> TTL bajo, health checks externos y \u201cevaluate_target_health\u201d activado para cortar tr\u00e1fico a la regi\u00f3n fallida.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><em>DynamoDB global tables para tolerancia regional<\/em><\/strong><\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># Terraform: Global Table en dos regiones<\/span>\nresource <span class=\"hljs-string\">\"aws_dynamodb_table\"<\/span> <span class=\"hljs-string\">\"orders_us\"<\/span> {\n  name         = <span class=\"hljs-string\">\"orders\"<\/span>\n  billing_mode = <span class=\"hljs-string\">\"PAY_PER_REQUEST\"<\/span>\n  hash_key     = <span class=\"hljs-string\">\"order_id\"<\/span>\n\n  attribute {\n    name = <span class=\"hljs-string\">\"order_id\"<\/span>\n    type = <span class=\"hljs-string\">\"S\"<\/span>\n  }\n\n  replica {\n    region_name = <span class=\"hljs-string\">\"us-east-1\"<\/span>\n  }\n\n  replica {\n    region_name = <span class=\"hljs-string\">\"eu-west-1\"<\/span>\n  }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>Clave:<\/strong> Dise\u00f1ar claves y consistencia para lecturas en m\u00faltiples regiones y enrutar writes seg\u00fan disponibilidad.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a class=\"alt=&quot;AWS Impacto Global&quot;\" href=\"https:\/\/aistudio.google.com\/8af447a1-86ad-49ed-ae5e-d5077aa14094\" target=\"_blank\" rel=\" noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/800\/1*XkppCkCfvxqe7TdgDw1x7g.png\" alt=\"\"\/><\/a><\/figure><\/div>\n\n\n<ul class=\"wp-block-list\">\n<li><strong><em>Circuit breakers y reintentos exponenciales<\/em><\/strong><\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-comment\">\/\/ Node.js (Axios + opossum): breaker + retries seguros<\/span>\n<span class=\"hljs-keyword\">import<\/span> axios <span class=\"hljs-keyword\">from<\/span> <span class=\"hljs-string\">\"axios\"<\/span>;\n<span class=\"hljs-keyword\">import<\/span> CircuitBreaker <span class=\"hljs-keyword\">from<\/span> <span class=\"hljs-string\">\"opossum\"<\/span>;\n\n<span class=\"hljs-keyword\">const<\/span> client = axios.create({ <span class=\"hljs-attr\">timeout<\/span>: <span class=\"hljs-number\">3000<\/span> });\n\n<span class=\"hljs-keyword\">async<\/span> <span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">callAPI<\/span>(<span class=\"hljs-params\"><\/span>) <\/span>{\n  <span class=\"hljs-keyword\">return<\/span> client.get(<span class=\"hljs-string\">\"https:\/\/api.miempresa.com\/v1\/pagos\"<\/span>);\n}\n\n<span class=\"hljs-keyword\">const<\/span> breaker = <span class=\"hljs-keyword\">new<\/span> CircuitBreaker(callAPI, {\n  <span class=\"hljs-attr\">timeout<\/span>: <span class=\"hljs-number\">3500<\/span>,\n  <span class=\"hljs-attr\">errorThresholdPercentage<\/span>: <span class=\"hljs-number\">50<\/span>,\n  <span class=\"hljs-attr\">resetTimeout<\/span>: <span class=\"hljs-number\">10000<\/span>,\n});\n\nbreaker.fallback(<span class=\"hljs-function\"><span class=\"hljs-params\">()<\/span> =&gt;<\/span> ({ <span class=\"hljs-attr\">status<\/span>: <span class=\"hljs-string\">\"degraded\"<\/span>, <span class=\"hljs-attr\">data<\/span>: &#91;] }));\n\n<span class=\"hljs-comment\">\/\/ Reintentos exponenciales controlados<\/span>\n<span class=\"hljs-keyword\">async<\/span> <span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">withRetry<\/span>(<span class=\"hljs-params\">fn, max = <span class=\"hljs-number\">4<\/span><\/span>) <\/span>{\n  <span class=\"hljs-keyword\">let<\/span> delay = <span class=\"hljs-number\">500<\/span>;\n  <span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-keyword\">let<\/span> i = <span class=\"hljs-number\">0<\/span>; i &lt; max; i++) {\n    <span class=\"hljs-keyword\">try<\/span> { <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-keyword\">await<\/span> fn(); }\n    <span class=\"hljs-keyword\">catch<\/span> (e) {\n      <span class=\"hljs-keyword\">if<\/span> (i === max - <span class=\"hljs-number\">1<\/span>) <span class=\"hljs-keyword\">throw<\/span> e;\n      <span class=\"hljs-keyword\">await<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-built_in\">Promise<\/span>(<span class=\"hljs-function\"><span class=\"hljs-params\">r<\/span> =&gt;<\/span> setTimeout(r, delay));\n      delay *= <span class=\"hljs-number\">2<\/span>;\n    }\n  }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>Clave:<\/strong> Evitar thundering herd; degradar funciones no cr\u00edticas y proteger dependencias externas.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><em>NGINX como \u201ccapa de resiliencia\u201d con cach\u00e9<\/em><\/strong><\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">proxy_cache_path \/<span class=\"hljs-keyword\">var<\/span>\/cache\/nginx levels=<span class=\"hljs-number\">1<\/span>:<span class=\"hljs-number\">2<\/span> keys_zone=api_cache:<span class=\"hljs-number\">100<\/span>m inactive=<span class=\"hljs-number\">10<\/span>m use_temp_path=off;\n\nserver {\n  listen <span class=\"hljs-number\">443<\/span> ssl;\n  server_name api.miempresa.com;\n\n  location \/v1\/catalogo {\n    proxy_cache api_cache;\n    proxy_cache_valid <span class=\"hljs-number\">200<\/span> <span class=\"hljs-number\">1<\/span>m;    <span class=\"hljs-comment\"># Sirve cach\u00e9 si backend est\u00e1 lento<\/span>\n    proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;\n    proxy_connect_timeout <span class=\"hljs-number\">2<\/span>s;\n    proxy_read_timeout <span class=\"hljs-number\">3<\/span>s;\n    proxy_pass https:<span class=\"hljs-comment\">\/\/backend_pool;<\/span>\n  }\n\n  location \/healthz { <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">200<\/span>; }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>Clave:<\/strong> \u201cuse_stale\u201d mantiene respuestas \u00fatiles durante fallos transitorios y reduce presi\u00f3n sobre el backend.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><em>CloudFront con origin failover<\/em><\/strong><\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"JSON \/ JSON with Comments\" data-shcb-language-slug=\"json\"><span><code class=\"hljs language-json\">{\n  <span class=\"hljs-attr\">\"Origins\"<\/span>: &#91;\n    { <span class=\"hljs-attr\">\"Id\"<\/span>: <span class=\"hljs-string\">\"primary-alb\"<\/span>, <span class=\"hljs-attr\">\"DomainName\"<\/span>: <span class=\"hljs-string\">\"primary-alb.example.amazonaws.com\"<\/span> },\n    { <span class=\"hljs-attr\">\"Id\"<\/span>: <span class=\"hljs-string\">\"secondary-alb\"<\/span>, <span class=\"hljs-attr\">\"DomainName\"<\/span>: <span class=\"hljs-string\">\"secondary-alb.example.amazonaws.com\"<\/span> }\n  ],\n  <span class=\"hljs-attr\">\"OriginGroups\"<\/span>: {\n    <span class=\"hljs-attr\">\"Items\"<\/span>: &#91;\n      {\n        <span class=\"hljs-attr\">\"Id\"<\/span>: <span class=\"hljs-string\">\"group-1\"<\/span>,\n        <span class=\"hljs-attr\">\"Members\"<\/span>: { <span class=\"hljs-attr\">\"Items\"<\/span>: &#91;{ <span class=\"hljs-attr\">\"OriginId\"<\/span>: <span class=\"hljs-string\">\"primary-alb\"<\/span> }, { <span class=\"hljs-attr\">\"OriginId\"<\/span>: <span class=\"hljs-string\">\"secondary-alb\"<\/span> }] },\n        <span class=\"hljs-attr\">\"FailoverCriteria\"<\/span>: { <span class=\"hljs-attr\">\"StatusCodes\"<\/span>: { <span class=\"hljs-attr\">\"Items\"<\/span>: &#91;<span class=\"hljs-number\">500<\/span>, <span class=\"hljs-number\">502<\/span>, <span class=\"hljs-number\">503<\/span>, <span class=\"hljs-number\">504<\/span>] } }\n      }\n    ]\n  },\n  <span class=\"hljs-attr\">\"DefaultCacheBehavior\"<\/span>: { <span class=\"hljs-attr\">\"TargetOriginId\"<\/span>: <span class=\"hljs-string\">\"group-1\"<\/span> }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JSON \/ JSON with Comments<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">json<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>Clave:<\/strong> Failover en CDN mitiga errores de origen y recorta tiempos de recuperaci\u00f3n percibidos por el usuario.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-multi-region-el-verdadero-seguro-contra-caidas-regionales\"><strong>Multi-Regi\u00f3n: El Verdadero Seguro Contra Ca\u00eddas Regionales<\/strong><\/h3>\n\n\n\n<p>La ca\u00edda de US-EAST-1 demostr\u00f3 que depender de una sola regi\u00f3n es un riesgo inaceptable. La estrategia <strong>Multi-Regi\u00f3n<\/strong> implica replicar la aplicaci\u00f3n y los datos en, al menos, dos regiones geogr\u00e1ficas diferentes (ej: <code>us-east-1<\/code> y <code>us-west-2<\/code>).<\/p>\n\n\n\n<p>Un servicio de DNS global como <strong>AWS Route 53<\/strong> se configura para dirigir el tr\u00e1fico autom\u00e1ticamente a la regi\u00f3n que est\u00e9 operativa.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"JSON \/ JSON with Comments\" data-shcb-language-slug=\"json\"><span><code class=\"hljs language-json\"><span class=\"hljs-comment\">\/\/ Configuraci\u00f3n L\u00f3gica en Route 53 (usando un Policy de Failover)<\/span>\n{\n  <span class=\"hljs-attr\">\"RoutingPolicy\"<\/span>: <span class=\"hljs-string\">\"Failover\"<\/span>,\n  <span class=\"hljs-attr\">\"Primary\"<\/span>: {\n    <span class=\"hljs-attr\">\"Region\"<\/span>: <span class=\"hljs-string\">\"us-east-1\"<\/span>,\n    <span class=\"hljs-attr\">\"Endpoint\"<\/span>: <span class=\"hljs-string\">\"mi-app.us-east-1.elb.amazonaws.com\"<\/span>\n  },\n  <span class=\"hljs-attr\">\"Secondary\"<\/span>: {\n    <span class=\"hljs-attr\">\"Region\"<\/span>: <span class=\"hljs-string\">\"us-west-2\"<\/span>,\n    <span class=\"hljs-attr\">\"Endpoint\"<\/span>: <span class=\"hljs-string\">\"mi-app.us-west-2.elb.amazonaws.com\"<\/span>\n  }\n}\n<span class=\"hljs-comment\">\/\/ Resultado: Si us-east-1 falla, el tr\u00e1fico se redirige a us-west-2 autom\u00e1ticamente.<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JSON \/ JSON with Comments<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">json<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>La <strong>ca\u00edda masiva de AWS<\/strong> (<a href=\"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/cloud-es\/el-futuro-energetico-de-la-nube\/\">Amazon Web Services<\/a>) no solo gener\u00f3 titulares, sino que reafirm\u00f3 una verdad crucial: la <strong>alta dependencia<\/strong> de Internet en la <strong>infraestructura cloud centralizada<\/strong>.<\/p>\n\n\n\n<p>Para un desarrollo moderno, la <strong>resiliencia<\/strong> ya no es un lujo, es una <strong>necesidad fundamental<\/strong>. Implementar <strong>estrategias Multi-Regi\u00f3n<\/strong>, robustecer el <strong>manejo de errores<\/strong> con <strong>reintentos inteligentes<\/strong> (<em>retries<\/em> y <em>backoff<\/em>), y disponer de <strong>planes de contingencia<\/strong> con <em>fallback<\/em> a cach\u00e9 o regiones secundarias, son las claves para asegurar la <strong>continuidad de negocio<\/strong> en la era del <em>cloud computing<\/em>.<\/p>\n\n\n\n<p>La ca\u00edda de AWS no es una an\u00e9cdota: es una invitaci\u00f3n a dise\u00f1ar con fallas en mente. Si tu arquitectura depende de una sola regi\u00f3n o de rutas sin degradaci\u00f3n controlada, el pr\u00f3ximo incidente no ser\u00e1 \u201csi\u201d, sino \u201ccu\u00e1ndo\u201d. Multirregi\u00f3n, DNS inteligente, datos replicados y patrones de resiliencia con c\u00f3digo son el nuevo m\u00ednimo viable.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a class=\"alt=&quot;Ca\u00edda masiva de AWS&quot;\" href=\"https:\/\/aistudio.google.com\/c1f93a68-8feb-4092-9b12-8801d9745137\" target=\"_blank\" rel=\" noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/800\/1*J-awYmiiibGkSqcMdHJKIg.png\" alt=\"\"\/><\/a><\/figure><\/div>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En la era donde todo es \u201cnube\u201d, la confianza digital descansa en pilares que parecen inquebrantables, siendo Amazon Web Services (AWS) el m\u00e1s grande de todos. Pero, \u00bfqu\u00e9 pasa cuando este gigante se tambalea? La reciente ca\u00edda de AWS no solo interrumpi\u00f3 la navegaci\u00f3n; demostr\u00f3 la extrema vulnerabilidad de nuestro ecosistema digital global, desde videojuegos&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/\">Read more<\/a><\/p>\n","protected":false},"author":313,"featured_media":34294,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[11361,10628,10626],"tags":[13295,13639,10676],"collections":[13517,13519],"class_list":{"0":"post-34267","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-cloud-es","8":"category-computacion-en-la-nube","9":"category-devops-es","10":"tag-aws-es","11":"tag-cloud-architecture-es","12":"tag-nube","13":"collections-aws-es","14":"collections-cloud-computing-es","15":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Ca\u00edda AWS: causas e impacto global<\/title>\n<meta name=\"description\" content=\"Ca\u00edda AWS: causas del fallo global, servicios afectados y c\u00f3mo proteger tu infraestructura con estrategias en c\u00f3digo.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AWS: La Fragilidad del Internet en la\u00a0Nube\" \/>\n<meta property=\"og:description\" content=\"Ca\u00edda AWS: causas del fallo global, servicios afectados y c\u00f3mo proteger tu infraestructura con estrategias en c\u00f3digo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-22T08:19:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-22T08:24:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"560\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Orli Dun\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Orli Dun\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/\"},\"author\":{\"name\":\"Orli Dun\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/37ca255c359cc54110ac89eb4fa7db42\"},\"headline\":\"AWS: La Fragilidad del Internet en la\u00a0Nube\",\"datePublished\":\"2025-10-22T08:19:29+00:00\",\"dateModified\":\"2025-10-22T08:24:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/\"},\"wordCount\":1126,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A.png\",\"keywords\":[\"AWS\",\"cloud architecture\",\"Nube\"],\"articleSection\":[\"Cloud\",\"Computacion en la nube\",\"DevOps\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/\",\"name\":\"Ca\u00edda AWS: causas e impacto global\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A.png\",\"datePublished\":\"2025-10-22T08:19:29+00:00\",\"dateModified\":\"2025-10-22T08:24:45+00:00\",\"description\":\"Ca\u00edda AWS: causas del fallo global, servicios afectados y c\u00f3mo proteger tu infraestructura con estrategias en c\u00f3digo.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/#primaryimage\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A.png\",\"width\":800,\"height\":560},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DevOps\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"AWS: La Fragilidad del Internet en la\u00a0Nube\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Codemotion.Italy\/\",\"https:\/\/x.com\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/37ca255c359cc54110ac89eb4fa7db42\",\"name\":\"Orli Dun\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/04\/alura-profile-100x100.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/04\/alura-profile-100x100.png\",\"caption\":\"Orli Dun\"},\"description\":\"From finance to the digital revolution! Systems Engineer | Cloud &amp; AI | Tech Creator | Community Manager at Alura Latam #foramillionfriends\",\"sameAs\":[\"https:\/\/orlidun.vercel.app\/\",\"https:\/\/www.linkedin.com\/in\/orlibetdungonzalez\"],\"url\":\"https:\/\/www.codemotion.com\/magazine\/author\/orli-dun\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ca\u00edda AWS: causas e impacto global","description":"Ca\u00edda AWS: causas del fallo global, servicios afectados y c\u00f3mo proteger tu infraestructura con estrategias en c\u00f3digo.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/","og_locale":"en_US","og_type":"article","og_title":"AWS: La Fragilidad del Internet en la\u00a0Nube","og_description":"Ca\u00edda AWS: causas del fallo global, servicios afectados y c\u00f3mo proteger tu infraestructura con estrategias en c\u00f3digo.","og_url":"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2025-10-22T08:19:29+00:00","article_modified_time":"2025-10-22T08:24:45+00:00","og_image":[{"width":800,"height":560,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A.png","type":"image\/png"}],"author":"Orli Dun","twitter_card":"summary_large_image","twitter_creator":"@CodemotionIT","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Orli Dun","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/"},"author":{"name":"Orli Dun","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/37ca255c359cc54110ac89eb4fa7db42"},"headline":"AWS: La Fragilidad del Internet en la\u00a0Nube","datePublished":"2025-10-22T08:19:29+00:00","dateModified":"2025-10-22T08:24:45+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/"},"wordCount":1126,"commentCount":0,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A.png","keywords":["AWS","cloud architecture","Nube"],"articleSection":["Cloud","Computacion en la nube","DevOps"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/","url":"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/","name":"Ca\u00edda AWS: causas e impacto global","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A.png","datePublished":"2025-10-22T08:19:29+00:00","dateModified":"2025-10-22T08:24:45+00:00","description":"Ca\u00edda AWS: causas del fallo global, servicios afectados y c\u00f3mo proteger tu infraestructura con estrategias en c\u00f3digo.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A.png","width":800,"height":560},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/aws-la-fragilidad-del-internet-en-la-nube\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"DevOps","item":"https:\/\/www.codemotion.com\/magazine\/es\/devops-es\/"},{"@type":"ListItem","position":3,"name":"AWS: La Fragilidad del Internet en la\u00a0Nube"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/37ca255c359cc54110ac89eb4fa7db42","name":"Orli Dun","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/04\/alura-profile-100x100.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2026\/04\/alura-profile-100x100.png","caption":"Orli Dun"},"description":"From finance to the digital revolution! Systems Engineer | Cloud &amp; AI | Tech Creator | Community Manager at Alura Latam #foramillionfriends","sameAs":["https:\/\/orlidun.vercel.app\/","https:\/\/www.linkedin.com\/in\/orlibetdungonzalez"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/orli-dun\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A-600x400.png","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A-600x560.png","author_info":{"display_name":"Orli Dun","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/orli-dun\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A.png",800,560,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A-150x150.png",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A-300x210.png",300,210,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A-768x538.png",768,538,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A.png",800,560,false],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A.png",800,560,false],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A.png",800,560,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A-100x100.png",100,100,true],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A-180x128.png",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A-800x504.png",800,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A-400x225.png",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A-600x400.png",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/10\/1_s3cPKPBCPliEHo4WpUH63A-600x560.png",600,560,true]},"uagb_author_info":{"display_name":"Orli Dun","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/orli-dun\/"},"uagb_comment_info":0,"uagb_excerpt":"En la era donde todo es \u201cnube\u201d, la confianza digital descansa en pilares que parecen inquebrantables, siendo Amazon Web Services (AWS) el m\u00e1s grande de todos. Pero, \u00bfqu\u00e9 pasa cuando este gigante se tambalea? La reciente ca\u00edda de AWS no solo interrumpi\u00f3 la navegaci\u00f3n; demostr\u00f3 la extrema vulnerabilidad de nuestro ecosistema digital global, desde videojuegos&#8230;&hellip;","lang":"es","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/34267","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/313"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=34267"}],"version-history":[{"count":3,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/34267\/revisions"}],"predecessor-version":[{"id":34296,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/34267\/revisions\/34296"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/34294"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=34267"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=34267"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=34267"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=34267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}