Infraestructura Global de AWS
Tags: aws, webdev
Published: 2023-03-03 04:04:33

Después de semanas, meses o incluso años de arduo trabajo en equipo, llega el momento de mostrar al mundo nuestra aplicación. Una vez más, debemos ir por un café, respirar hondo y resolver una nueva pregunta: ¿Y ahora, dónde la desplegamos?. Existen cientos de alternativas; pero si eres de los que están dispuestos a tomar la píldora roja en pro de apostar por una infraestructura con proyección global y alta calidad, existe **Amazon Web Services (AWS)** como una de las opciones más elegantes y eficientes que hoy en día existen.

Acompáñame a conocer un poco más de este elenco de servidores bailando en todo el mundo, en todas partes al mismo tiempo.

## **¿Qué son las regiones de AWS?**   

Los servidores necesitan de una serie de componentes y condiciones para operar, al igual que nosotros necesitamos de un ecosistema para que la vida sea posible. Por eso existen los **data centers**, para brindarles las condiciones adecuadas y albergar cientos y hasta miles de ellos. AWS cuenta con un número de data centers agrupados y ubicados en zonas geográficas específicas, estas son las llamadas "Regiones"  (actualmente 31). 

![Zonas de AWS](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bkc2msgri5o0sxuxjk3o.PNG)

_En esta ilustración, cada punto representa una región de AWS_.

La nomenclatura usada para nombrar a una región sigue el siguiente patrón: 

[Código de ubicación geográfica]-[nombre de ubicación dentro de la región]-[número de proyecto]. 

Por ejemplo: **_us-east-1_**

Como podrás notar, existen muchas regiones en AWS y debemos elegir la que más nos convenga. Para hacerlo, podemos considerar los siguientes criterios:

1. Si nuestra aplicación debe cumplir con requerimientos de gobernanza y legalidad donde se exija una ubicación territorial específica, no hay más que reflexionar. Nos toca elegir la región que se encuentre dentro del territorio demandado. Si este criterio es prescindible, entonces podemos considerar los que vienen a continuación.
2. Es importante conocer a nuestros usuarios objetivos, pues dependiendo de donde se encuentren físicamente, nos convendrá tener nuestra aplicación ejecutándose en una región cercana a ellos para que la indeseable latencia sea la más baja posible.
3. Cada región de AWS tiene una lista de precios distinta debido a factores económicos propios de cada país. Por supuesto, todos deseamos que nuestros proyectos sean rentables, así que nos corresponde evaluar los costos entre regiones sin dejar de lado el criterio anterior.
4. Finalmente es importante corroborar que el servicio que necesitamos esté disponible en la región elegida. Es poco probable que no lo encontremos, pero debemos saber que AWS tiene excepciones en algunas regiones. 

Es importante mencionar que AWS no revela la ubicación exacta de sus data centers por razones de seguridad. A pesar de tener edificaciones gigantes, la discreción de sus infraestructuras es indispensable para la organización. 

## **¿Qué son las Zonas de disponibilidad o Availability zones (AZ) de AWS?**
Recordemos, una región es una agrupación de data centers que se encuentra en un área geográfica específica. Pero ¿cómo se distribuyen estos data centers dentro de una región? Pues a través de las llamadas zonas de disponibilidad.

Una zona de disponibilidad contiene de uno a dos data center que nos proveerán de un espacio virtual dentro de uno de sus miles de servidores. Son dos cuando se considera la necesidad de redundancia. 

Cada región cuenta con tres a seis zonas de disponibilidad, las cuales están separadas por una distancia aproximada de 100 km entre sí. Asimismo, estas zonas se encuentran interconectadas por una red de alto ancho de banda y baja latencia con tráfico cifrado.

![Zonas de disponibilidad de AWS](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jxb1tti9h389zn25csc2.png)

