3.- Información general sobre las distintas infraestructuras
En el mundo de la computación en la nube, existen diferentes infraestructuras que proporcionan servicios y recursos para almacenar, procesar, administrar datos y aplicaciones. Estas infraestructuras se clasifican en tres modelos principales: nube pública, nube privada y nube híbrida.
A continuación, exploraremos cada uno de ellos:
-
Nube pública:
La nube pública es una infraestructura en la que los servicios y recursos se ofrecen a través de proveedores de servicios accesibles a través de Internet. Estos proveedores, como Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform, entre otros, poseen y administran la infraestructura subyacente, incluidos los servidores, redes y sistemas de almacenamiento.
En la nube pública, los usuarios pueden acceder a servicios y recursos bajo demanda, como almacenamiento, servidores virtuales, bases de datos y herramientas de desarrollo. Esto permite a las empresas y a los individuos escalar sus operaciones sin necesidad de invertir en infraestructura física. Un ejemplo práctico sería una empresa que utiliza la nube pública para alojar su sitio web y almacenar sus datos en servidores externos.
-
Nube privada:
La nube privada es una infraestructura en la que los servicios y recursos se implementan y operan exclusivamente para una única organización. La infraestructura de la nube privada puede estar ubicada en las instalaciones de la organización o ser gestionada por un proveedor de servicios externo. En este modelo, la organización tiene un control total sobre la infraestructura y puede adaptarla a sus necesidades específicas.
Las nubes privadas son utilizadas principalmente por organizaciones que requieren un alto nivel de seguridad y control sobre sus datos y aplicaciones. Por ejemplo, un banco puede optar por utilizar una nube privada para almacenar información confidencial de sus clientes, garantizando así un mayor nivel de protección y cumplimiento normativo.
-
Nube híbrida:
La nube híbrida es una combinación de la nube pública y la nube privada. En este modelo, las organizaciones utilizan una infraestructura mixta que integra servicios y recursos de la nube pública y la nube privada. Esta combinación permite a las organizaciones aprovechar los beneficios de ambos modelos, equilibrando la flexibilidad y escalabilidad de la nube pública con el control y la seguridad de la nube privada.
En una nube híbrida, las aplicaciones y los datos pueden moverse de forma transparente entre la nube pública y la nube privada según las necesidades y los requisitos específicos de la organización. Por ejemplo, una empresa puede utilizar una nube privada para almacenar datos sensibles, mientras que utiliza la nube pública para escalar sus recursos de manera rentable durante períodos de alta demanda.
En resumen, en la computación en la nube existen tres modelos principales de infraestructura: nube pública, nube privada y nube híbrida. Cada uno de estos modelos ofrece distintas características y beneficios. La elección de la infraestructura adecuada depende de las necesidades y requisitos de la organización en términos de control, seguridad, escalabilidad y costos.
3.1.- Plataformas de Cloud Computing
En el mercado de la computación en la nube, existen diversas plataformas que ofrecen servicios y recursos para respaldar las necesidades de empresas y usuarios individuales. A continuación, analizaremos algunas de las principales alternativas y compararemos sus ventajas y desventajas.
-
Amazon Web Services (AWS):
Ventajas: AWS es una de las plataformas líderes en el mercado de la nube, ofreciendo una amplia gama de servicios y soluciones altamente escalables. Cuenta con una gran variedad de servicios, como almacenamiento, cómputo, bases de datos y herramientas de desarrollo. Además, tiene una amplia presencia global con múltiples regiones y zonas de disponibilidad.
Desventajas: La complejidad de AWS puede resultar abrumadora para los usuarios sin experiencia previa en la nube. Algunos servicios pueden tener un costo elevado, y su amplia gama de opciones puede dificultar la selección de los servicios adecuados para las necesidades específicas. -
Microsoft Azure:
Ventajas: Azure es otra plataforma líder que ofrece una amplia gama de servicios en la nube. Es conocida por su integración con otras herramientas y servicios de Microsoft, como Office 365 y Active Directory. Además, Azure proporciona una experiencia fluida para aquellos que ya están familiarizados con el entorno de Windows.
Desventajas: Al igual que con AWS, la complejidad de Azure puede dificultar la comprensión para los principiantes. Algunos servicios pueden tener un aprendizaje inicial más costoso y su presencia global puede ser menor en comparación con AWS. -
Google Cloud Platform (GCP):
Ventajas: GCP ofrece una amplia gama de servicios en la nube y se destaca por su enfoque en la inteligencia artificial y el análisis de datos. Google tiene una infraestructura global sólida y ofrece servicios como Google Kubernetes Engine para la administración de contenedores.
Desventajas: Aunque GCP ha ganado popularidad, aún se encuentra en un segundo plano en comparación con AWS y Azure. La documentación puede ser menos completa y algunos servicios pueden tener menos características en comparación con sus competidores.
Es importante tener en cuenta que estas son solo algunas de las muchas plataformas de computación en la nube disponibles en el mercado. Al seleccionar una plataforma, es esencial considerar las necesidades específicas del proyecto, los costos asociados, el soporte y la comunidad de usuarios, así como la curva de aprendizaje requerida.
Amazon Web Services (AWS) |
Microsoft Azure |
Google Cloud Platform (GCP) |
|
---|---|---|---|
Almacenamiento |
Amazon S3, Amazon EBS, Amazon Glacier |
Azure Blob Storage, Azure Files |
Google Cloud Storage, Google Cloud Filestore |
Cómputo |
Amazon EC2, AWS Lambda, AWS Batch |
Azure Virtual Machines, Azure Functions |
Google Compute Engine, Google Cloud Functions |
Bases de datos |
Amazon RDS, Amazon DynamoDB |
Azure SQL Database, Azure Cosmos DB, Azure Database for MySQL |
BigQuery |
Redes |
Amazon VPC, Amazon CloudFront |
Azure Virtual Network, Azure ExpressRoute |
Virtual Private Cloud (VPC), Cloud Load Balancing |
Herramientas de desarrollo |
AWS CloudFormation, AWS CLI, AWS SDK |
Azure Resource Manager, Azure DevOps |
Google Cloud Deployment Manager, Cloud SDK |
IA y analítica de datos |
Amazon Redshift, Amazon Athena, AWS Glue |
Azure Machine Learning, Azure Cognitive Services |
BigQuery ML, AI Platform, TensorFlow, AutoML |
Seguridad |
AWS Identity and Access Management, AWS CloudTrail |
Azure Active Directory, Azure Security Center, Azure Sentinel |
Google Cloud Identity and Access Management, Cloud IAM |
Esta tabla es solo una muestra de los servicios ofrecidos por cada plataforma y que cada proveedor de servicios en la nube tiene una amplia gama de opciones disponibles. Al seleccionar una plataforma, es recomendable investigar más a fondo y considerar las necesidades específicas del proyecto.
En resumen, AWS, Azure y GCP son algunas de las principales plataformas de computación en la nube. Cada una tiene sus ventajas y desventajas, y la elección depende de los requisitos del proyecto y las preferencias individuales.
3.2.- Tipos de virtualización utilizados por las plataformas AWS, Microsoft Azure y Google Cloud Platform
En la computación en la nube, los proveedores de servicios como AWS, Azure y GCP ofrecen diferentes tipos de virtualización para aprovechar al máximo los recursos y garantizar un entorno eficiente y escalable. A continuación, analizaremos los principales tipos de virtualización utilizados por estos proveedores:
-
Virtualización basada en hardware (virtualización tradicional):
AWS: Amazon EC2 (Elastic Compute Cloud) de AWS utiliza virtualización basada en hardware para asignar recursos virtuales a instancias virtuales en servidores físicos. Esto permite a los usuarios ejecutar múltiples instancias virtuales en un solo servidor físico, maximizando la utilización de recursos y facilitando la escalabilidad.
Azure: Azure Virtual Machines también utiliza virtualización basada en hardware para proporcionar instancias virtuales a los usuarios. Al igual que AWS, Azure aprovecha esta tecnología para optimizar la utilización de los recursos físicos y permitir la escalabilidad según la demanda.
GCP: Google Compute Engine utiliza un enfoque similar de virtualización basada en hardware para asignar recursos virtuales a las instancias de máquinas virtuales. Esto permite a los usuarios ejecutar sus cargas de trabajo en servidores físicos compartidos de manera eficiente. -
Contenedores (paravirtualización):
AWS: Amazon Elastic Container Service (ECS) y Amazon Elastic Kubernetes Service (EKS) ofrecen servicios de contenedores gestionados. Los contenedores son unidades de software que enjaulan las aplicaciones y sus dependencias, lo que permite una implementación más rápida y eficiente, así como una mayor portabilidad y seguridad de las aplicaciones.
Azure: Azure Container Instances y Azure Kubernetes Service (AKS) brindan servicios de contenedores en Azure. Estos servicios permiten a los usuarios implementar y administrar fácilmente contenedores en la nube.
GCP: Google Kubernetes Engine (GKE) es el servicio de contenedores administrados de GCP. Permite a los usuarios orquestar y administrar contenedores de manera eficiente utilizando la plataforma Kubernetes, lo que simplifica el proceso de implementación y escalado de aplicaciones en contenedores. Kubernetes fue originalmente diseñado por Google y con posterioridad liberó su código a la comunidad, por eso las tres compañías que estamos comparando utilizan Kubernetes en sus plataformas. -
Funciones como servicio (Function as a Service):
AWS: AWS Lambda es un servicio de computación sin servidor que permite a los desarrolladores ejecutar código en respuesta a eventos sin necesidad de administrar la infraestructura. Los desarrolladores solo necesitan cargar su código y AWS se encarga de la ejecución y el escalado automático según la demanda. Es el servicio más barato de cómputo en la nube a costa de no garantizar la disponibilidad inmediata, cuando los servidores se encuentran a su máxima capacidad. Este servicio no se debe utilizar para aplicaciones críticas en una organización.
Azure: Azure Functions es el servicio de funciones sin servidor de Azure que permite a los desarrolladores ejecutar código en respuesta a eventos. Al igual que AWS Lambda, Azure Functions se encarga de la administración de la infraestructura, permitiendo a los desarrolladores centrarse en el desarrollo de sus aplicaciones.
GCP: Google Cloud Functions es el servicio equivalente en GCP que permite a los desarrolladores escribir y ejecutar funciones sin servidor en la nube. Google Cloud Functions proporciona un entorno de ejecución sin servidor y escalado automático basado en la demanda.
En resumen, los proveedores de servicios en la nube como AWS, Azure y GCP ofrecen diferentes tipos de virtualización, incluyendo la virtualización basada en hardware, los contenedores y las funciones sin servidor. Cada tipo tiene sus propias características y beneficios, y es importante evaluar cuidadosamente las necesidades del proyecto para seleccionar la opción más adecuada.