diff --git a/.htmltest.yml b/.htmltest.yml
index e9ba71ab0..005d26576 100644
--- a/.htmltest.yml
+++ b/.htmltest.yml
@@ -3,6 +3,6 @@ DirectoryPath: public
# IgnoreDirectoryMissingTrailingSlash: true # FIXME
IgnoreInternalEmptyHash: true # FIXME
IgnoreDirs:
- - ^(bn|de|es|hi|it|ko|pt.*?|ru|tr|ur|zh.*?)/
+ - ^(bn|de|hi|it|ko|pt.*?|ru|tr|ur|zh.*?)/
IgnoreURLs: # list of regexs of paths or URLs to be ignored
- ^/pagefind
diff --git a/content/es/application-programming-interface.md b/content/es/application-programming-interface.md
index d00bc44bc..c9360b09b 100644
--- a/content/es/application-programming-interface.md
+++ b/content/es/application-programming-interface.md
@@ -21,4 +21,4 @@ Sin un marco compartido, la [escalabilidad](/es/scalability/) y la integración
Las APIs permiten a los programas o aplicaciones interactuar y compartir información en una manera definida y entendible.
Estas están construidas en bloques para aplicaciones modernas y proveen a los desarrolladores una manera de integrar aplicaciones.
-Siempre que escuche acerca de [microservicios](/es/microservices/) trabajando en conjunto, se puede inferir que están interactuando a través de una API.
+Siempre que escuche acerca de [microservicios](/es/microservices-architecture/) trabajando en conjunto, se puede inferir que están interactuando a través de una API.
diff --git a/content/es/auto-scaling.md b/content/es/auto-scaling.md
index 7196b3934..248a66384 100644
--- a/content/es/auto-scaling.md
+++ b/content/es/auto-scaling.md
@@ -5,7 +5,7 @@ category: Propiedad
tags: ["infraestructura", "", ""]
---
-El autoescalado es la habilidad de un sistema para [escalar](/es/scalability) automáticamente, en términos de recursos computacionales.
+El autoescalado es la habilidad de un sistema para [escalar](/es/scalability/) automáticamente, en términos de recursos computacionales.
Con un sistema de autoescalado, los recursos son agregados automáticamente cuando se necesitan y pueden escalar para cumplir con la demanda fluctuante de los usuarios.
El proceso de autoescalado varía y es configurable para escalar basado en diferentes métricas, como son la memoria o el uso de CPU.
Los servicios gestionados en la nube son los que están asociados típicamente con esta funcionalidad de autoescalado
@@ -15,7 +15,7 @@ Anteriormente, la infraestructura y las aplicaciones eran diseñadas para consid
Esta arquitectura implicaba que había más recursos que eran desaprovechados o con cambios rígidos frente a la demanda de los usuarios.
La rigidez en este caso, incrementa el coste y puede suponer una pérdida de negocios debido a problemas de capacidad.
-Aprovechando la nube, la [virtualización](/es/virtualization) y la [contenerización](/es/containerization/) de aplicaciones y sus dependencias,
+Aprovechando la nube, la [virtualización](/es/virtualization/) y la [contenerización](/es/containerization/) de aplicaciones y sus dependencias,
las organizaciones pueden construir aplicaciones que escalan de manera acorde a la demanda de los usuarios.
Se pueden monitorear la demanda de las aplicaciones y de manera automática escalar las mismas, proporcionando una experiencia al usuario final óptima.
Tomemos el ejemplo del aumento de la audiencia de Netflix todos los viernes por la noche.
diff --git a/content/es/chaos-engineering.md b/content/es/chaos-engineering.md
index fb1d5953f..1d23e344f 100644
--- a/content/es/chaos-engineering.md
+++ b/content/es/chaos-engineering.md
@@ -15,7 +15,7 @@ técnicas para el incremento de la resiliencia del producto y de la [confiabilid
La capacidad del sistema para tolerar fallos al mismo tiempo que aseguran una calidad de servicio adecuado
suele ser un típico requerimiento de desarrollo de software.
Existen muchos aspectos involucrados al momento de la indisponibilidad de una aplicación,
-como la infraestructura, la plataforma o otras partes del ecosistema de las aplicaciones basadas en ([microservicios](/es/microservices/)).
+como la infraestructura, la plataforma o otras partes del ecosistema de las aplicaciones basadas en ([microservicios](/es/microservices-architecture/)).
La alta frecuencia de despliegues de funcionalidades hacia el ambiente productivo puede
aumentar la posibilidad de un incidente crítico o estar fuera de línea,
generando consecuencias considerables para el negocio.
diff --git a/content/es/cloud-native-apps.md b/content/es/cloud-native-apps.md
index de59c3958..a8d639b69 100644
--- a/content/es/cloud-native-apps.md
+++ b/content/es/cloud-native-apps.md
@@ -5,7 +5,7 @@ category: Concepto
tags: ["aplicación", "fundamento", ""]
---
-Las aplicaciones nativas para la nube están diseñadas específicamente para aprovechar las innovaciones en [computación en la nube](/es/cloud_computing/).
+Las aplicaciones nativas para la nube están diseñadas específicamente para aprovechar las innovaciones en [computación en la nube](/es/cloud-computing/).
Estas aplicaciones se integran fácilmente con sus respectivas arquitecturas en la nube,
aprovechando los recursos de la nube y las capacidades de [escalado](/es/scalability/).
También se refiere a las aplicaciones que aprovechan las innovaciones en infraestructura impulsadas por la computación en la nube.
diff --git a/content/es/cloud-native-tech.md b/content/es/cloud-native-tech.md
index 82ab67860..e5bb07e97 100644
--- a/content/es/cloud-native-tech.md
+++ b/content/es/cloud-native-tech.md
@@ -9,7 +9,7 @@ Las tecnologías nativas para la nube, también denominadas como stack nativo pa
son las tecnologías que se utilizan para crear [aplicaciones nativas para la nube](/es/cloud-native-apps/).
Estas tecnologías permiten a las organizaciones crear y ejecutar aplicaciones escalables en entornos modernos y dinámicos
como nubes públicas, privadas e híbridas,
-mientras aprovechan al máximo los beneficios de la [computación en la nube](/es/cloud_computing/).
+mientras aprovechan al máximo los beneficios de la [computación en la nube](/es/cloud-computing/).
Están diseñadas desde cero para explotar las capacidades de la computación en la nube y los contenedores, las mallas de servicio, los microservicios,
y la infraestructura inmutable ejemplifican este enfoque.
diff --git a/content/es/cluster.md b/content/es/cluster.md
index a16181238..afd4b5157 100644
--- a/content/es/cluster.md
+++ b/content/es/cluster.md
@@ -15,7 +15,7 @@ El conjunto de todos estos servicios [contenedorizados](/es/containerization/),
Un software que es ejecutado en un solo ordenador es un único punto de fallo
— Si este ordenador falla, o alguien por accidente desconecta el cable de alimentación,
algún sistema crítico para el negocio puede quedar fuera de funcionamiento.
-Es por esto que el software moderno se construye generalmente como [aplicaciones distribuidas](/es/distributed-apps), agrupadas en clústeres.
+Es por esto que el software moderno se construye generalmente como [aplicaciones distribuidas](/es/distributed-apps/), agrupadas en clústeres.
## ¿Cómo ayuda?
diff --git a/content/es/container-image.md b/content/es/container-image.md
index 4cbade92a..c52e720f5 100644
--- a/content/es/container-image.md
+++ b/content/es/container-image.md
@@ -8,7 +8,7 @@ tags: ["", "", ""]
Una imagen es un fichero estático e inmutable que contiene las dependencias para la creación de un [contenedor](/es/container/).
Estas dependencias pueden incluir un archivo binario ejecutable, librerías del sistema,
herramientas del sistema, variables de entorno y otras configuraciones de plataforma necesarias.
-Las imágenes son el resultado de la [contenerización](/es/containerization) de una aplicación y típicamente están guardadas en los registros de contenedor,
+Las imágenes son el resultado de la [contenerización](/es/containerization/) de una aplicación y típicamente están guardadas en los registros de contenedor,
donde pueden ser descargados para ser ejecutados como procesos aislados usando un Container Runtime Interface (CRI).
El framework de una imagen debe de seguir el esquema estándar definido por el Open Container Initiative (OCI).
diff --git a/content/es/container-orchestration.md b/content/es/container-orchestration.md
index 70dbd33b2..c34e736f9 100644
--- a/content/es/container-orchestration.md
+++ b/content/es/container-orchestration.md
@@ -5,13 +5,13 @@ category: Concepto
---
La orquestación de [contenedores](/es/container/) se refiere al manejo y automatización del ciclo de vida de una aplicación contenedorizada en ambientes dinámicos.
-Es ejecutada a través de un orquestador de contenedores (por lo general, [Kubernetes](/es/kubernetes)), el cual ofrece despliegues, autoescalado, auto reparación y monitoreo.
+Es ejecutada a través de un orquestador de contenedores (por lo general, [Kubernetes](/es/kubernetes/)), el cual ofrece despliegues, autoescalado, auto reparación y monitoreo.
La orquestación es metafórica:
Al igual que un director de orquesta, la herramienta de orquestación dirige a los contenedores asegurándose que cada contenedor (como un músico) haga lo que debe hacer.
## Problema que aborda
-El manejo de [microservicios](/es/microservices), la seguridad, y la comunicación de red a escala - y los [sistemas distribuidos](/es/distributed-systems) en general - es muy difícil, casi imposible de hacerse manualmente.
+El manejo de [microservicios](/es/microservices-architecture/), la seguridad, y la comunicación de red a escala - y los [sistemas distribuidos](/es/distributed-systems/) en general - es muy difícil, casi imposible de hacerse manualmente.
La orquestación de contenedores permite a los usuarios automatizar todas estas tareas operacionales.
## ¿Cómo ayuda?
diff --git a/content/es/distributed-apps.md b/content/es/distributed-apps.md
index 69c43a547..747e82a3c 100644
--- a/content/es/distributed-apps.md
+++ b/content/es/distributed-apps.md
@@ -6,7 +6,7 @@ tags: ["arquitectura", "", ""]
---
Una aplicación distribuida es una aplicación en la que la funcionalidad se divide en múltiples partes independientes más pequeñas.
-Las aplicaciones distribuidas suelen estar formadas por componentes individuales llamados [microservicios](/es/microservices/)
+Las aplicaciones distribuidas suelen estar formadas por componentes individuales llamados [microservicios](/es/microservices-architecture/)
que se ocupan de diferentes responsabilidades dentro de una aplicación más extensa.
En un entorno nativo para la nube, los componentes individuales suelen ejecutarse como [contenedores](/es/container/) en un [clúster](/es/cluster/).
diff --git a/content/es/firewall.md b/content/es/firewall.md
index 206fe9036..8b7a8f361 100644
--- a/content/es/firewall.md
+++ b/content/es/firewall.md
@@ -13,7 +13,7 @@ Los Firewall pueden ser hardware, software o una combinación de ambos.
Por defecto, una red permite a cualquier entidad ingresar y egresar en tanto y en cuanto se respeten las reglas de enrutamiento.
Por este motivo, es un desafío asegurar una red.
-Por ejemplo, en una aplicación bancaria basada en [microservicios](/es/microservices/), los componentes se comunican entre sí
+Por ejemplo, en una aplicación bancaria basada en [microservicios](/es/microservices-architecture/), los componentes se comunican entre sí
transmitiendo información financiera sensible a través de la red que comparten.
Un actor malicioso podría infiltrarse en esta red, interceptar la comunicación y hacer daño si no hubiera un Firewall.
diff --git a/content/es/horizontal-scaling.md b/content/es/horizontal-scaling.md
index 568c13177..89be7949f 100644
--- a/content/es/horizontal-scaling.md
+++ b/content/es/horizontal-scaling.md
@@ -5,12 +5,12 @@ category: Concepto
tags: ["infraestructura", "", ""]
---
-Escalado horizontal es una técnica donde la capacidad del sistema es incrementada agregando más [nodos](/es/nodes)
+Escalado horizontal es una técnica donde la capacidad del sistema es incrementada agregando más [nodos](/es/nodes/)
en vez de agregar más recursos computacionales a nodos individuales (conocido como [escalado vertical](/es/vertical-scaling/)).
Como ejemplo, digamos que tenemos un sistema con 4 GB de memoria y queremos incrementar su capacidad a 16 GB,
escalar horizontalmente significa agregar 4 x 4 GB en vez de cambiar a un sistema de 16 GB.
-Este método mejora el funcionamiento de una aplicación agregando nuevas instancias o [nodos](/es/nodes),
+Este método mejora el funcionamiento de una aplicación agregando nuevas instancias o [nodos](/es/nodes/),
para distribuir de mejor manera la carga de trabajo.
En concreto, apunta a disminuir la carga del servidor
en vez de expandir la capacidad de cada uno individualmente.
diff --git a/content/es/infrastructure-as-a-service.md b/content/es/infrastructure-as-a-service.md
index dd2aaf0c8..6c22ae455 100644
--- a/content/es/infrastructure-as-a-service.md
+++ b/content/es/infrastructure-as-a-service.md
@@ -5,8 +5,8 @@ category: Tecnología
tags: ["infraestructura", "", ""]
---
-Infraestructura como Servicio, o IaaS, es un modelo de servicio de [computación en la nube](/es/cloud_computing/) que
-ofrece recursos de cómputo, almacenamiento y red mediante servidores [físicos](/es/bare_metal_machine/) o [virtualizados](/es/virtualization/)
+Infraestructura como Servicio, o IaaS, es un modelo de servicio de [computación en la nube](/es/cloud-computing/) que
+ofrece recursos de cómputo, almacenamiento y red mediante servidores [físicos](/es/bare-metal-machine/) o [virtualizados](/es/virtualization/)
suministrados bajo demanda en un modelo de pago por uso.
Los proveedores de la nube poseen y operan el hardware y el software,
a disposición de los consumidores en despliegues de nube pública, privada o híbrida.
diff --git a/content/es/load-balancer.md b/content/es/load-balancer.md
index 7010968d7..1bd574560 100644
--- a/content/es/load-balancer.md
+++ b/content/es/load-balancer.md
@@ -6,7 +6,7 @@ tags: ["infraestructura", "redes", ""]
---
Un balanceador de carga es una herramienta que distribuye eficientemente las solicitudes entrantes entre varias instancias de una aplicación.
-Tome una arquitectura de [microservicio](/es/microservices/) como ejemplo, donde cada servicio se puede [escalar horizontalmente](/es/horizontal-scaling/).
+Tome una arquitectura de [microservicio](/es/microservices-architecture/) como ejemplo, donde cada servicio se puede [escalar horizontalmente](/es/horizontal-scaling/).
Un balanceador de carga se encuentra frente a un microservicio escalado y garantiza que ninguna instancia reciba la mayor parte de las solicitudes.
Los balanceadores de carga pueden estar basados en software o hardware.
diff --git a/content/es/loosely-coupled-architecture.md b/content/es/loosely-coupled-architecture.md
index 428680ccd..0f23e17e8 100644
--- a/content/es/loosely-coupled-architecture.md
+++ b/content/es/loosely-coupled-architecture.md
@@ -8,7 +8,7 @@ tags: ["fundamento", "arquitectura", "propiedad"]
La arquitectura débilmente acoplada es un tipo de arquitectura en donde los componentes individuales de una aplicación se construyen de manera independiente unos de los otros
(es el paradigma opuesto a la [arquitectura fuertemente acoplada](/es/tightly-coupled-architectures/)).
-Cada componente, a veces denominado [microservicio](/es/microservices/),
+Cada componente, a veces denominado [microservicio](/es/microservices-architecture/),
está diseñado para realizar una función específica de manera que pueda ser utilizado por cualquier número de servicios.
Este patrón es generalmente más lento de implementar que la arquitectura estrechamente acoplada,
pero tiene una serie de beneficios, particularmente a medida que las aplicaciones escalan.
diff --git a/content/es/monolithic-apps.md b/content/es/monolithic-apps.md
index da126644a..9d5e543b2 100644
--- a/content/es/monolithic-apps.md
+++ b/content/es/monolithic-apps.md
@@ -13,7 +13,7 @@ la probabilidad de conflictos y la necesidad de comunicación interpersonal entr
## Problema que aborda
-La división de una aplicación en [microservicios](/es/microservices/) aumenta su sobrecarga operativa
+La división de una aplicación en [microservicios](/es/microservices-architecture/) aumenta su sobrecarga operativa
ya que hay más cosas que probar, desplegar y mantener en funcionamiento.
Al principio del ciclo de vida de un producto, puede ser ventajoso reducir la complejidad y construir una aplicación monolítica
hasta que se determine que el producto tiene éxito.
diff --git a/content/es/mutual-transport-layer-security.md b/content/es/mutual-transport-layer-security.md
index 026b266b1..0ddee33c3 100644
--- a/content/es/mutual-transport-layer-security.md
+++ b/content/es/mutual-transport-layer-security.md
@@ -5,7 +5,7 @@ category: Concepto
tags: ["seguridad", "redes", ""]
---
-La seguridad mutua de capa de transporte (mTLS en Inglés) es una técnica utilizada para autenticar y codificar mensajes enviados entre dos [servicios](/es/service).
+La seguridad mutua de capa de transporte (mTLS en Inglés) es una técnica utilizada para autenticar y codificar mensajes enviados entre dos [servicios](/es/service/).
mTLS es el protocolo de [Seguridad de capa de transporte](/es/transport-layer-security/) (TLS) estándar pero,
en vez de validar la identidad de solo una conexión, se validan ambos lados.
diff --git a/content/es/platform-as-a-service.md b/content/es/platform-as-a-service.md
index 95f508371..e64bd1f6a 100644
--- a/content/es/platform-as-a-service.md
+++ b/content/es/platform-as-a-service.md
@@ -10,7 +10,7 @@ Heroku, Cloud Foundry y App Engine son ejemplos de ofertas de PaaS.
## Problema que aborda
-Para aprovechar los patrones de las aplicaciones nativas para la nube como son los [microservicios](/es/microservices/) o las [aplicaciones distribuidas](/es/distributed-apps/),
+Para aprovechar los patrones de las aplicaciones nativas para la nube como son los [microservicios](/es/microservices-architecture/) o las [aplicaciones distribuidas](/es/distributed-apps/),
los equipos de operaciones y los desarrolladores necesitan ser capaces de descargar un tiempo significativo de trabajo en operaciones y mantenimiento.
Estos incluyen tareas como el aprovisionamiento de infraestructura,
el manejo del [descubrimiento de servicios](/es/service-discovery/) y balanceo de cargas, y [escalamiento](/es/scalability/) de aplicaciones.
diff --git a/content/es/virtualization.md b/content/es/virtualization.md
index b0c80cbfa..c20005e49 100644
--- a/content/es/virtualization.md
+++ b/content/es/virtualization.md
@@ -10,7 +10,7 @@ refiere al proceso de tomar una computadora física, algunas veces llamada servi
y permitirle ejecutar múltiples sistemas operativos aislados.
Estos sistemas operativos aislados y sus recursos computacionales dedicados (CPU, memoria y red) son
referidos como máquinas virtuales.
-Cuando hablamos de una [máquina virtual](/es/virtual-machine), estamos hablando de una computadora definida por software.
+Cuando hablamos de una [máquina virtual](/es/virtual-machine/), estamos hablando de una computadora definida por software.
Algo que luce y actúa como una computadora real pero comparte hardware con otras máquinas virtuales.
La [computación en la nube](/es/cloud-computing/) está principalmente basada en la tecnología de virtualización.
Como ejemplo, se puede rentar una computadora a AWS - una computadora que es en realidad una máquina virtual.