El poder de estar juntos, pero no revueltos.
Antes de empezar a definir y abordar el tema, el concepto raíz es el aislamiento de recursos y objetos. Para los colegas de infraestructura virtual, saben que el hipervisor separa y aísla las vm´s una de otras, pueden estar en un mismo host y sin embargo cada vm es un objeto o un recurso en la cual el administrador entra, instala el sistema operativo y luego las aplicaciones.
Por otro lado, para los colegas del desarrollo y los DevOps, tenemos los contenedores, que aunque pueden estar corriendo en el mismo computador o vm, también se encuentran aislados uno de otros.
En el mundo cloud también hay un concepto que permite separar y aislar un espacio en la nube de otro, de esta forma, aunque se pudieran encontrar en el mismo centro de datos, en la misma zona o en el mismo IaaS, están separados lógicamente, aunque también pudieran estar separados físicamente.
La mayoría de las fábricas y proveedores de nube le llaman VPC, un acrónimo que significa Virtual Private Cloud. Ejemplo de ellos son: AWS, GCP, IBM Cloud, Alibabá Cloud, Huawai Cloud, DigitalOcean, Linode, Vultr, Rackspace entre otros.
Pero no todos le han colocado el mismo nombre, por ejemplo: Whitesky le llama cloudspace, MS Azure le llama VNET (Virtual Network), OxyCloud y Oracle Cloud le llama VCN (Virtual Cloud Network) y así por el estilo.
A continuación, explicaré las razones por la cual, este aislamiento represente un oasis para los proveedores de servicios y para los clientes.
Beneficio del aislamiento virtual de las nubes:
Seguridad:
Aislamiento: Las VPCs permiten crear redes privadas y aisladas dentro de la nube pública, lo que aumenta la seguridad de los datos y aplicaciones.
Control de acceso: Puedes configurar reglas de firewall y grupos de seguridad para controlar quién puede acceder a tu VPC y a qué recursos.
Cifrado: Puedes cifrar tus datos en reposo y en tránsito para mayor seguridad.
Flexibilidad:
Personalización: Puedes personalizar tu VPC para adaptarla a tus necesidades específicas.
Escalabilidad: Puedes aumentar o disminuir el tamaño de tu VPC según tus necesidades.
Integración: Puedes integrar tu VPC con otros servicios en la nube.
Escalabilidad:
Horizontal: Puedes escalar tu VPC horizontalmente agregando más instancias de máquinas virtuales.
Vertical: Puedes escalar tu VPC verticalmente aumentando los recursos de las instancias de máquinas virtuales.
Costos:
Eficiencia: Puedes optimizar el uso de recursos y pagar solo por lo que necesitas.
Precios: Las VPCs suelen ofrecer precios competitivos en comparación con otras opciones de alojamiento.
Además de los beneficios mencionados anteriormente, las VPCs también pueden ofrecer:
Mejora del rendimiento: Las VPCs pueden mejorar el rendimiento de tus aplicaciones al reducir la latencia y aumentar el ancho de banda.
Mayor disponibilidad: Las VPCs pueden ayudarte a mejorar la disponibilidad de tus aplicaciones al proporcionar redundancia y tolerancia a fallos.
Cumplimiento normativo: Las VPCs pueden ayudarte a cumplir con las normas y regulaciones de la industria.
Diseño: Arriba mostramos el diseño de dos espacios de trabajo de dos proveedores diferentes, por un lado hemos diagramado una VPC de AWS y por el otro un cloudspace de Whitesky. Crearlos será el primer ejercicio que estaremos realizando a través de un demo.
Comparación de VPCs con la virtualización tradicional:
Similitudes:
Ambas tecnologías permiten dividir los recursos informáticos en varios entornos virtuales.
Ambas tecnologías pueden usarse para mejorar la seguridad y el aislamiento de las aplicaciones.
Ambas tecnologías pueden usarse para optimizar el uso de recursos.
Diferencias:
Ubicación: Los recursos virtuales se ejecutan en servidores físicos locales vs. Los recursos virtuales se ejecutan en la infraestructura de un proveedor de nube.
Red: Las redes virtuales se configuran y administran manualmente vs. Las redes virtuales se crean y administran mediante la interfaz del proveedor de nube.
Seguridad: La seguridad depende de la configuración manual del administrador vs. La seguridad se implementa mediante las características de seguridad integradas del proveedor de nube.
Escalabilidad: La escalabilidad puede ser limitada por la capacidad del hardware local vs. La escalabilidad es elástica y se puede ajustar según las necesidades.
Comparación de VPCs con contenedores.
Similitudes:
Ambas tecnologías permiten aislar aplicaciones y recursos.
Ambas tecnologías pueden usarse para optimizar el uso de recursos.
Ambas tecnologías pueden usarse para mejorar la portabilidad de las aplicaciones.
Diferencias:
Nivel de aislamiento: Los contenedores aíslan las aplicaciones a nivel de sistema operativo vs. Las VPCs aíslan las aplicaciones a nivel de red.
Portabilidad: Los contenedores son portátiles entre diferentes plataformas vs. Las VPCs están limitadas a la infraestructura del proveedor de nube.
Tasa de adopción: Los contenedores son una tecnología más reciente que está ganando popularidad vs. Las VPCs son una tecnología más madura y ampliamente adoptada.
Complejidad: La configuración y administración de los contenedores puede ser más sencilla vs. La configuración y administración de las VPCs puede ser más compleja.
Resumen
Las VPCs (Virtual Private Clouds) son redes privadas y virtuales que se crean dentro de la infraestructura de un proveedor de nube. Ofrecen una serie de beneficios, como mayor seguridad, flexibilidad, escalabilidad y eficiencia de costos.
Las VPCs se pueden comparar con la virtualización tradicional y con los contenedores. En comparación con la virtualización tradicional, las VPCs ofrecen mayor seguridad, escalabilidad y flexibilidad. En comparación con los contenedores, las VPCs ofrecen un mayor nivel de aislamiento, pero son menos portátiles.
DEMO: Creación de una VPC en AWS y un cloudspace en Whithesky.