¿Qué rayos es la computación en la nube?

¿Qué rayos es la computación en la nube?

Todo parte de la pregunta generadora del título ¿Qué rayos es la computación en la nube?

Parafraseando el concepto según Microsoft, la computación en la nube corresponde a la entrega de servicios de computación, como servidores, almacenamiento, bases de datos, redes, software, análisis de datos e inteligencia artificial, sobre internet, lo que solemos llamar “La Nube”, permitiendo ofrecer innovación, flexibilidad de recursos y una economía de escala.

En simples palabras, lo que la computación en la nube realmente representa es alquilar recursos como por ejemplo CPU, RAM y almacenamiento, de un proveedor de servicios de la nube, entiéndase como Azure, AWS, GCP, entre otros. Y solamente pagar por lo que realmente usas “pay-as-you-go”.

Modelos de despliegue en la Nube

La nube pública: es poseída y operada por el proveedor de servicios, como se dijo anteriormente Amazon, Microsoft o Google y en ese sentido los recursos de computación son entregados mediante Internet.

Entre sus características principales tenemos:

  • Pagas por lo que usas (pay-as-you-go).
  • No te tienes que encargar del mantenimiento del hardware o de las actualizaciones
  • Es elástico, ágil, altamente escalable y adaptable.
  • Te puedes hacer global inmediatamente en solo minutos.

La nube privada: corresponde a que todos los recursos son desplegados in-situ, en los edificios o espacio que hayas destinado como organización, empresa o particular. Generalmente utilizando herramientas de virtualización como Vmware, Hyper-V, OpenStack, entre otros.

Las características principales son:

  • Control total sobre la infraestructura, eres el dueño y responsable de la gestión tanto del hardware como del software.
  • Puedes cumplir con requerimientos especiales de seguridad o restricciones legales de tu país.
  • Puedes correr aplicaciones legado, que son muy viejas para ejecutarse con los recursos del proveedor de servicios de la nube pública.
  • Tienes toda la flexibilidad posible sobre el diseño de la configuración y disposición de tus recursos.

La nube híbrida: como ya se puede apreciar corresponde a una combinación entre nube privada y nube pública, permitiendo que las aplicaciones y datos sean compartidos entre ambas.

Los rasgos principales son:

  • Una flexibilidad superior, puesto que las aplicaciones corren en ambos tipos de nube, permitiendo mantener in-situ aquellas aplicaciones legado o que manejan datos sensibles.
  • Al usar servidores in-situ estás cumpliendo con regulaciones en tu país, que correspondan por ejemplo a que la data de transacciones bancarias debe permanecer en el territorio nacional.
  • Puedes continuar corriendo aplicaciones viejas y desactualizadas hasta que te sea posible rediseñarlas para hacerlas correr en la nube pública.

Modelos de computación en la nube

In Situ — On Premise: en este modelo de nube, eres el dueño y te encargas de todos los detalles, desde el edificio, la compra de hardware, presupuestos, instalación, seguridad, refrigeración, consumo de electricidad, entre otros muchos aspectos de toda la infraestructura que necesites para tu aplicación. Un ejemplo sería como ser dueño del auto, tu te encargas de hacerle el mantenimiento cada cierto kilometraje, lavarlo, pagar el permiso de circulación, etc.

IaaS — Infraestructura como Servicio: es el modelo de computación en la nube donde alquilas la infraestructura, entiéndase por servidores, máquinas virtuales, almacenamiento, redes, sistemas operativos y pagas solo por lo que usas. Este modelo provee el mayor nivel de flexibilidad y control de la infraestructura. Un ejemplo sería rentar un auto, puedes usarlo y disponer de él siempre y cambiarlo a gusto, un día puedes alquilar una camioneta pick-up o una suv, sin problema.

PaaS — Plataforma como Servicio: en este modelo de computación en la nube, se ofrece un ambiente de desarrollo, pruebas, producción, entre otros. Donde los desarrolladores pueden crear y desplegar aplicaciones a demanda sin tener que administrar el sistema operativo, almacenamiento, etc. Tan a detalle. El ejemplo sería cuando solicitas un taxi, sigues usando el auto a demanda, pero no eres el dueño del mismo y tampoco lo conduces ni te preocupas donde se estaciona.

SaaS — Software como Servicio: este modelo de entrega o disposición de aplicaciones de software completas sobre internet, a demanda y usualmente bajo suscripciones mensuales o anuales, bajo esta premisa no te tienes que preocupar de absolutamente nada más que usar la aplicación, no sabes y tampoco interesa en que servidor, lugar o continente está el servidor. Un ejemplo de esto sería usar el servicio de Bus, solo pagas un ticket por usar el vehículo desde el punto A al punto B, no te preocupas ni de conducir, ni del modelo del autobús, ni su mantenimiento, etc.

