Conceptos Básicos de la nube

Última actualización: 19/05/2021

En esta entrada voy a introducir la computación en la nube o cloud computing. Es una guía básica con los conceptos fundamentales. También, vamos a explorar los servicios más comunes, las ventajas que aporta la nube pública y sus tres modelos de implementación.

Conceptos básicos de la nube

¿Qué es la Computación en la Nube?

El cloud computing consiste en usar servicios y recursos informáticos de un proveedor como Microsoft Azure, Amazon Web Services (AWS) o Google Cloud Platform (GCP). Suelen tener un modelo de pago por uso y permiten alquilar servicios de almacenamiento, redes y máquinas virtuales.

Servicios

Máquinas Virtuales

Las máquinas virtuales emulan un servidor. Es un equipo informático aislado con un sistema operativo Linux o Windows y un hardware limitado.

Sobre una máquina virtual podremos instalar el software que necesitemos y configurarlo a nuestro gusto. Ofrecen un control total sobre el sistema operativo.

Esquema de componentes en Docker vs Máquina Virtual
Esquema de componentes en Contenedores vs Máquina Virtual

Las máquinas virtuales son una parte de un servidor compartido remoto. Esta virtualización se asegura de aislar y securizar cada máquina virtual para que sea un sistema independiente.

Además, aportan numerosas ventajas, ya que se pueden desplegar muy rápido, hacer copias de seguridad y redimensionar fácilmente.

Las máquinas virtuales también son una buena opción para migrar servidores a la nube (Lift-and-shift). De esta forma podremos tener una máquina con la misma configuración que nuestro entorno local.

En Azure existe otro servicio llamado conjunto de escalado de máquinas virtuales que nos permite administrar un conjunto de máquinas virtuales con la misma configuración y equilibrar la carga entre ellas. De esta forma se puede escalar el servicio fácilmente proporcionando más o menos máquinas virtuales cuando fuera necesario.

Contenedores

Docker Logo

En los proveedores cloud también podemos desplegar contenedores. La plataforma más popular es Docker. Estos contenedores nos permiten ejecutar entornos sin sistema operativo integrado para ejecutar nuestras aplicaciones de forma portable o crear arquitecturas de microservicios. En Azure, el servicio PaaS llamado Azure Container Instances nos permite ejecutar de forma sencilla estos contenedores.

También ofrecen servicios de orquestación de contenedores como Kubernetes. Este servicio se denomina EKS o Elastic Kubernetes Service en AWS y AKS o Azure Kubernetes Service en Azure.

Serverless

Por último, la nube ofrece también la posibilidad de ejecutar código sin servidores (o mejor dicho abstrayendo estos componentes del usuario). Esta opción se denomina serverless. Debemos distribuir el código de nuestra aplicación en funciones que se pueden ejecutar bajo demanda pagando solamente el tiempo de procesamiento.

En este caso, el proveedor se encarga de proporcionar de forma transparente los recursos necesarios. Generalmente, estas funciones se ejecutan como respuesta a eventos como peticiones REST o temporizadores.

Las funciones no contienen estado, cada vez que se ejecutan lo hacen desde cero. En el caso de que queramos mantener algún estado o persistencia deberemos conectar servicios externos como bases de datos o cuentas de almacenamiento.

En AWS esta funcionalidad se denomina Lambda y en la plataforma de Azure se denominan Azure Functions. Por otro lado, Azure Logic Apps nos permite implementar flujos de trabajo de orquestación mediante una GUI de manera declarativa. En Azure también existe una extensión de las funciones llamada Durable Functions que sí nos permite mantener cierto estado.

Ventajas de la Computación en la Nube

La informática en la nube facilita las operaciones de administración y de mantenimiento de la infraestructura necesaria para proporcionar estos servicios.

De forma natural, proporciona servicios escalables y elásticos. En cuanto a la escalabilidad, es posible añadir fácilmente servidores a nuestros sistemas (escalabilidad horizontal) o bien incrementar los recursos de nuestros servidores (escalabilidad vertical). Este aumento y disminución de recursos también puede realizarse en función de la carga del sistema (elasticidad) para dar un servicio óptimo a los usuarios.

Los servicios cloud también reducen el coste de determinados aspectos frente a opciones on premises. Por ejemplo, no hay costes iniciales de infraestructura ni de localizaciones físicas para alojarla. También, cuando queremos dejar de usar un recurso simplemente se deja de pagar. Debemos tener en cuenta que estos proveedores tienen multitud de clientes, por lo que pueden aprovechar la economía de escala.

Otra gran ventaja es que las actualizaciones de software y de seguridad son constantes y a menudo transparentes. Los proveedores se hacen cargo de adaptar los sistemas a las nuevas versiones, por lo que se reduce considerablemente el impacto de estas en nuestro negocio.