Cada vez que le indicamos a AWS en qué región desplegar nuestra aplicación, se selecciona una de las zonas de disponibilidad de la región para alojar nuestro proyecto. Pero, podría suceder que por algún evento externo adverso, como una inundación, la zona de disponibilidad se vea afectada y con ella nuestra aplicación. Hoy en día las aplicaciones modernas trabajan las 24 horas del día, los 365 días del año, sin interrupción; por consiguiente, nuestros usuarios esperarán lo mismo de nuestro proyecto. Por fortuna, AWS cuenta con más de una zona de disponibilidad para ofrecernos una conmutación automática a otra de las zonas de disponibilidad de la región, de esta manera seguimos sirviendo nuestra aplicación, sin que nuestros usuarios lo noten. Llamamos a esto "Alta disponibilidad". 

La nomenclatura usada para nombrar a una zona de disponibilidad, sigue el siguiente patrón: 

[Código de ubicación geográfica]-[nombre de ubicación dentro de la región]-[número de proyecto][indetificador de zona de disponibilidad]. 

Por ejemplo: **_us-east-1a_**

## **¿Qué es una Zona Local o Local Zone de AWS?**
Con el objetivo de acercarse aún más a los usuarios finales y cumplir con requerimientos más estrictos de gobernanza y legalidad, AWS ha creado las zonas locales. Podríamos afirmar que estas son pequeñas zonas de disponibilidad que disponen de los principales servicios, como almacenamiento y computación. Además, se encuentran conectadas a las zonas de disponibilidad de la región más cercana a través de un red privada con alto ancho de banda,  lo que les permite complementar los servicios faltantes. La cercanía de las zonas locales a los usuarios finales permite una notable reducción de la latencia.

## **¿Qué es una Zona de Wavelength?**
En algunas partes del mundo, las redes y tecnologías 5G ya son una realidad y están transformando la forma en que interactuamos con el mundo digital, desde la telefonía móvil hasta el Internet de las cosas (IoT). AWS no es ajena a esta evolución; por eso, ha integrado data centers dentro de estas redes, con el fin de ofrecer servicios de alta velocidad y baja latencia a los dispositivos compatibles. De esta manera, se evita perjudicar la experiencia de los usuarios que utilizan estas redes ultrarrápidas al redireccionar el tráfico a redes más lentas. Al igual que las zonas locales, estos data centers solo disponen de los principales servicios de AWS y cuentan con respaldo de zonas de disponibilidad para garantizar la alta disponibilidad y fiabilidad del servicio.

## **¿Qué es AWS Outposts?**
Si después de todo lo que te he contado, aún no encuentras una solución que te convenga; pues te encuentras en una empresa o institución donde "todo se debe quedar en casa", tranquilo, aún hay una alternativa: AWS Outspots. Este es un servicio de infraestructura híbrida de AWS que permite a las empresas extender la infraestructura, los servicios y las herramientas de AWS a cualquier centro de datos, espacio de colocación o instalación on-premises utilizando hardware de AWS. Esto permite a las empresas e instituciones utilizar sus propios centros de datos, facilitando la integración de aplicaciones y cargas de trabajo de AWS. Con AWS Outposts, las empresas pueden ejecutar aplicaciones y servicios que necesitan una latencia ultra baja o almacenamiento en el centro de datos local, y utilizar los mismos servicios de AWS en la nube pública. Un dato importante, AWS administra la instalación y configuración del hardware de Outposts y proporciona soporte y actualizaciones de software para el mismo.

Existen otras infraestructuras adicionales que AWS tiene distribuidas en el mundo, pero son propias de la naturaleza de algunos servicios como redes de distribución de contenidos o bases de datos; pero hablar de ellas merece un nuevo post.

Por último, quiero contarte que AWS tiene una red global que conecta sus distintas infraestructuras y data centers en todo el mundo. Esto permite que los usuarios de AWS puedan acceder a los servicios en cualquier parte del mundo con una latencia mínima. Además, AWS ofrece un servicio llamado AWS Direct Connect que permite establecer conexiones de red privadas entre la infraestructura de la nube de AWS y la infraestructura local (on-premise) de una empresa o institución. 

Gracias por haber llegado hasta aquí, nos encontramos pronto en otro post.