Beneficios de la computación en la nube

  • Es rentable: no tiene costes iniciales, pagas extra por recursos sólo cuando los necesitas, no tienes una infraestructura que comprar ni administrar. Es altamente escalable: permite adaptarse al tamaño del negocio, por lo que permite crecer con él de forma manual o automática. En ese sentido puede escalar de forma vertical (Ej. incrementar CPU, RAM, almacenamiento), o de forma horizontal (agregando más recursos en paralelo del mismo tipo y capacidad).

  • Es elástica: la nube te permite ser muy flexible ya que se adapta a la demanda de los cambios añadiendo o removiendo recursos fácilmente. Es actualizada: generalmente los proveedores de servicio en la Nube, utilizan las versiones más recientes de hardware y software para su infraestructura, y todo esto de forma transparente para el usuario.

  • Es global: en minutos puedes hacer disponible tu negocio de forma global, ya que dispones de múltiples regiones alrededor del mundo donde se encuentran los centros de datos, mejorando así los tiempos de respuesta a un coste mínimo.

  • Es segura: en lo que corresponde a la seguridad física, entiéndase por vigilancia, personal de seguridad, etc. Como también la seguridad digital, controles de acceso, entre otros. Todo esto es provisto por el prestador de servicios de la nube. Es confiable: la nube es altamente confiable, ya que la infraestructura está diseñada para una alta tolerancia a desastres, proveyendo redundancia en los recursos para que dado el momento se asegure la continuidad de servicio.

Capex versus Opex

Capex (capital expenditure): representa una inversión inicial de capital, por ejemplo comprar una máquina y diferentes equipos, pero el valor invertido se va reduciendo a medida que pasa el tiempo, por ejemplo a la hora de deducir impuestos. La infraestructura que compres, no necesariamente se va a adaptar a la demanda de tus clientes, bien sea que en alguno momentos estés pagando un alto coste operativo por máquinas que no están siendo usadas a su tope de capacidad, como por el contrario que tu infraestructura no soporte la cantidad de peticiones brindando una mala experiencia de usuario.

Opex (operational expenditures): no tiene costos iniciales, pagas a medida que usas, tu reporte y deducción de impuestos siempre es el mismo. Puedes escalar y ser elástico, en pocas palabras cuando necesitas más hardware para soportar tus operaciones en épocas de alta demanda, simplemente pagas más para tener la infraestructura que lo soporte, y posteriormente cuando la demanda baje, retiras esos recursos, pagando siempre lo justo que necesitaste para tus operaciones día a día.

Infraestructura Global de la nube

Para que un proveedor de servicios de la nube de la talla de Amazon o Azure, puedan prestar servicios se necesitan de 2 componentes clave, la infraestructura física, entiéndase por centros de datos dispuestos en Regiones en distintas Geografías alrededor del mundo y por otra parte la red que interconecte todas éstas.

¿Qué es una región?

Una región es un conjunto de centros de datos que han sido implementados dentro de un perímetro definido por la latencia y que están conectados a través de una red dedicada de baja latencia. Un centro de datos se comprende por servidores, hardware de almacenamiento, balanceadores de carga, las redes que los soportan y conectan, entre otros. Sin olvidar aspectos tales como el enfriamiento, el cableado, la redundancia, etc.

¿Qué es una Zona de disponibilidad?

Cuando se tiene una aplicación con carga crítica, se hace prudente tenerla desplegada en más de un lugar, para esto existen las zonas de disponibilidad, que son en esencia Centros de datos separados físicamente manteniéndose dentro de una misma Región. Cada zona de disponibilidad posee su propia fuente de electricidad, enfriamiento y red independientes.

En caso que suceda algo inaudito, entiéndase como el ejemplo de un terremoto o una tormenta tropical muy fuerte, el suceso puede ocasionar daños graves a los Centros de datos ubicados en la Zona de disponibilidad A de la ciudad o pueblo, pero como tu aplicación tiene alta disponibilidad, esta tiene redundancia en la Zona de disponibilidad B, que se encuentra en una ciudad o pueblo cercano, no más de 100 millas, hipotéticamente hablando. Permitiéndote una continuidad de servicio totalmente transparente a tus clientes.

A continuación pueden ver como lo hace cada proveedor en los siguientes enlaces:

¿Es la nube para mí?

Pues llegados a este punto, entendidos los conceptos base de la nube, parece ser que estamos al frente de un arma infalible para todo, pero como bien vimos dependiendo de que trate tu necesidad, puede ser que contratar servicios de la nube signifique el equivalente a matar un mosquito con una bazuca.

Como es usual los recursos financieros y la naturaleza del negocio definirán el camino a tomar cuando una empresa o particular desee instalar sus aplicaciones y recursos en la nube o in-situ. En el siguiente enlace a continuación, podemos ver que no todo es color de rosas:

https://a16z.com/2021/05/27/cost-of-cloud-paradox-market-cap-cloud-lifecycle-scale-growth-repatriation-optimization/