Por último, los servicios cloud permiten distribuir geográficamente nuestros servicios de una manera muy sencilla. Debemos estudiar las ubicaciones de nuestro proveedor para seleccionar las que nos proporcionen las mejores experiencias para los usuarios.

Modelos de Implementación en la Nube

Hay 3 modelos de implementación en la nube que definen dónde se ejecutan y almacenan los datos del cliente.

Nube Privada

Una nube privada se despliega en el centro de datos del cliente. La empresa cliente sigue siendo responsable de la infraestructura y del software instalado para dar servicio a departamentos.

La ventaja más importante de una nube privada es la seguridad. La organización que la despliega puede establecer todas las medidas de seguridad que estén a su alcance y es la responsable.

Nube Pública

La nube pública consiste en contratar los servicios de un proveedor, que es el que administra estos recursos de forma remota. En este caso, no se puede administrar físicamente el hardware.

Nube Híbrida

La nube híbrida combina los dos modelos anteriores. Parte del software de una organización puede ejecutar en una nube privada y otra parte en la nube pública.

De esta forma, se pueden conseguir las ventajas de ambos modelos. Por un lado la escalabilidad y eficiencia de la nube pública para las aplicaciones en las que sea posible. Por otro lado, pueden existir datos o aplicaciones que no deben ejecutar en nube pública por motivos de seguridad o cumplimiento que ejecutarán en la nube privada.

Tipos de Servicios en la Nube

Existen 3 tipos de servicios en la nube, en función del control que tenga el usuario:

Infraestructura como Servicio (IaaS)

En esta categoría el usuario alquila la infraestructura informática que necesite y la administra a través de internet. Pueden ser servidores, almacenamiento y máquinas virtuales.

La responsabilidad de que el servicio funcione es compartida entre el usuario y el proveedor cloud.

Plataforma como Servicio (PaaS)

La plataforma como servicio proporciona un entorno en el que no es necesario administrar la infraestructura a tan bajo nivel como en IaaS.

Generalmente en un PaaS se ofrecen recursos de desarrollo e implementación de soluciones.

Comparativa Servicio IaaS PaaS y SaaS
Comparativa Servicio IaaS PaaS y SaaS

Software como Servicio (SaaS)

El software como servicio proporciona acceso a software ya instalado y administrado. Funciona con una licencia o suscripción periódica.

En esta categoría el usuario tiene la mínima responsabilidad, y solamente se limita a acceder y usar el servicio.

Siguientes Pasos y Formación

Puedes seguir aprendiendo sobre tecnologías cloud y Microsoft Azure con estos artículos:

También, puedes acelerar tu aprendizaje con alguno de estos cursos recomendados en Udemy, y así preparar las certificaciones básicas en Azure o AWS en español:

Curso Implementación de soluciones en la nube de Microsoft Azure

Implementación de soluciones en Microsoft Azure

Este curso de 28 horas te enseñará los conceptos básicos para usar la nube de Azure. Aprenderás a usar servicios PaaS y SaaS de manera sencilla y paso a paso.

Curso básico de la nube de Amazon AWS. Aprende desde cero

Curso básico de Amazon AWS. Aprende desde cero

Este curso es similar al anterior, pero te iniciará en la nube de AWS, con servicios y características similares.

Curso nube de AWS Arquitecto de Soluciones Certificado - Asociado

AWS Arquitecto de Soluciones Certificado – Asociado

Este curso se enfoca en personas con algo de experiencia usando AWS y que desean obtener la certificación de arquitecto de soluciones.

Si eres de libros, aquí tienes una buena referencia:

Preguntas Frecuentes Cloud Computing – FAQ

¿Qué es más económico, un servicio IaaS o PaaS?

Los servicios PaaS suelen ser más baratos, aunque no permiten un control tan fino como los servicios IaaS, sobre los que puedes gestionar más componentes.

¿Cuándo debería escalar horizontalmente una aplicación?

La escalabilidad horizontal consiste en añadir más máquinas virtuales al sistema para incrementar su rendimiento. En el caso de que la aplicación esté diseñada de forma adecuada, deberemos escalar horizontalmente cuando necesitemos un mayor rendimiento o velocidad.

¿Qué es la disponibilidad de un servicio?

La disponibilidad de un servicio o aplicación indica el tiempo total que se encuentra funcional. Si existen periodos de tiempo en el que el servicio no es accesible o bien no realiza su función, el servicio deja de estar disponible.


A continuación, el vídeo-resumen. ¡No te lo pierdas!


¡Echa un ojo a mis listas de reproducción de Big Data y suscríbete al canal de Youtube para no perderte ningún vídeo nuevo!

Si te ayuda el contenido del blog, considera unirte a la lista de correo para estar al día de Big Data y cupones de formación

Deja una respuesta