Conceptos básicos de infraestructura en la nube
Comprende los conceptos fundamentales de la infraestructura en la nube que impulsan los despliegues backend modernos.
Por qué existe la infraestructura en la nube
La infraestructura en la nube reemplaza la gestión de servidores físicos con recursos bajo demanda entregados a través de Internet.
- Tradicionalmente, las empresas tenían que comprar y mantener su propio hardware.
- Escalar requería configuración manual y planificación para la capacidad máxima.
- Las plataformas en la nube proporcionan cómputo, almacenamiento y redes bajo demanda.
Detalles
Antes de la computación en la nube, las empresas tenían que construir y gestionar su propia infraestructura. Esto significaba comprar servidores físicos, configurar centros de datos, encargarse de la refrigeración y la energía, y mantener el hardware con el tiempo.
Escalar sistemas era especialmente difícil. Si aumentaba el tráfico, las empresas necesitaban comprar e instalar más servidores con antelación. Si la demanda bajaba, esos recursos quedaban sin uso, lo que generaba costos desperdiciados.
La infraestructura en la nube resuelve esto proporcionando recursos a través de Internet. En lugar de gestionar máquinas físicas, los desarrolladores solicitan capacidad de cómputo, almacenamiento y redes mediante plataformas en la nube.
Esto permite que los sistemas escalen dinámicamente según la demanda, sin inversión inicial en hardware. La infraestructura pasa a ser algo que se puede aprovisionar al instante en lugar de construirse y mantenerse físicamente.
Este cambio es una base fundamental de los sistemas backend modernos, ya que permite un desarrollo más rápido, menor carga operativa y un escalado más flexible.
Servicios de cómputo
Los servicios de cómputo proporcionan la CPU, la memoria y el entorno de ejecución necesarios para ejecutar código de aplicación en la nube.
- Ejecutan código de aplicación usando máquinas virtuales, contenedores o funciones sin servidor.
- Los servicios de cómputo proporcionan los recursos principales necesarios para ejecutar aplicaciones.
- Los distintos modelos ofrecen compensaciones entre control y abstracción.
Detalles
Los servicios de cómputo son la base de las plataformas en la nube: son responsables de ejecutar realmente el código de la aplicación. Sin cómputo, otros servicios como el almacenamiento o las bases de datos no tendrían con qué interactuar.
Los proveedores de nube ofrecen diferentes formas de ejecutar código. Las máquinas virtuales brindan control total sobre el sistema operativo, los runtimes de contenedores proporcionan entornos ligeros y portátiles, y las funciones sin servidor permiten ejecutar código sin gestionar la infraestructura en absoluto.
Todos estos modelos proporcionan recursos esenciales como CPU, memoria y entornos de ejecución. La diferencia está en cuánta responsabilidad tiene el desarrollador al gestionar el sistema.
Por ejemplo, servicios como AWS EC2, Google Compute Engine y Azure Virtual Machines permiten a los usuarios configurar y administrar servidores virtuales. Los servicios más abstractos, como las plataformas sin servidor, eliminan gran parte de esa responsabilidad.
Elegir el modelo de cómputo adecuado depende del nivel de control necesario y de la complejidad de la aplicación que se esté construyendo.
Bases de datos administradas
Las bases de datos administradas se encargan de la configuración, el mantenimiento y la escalabilidad, para que las aplicaciones puedan centrarse en almacenar y acceder a los datos.
- Los proveedores de la nube administran la configuración de la base de datos, las copias de seguridad y la replicación.
- Gestionan automáticamente la escalabilidad y la alta disponibilidad.
- Las aplicaciones interactúan con la base de datos sin administrar la infraestructura.
Detalles
Las bases de datos son fundamentales para la mayoría de las aplicaciones, pero administrarlas manualmente es complejo y consume mucho tiempo. Tradicionalmente, los equipos tenían que instalar el software de base de datos, configurar copias de seguridad, manejar fallos y gestionar la escalabilidad por su cuenta.
Los servicios de bases de datos administradas trasladan esta responsabilidad al proveedor de la nube. Servicios como AWS RDS, Google Cloud SQL y Azure SQL Database gestionan automáticamente tareas como el aprovisionamiento, la aplicación de parches y la supervisión.
También ofrecen funciones integradas como copias de seguridad automáticas, replicación en múltiples ubicaciones y escalado según la demanda. Esto mejora la confiabilidad y garantiza que los datos estén disponibles incluso durante fallos.
Como resultado, los desarrolladores pueden centrarse en la lógica de la aplicación y el modelado de datos en lugar de la administración de la infraestructura. Esto reduce significativamente la complejidad operativa al tiempo que mantiene un alto rendimiento y disponibilidad.
Almacenamiento de objetos
El almacenamiento de objetos guarda datos no estructurados como archivos y contenido multimedia con alta durabilidad y escalabilidad.
- Se utiliza para almacenar archivos como imágenes, videos, registros y copias de seguridad.
- Los datos se almacenan como objetos en lugar de en sistemas de archivos o bases de datos tradicionales.
- El almacenamiento de objetos está diseñado para una escala masiva y una alta durabilidad.
Detalles
El almacenamiento de objetos está diseñado para almacenar grandes cantidades de datos no estructurados. A diferencia de las bases de datos, que almacenan registros estructurados, el almacenamiento de objetos maneja archivos como imágenes, videos, registros y copias de seguridad.
Cada archivo se almacena como un objeto, que incluye los datos en sí junto con metadatos y un identificador único. Esta estructura permite que los sistemas recuperen y administren de manera eficiente grandes volúmenes de datos.
Los servicios de almacenamiento de objetos en la nube como AWS S3, Google Cloud Storage y Azure Blob Storage están diseñados para ofrecer durabilidad y escalabilidad. Replican automáticamente los datos en múltiples ubicaciones para evitar la pérdida de datos.
Debido a este diseño, el almacenamiento de objetos puede escalar para manejar conjuntos de datos masivos sin requerir una gestión compleja de la infraestructura. Es un componente central en las aplicaciones modernas que necesitan un almacenamiento de archivos confiable y escalable.
Redes en la nube
Las redes en la nube conectan servicios de forma segura y permiten la comunicación entre componentes en un sistema en la nube.
- Las redes virtuales aíslan y organizan los recursos en la nube.
- Los balanceadores de carga distribuyen el tráfico entre múltiples servicios.
- Las puertas de enlace controlan el acceso entre sistemas internos y externos.
Detalles
Las redes en la nube proporcionan la infraestructura que permite que diferentes servicios se comuniquen dentro de un entorno en la nube. Sin ella, las instancias de cómputo, las bases de datos y los sistemas de almacenamiento no podrían interactuar de manera efectiva.
Las redes virtuales actúan como entornos aislados donde los recursos pueden agruparse y controlarse. Definen cómo se conectan los servicios y quién puede acceder a ellos.
Los balanceadores de carga distribuyen el tráfico entrante entre múltiples instancias de cómputo. Esto mejora el rendimiento y garantiza que los sistemas sigan disponibles incluso si una instancia falla.
Las puertas de enlace gestionan la comunicación entre los recursos internos de la nube y los clientes o redes externas. Ayudan a aplicar políticas de seguridad y a controlar cómo fluye los datos dentro y fuera del sistema.
En conjunto, estos componentes permiten una comunicación segura, confiable y escalable en aplicaciones distribuidas en la nube.
Regiones
Una región es una ubicación geográfica donde los proveedores de nube despliegan infraestructura en varios centros de datos.
- Las regiones constan de varios centros de datos en un área geográfica específica.
- Desplegar más cerca de los usuarios reduce la latencia.
- Usar varias regiones mejora la recuperación ante desastres y la resiliencia.
Detalles
Los proveedores de nube operan infraestructura en muchas ubicaciones geográficas en todo el mundo. Cada una de estas ubicaciones se llama región, y contiene varios centros de datos que alojan servicios en la nube.
Las regiones son importantes porque la distancia física afecta el rendimiento. Desplegar aplicaciones más cerca de los usuarios reduce la latencia de red, lo que da como resultado tiempos de respuesta más rápidos.
También desempeñan un papel clave en la confiabilidad. Si una región experimenta una falla, los sistemas pueden diseñarse para hacer failover a otra región, garantizando la continuidad de la operación.
Al distribuir los sistemas entre regiones, las aplicaciones pueden lograr tanto un mejor rendimiento global como capacidades más sólidas de recuperación ante desastres.
Zonas de disponibilidad
Las zonas de disponibilidad son grupos aislados de centros de datos dentro de una región que mejoran la confiabilidad y la tolerancia a fallos.
- Cada región se divide en múltiples zonas de disponibilidad aisladas.
- Los fallos en una zona no afectan a las demás.
- Ejecutar cargas de trabajo en varias zonas aumenta la disponibilidad y la redundancia.
Detalles
Dentro de una región de la nube, la infraestructura se divide además en zonas de disponibilidad. Cada zona consta de uno o más centros de datos que están físicamente separados de las otras zonas en la misma región.
Esta separación es intencional. Si ocurre un fallo en una zona de disponibilidad, como un corte de energía o un problema de hardware, no afecta a las demás. Esto proporciona aislamiento de fallos dentro de una región.
Las aplicaciones se pueden desplegar en varias zonas de disponibilidad para garantizar alta disponibilidad. Si una zona deja de estar disponible, el tráfico se puede redirigir a sistemas que se ejecutan en otras zonas.
Este diseño permite que los sistemas en la nube mantengan el tiempo de actividad incluso cuando partes de la infraestructura fallan, lo que convierte a las zonas de disponibilidad en un componente crítico de la arquitectura de sistemas resilientes.
Principales proveedores de la nube
Los principales proveedores de la nube ofrecen servicios de infraestructura que permiten que las aplicaciones se ejecuten sin poseer servidores físicos.
- Entre los proveedores líderes se incluyen AWS, Google Cloud Platform y Microsoft Azure.
- Ofrecen servicios de cómputo, almacenamiento, bases de datos, redes y monitoreo.
- Las aplicaciones se ejecutan sobre infraestructura distribuida globalmente y administrada por estas plataformas.
Detalles
Los proveedores de la nube son empresas que operan infraestructura a gran escala y la ponen a disposición de los usuarios a través de internet. En lugar de construir y mantener sus propios centros de datos, las organizaciones dependen de estas plataformas para ejecutar sus aplicaciones.
Los tres proveedores más grandes son Amazon Web Services (AWS), Google Cloud Platform (GCP) y Microsoft Azure. Aunque cada plataforma tiene sus propias herramientas y convenciones de nombres, todas ofrecen servicios principales similares, como cómputo, almacenamiento, bases de datos, redes y monitoreo.
Estos proveedores operan centros de datos en todo el mundo, lo que permite que las aplicaciones se ejecuten sobre infraestructura distribuida globalmente. Esto permite que los sistemas escalen, mejoren el rendimiento para usuarios en distintas ubicaciones y mantengan la confiabilidad.
Al abstraer el hardware físico, los proveedores de la nube permiten que los desarrolladores se concentren en construir y ejecutar aplicaciones en lugar de administrar la infraestructura.
Sección de preguntas
1 / 5
Esta lección forma parte del contenido premium
Pásate al plan premium para eliminar el desenfoque y desbloquear la lectura completa.