¿Uber o transporte público?
Intro
La nube ya no nos resulta un misterio. Tal como vimos anteriormente, sabemos que la nube es, en esencia, la computadora de alguien más.
Ese “alguien más” es una forma simple de referirnos a las empresas que construyen y operan enormes data centers, y que nos permiten acceder a sus recursos para cubrir una amplia variedad de necesidades digitales.
Lo que vamos a explorar ahora es cómo los usuarios acceden a esos recursos.
Porque no todos los proveedores de servicios en la nube los ofrecen de la misma manera, ni con el mismo nivel de acceso, control o responsabilidad.
Puede sonar abstracto al principio, así que vamos a usar una analogía fácil de visualizar: tener tu propio auto, viajar en Uber o moverte en transporte público.
La próxima vez que elijas una de estas opciones para moverte, ojalá te acuerdes de lo que vamos a ver hoy 😉
Elegí tu transporte
Para entender los distintos modelos de servicio, podemos pensar la computación en la nube como una forma de compartir un medio de transporte.
En lugar de comprar un auto propio (la infraestructura), los usuarios pueden alquilarlo según lo necesiten, evitando costos como mantenimiento, seguro o combustible, y pagando únicamente por el uso que hagan de él.
La empresa que provee esos vehículos, el proveedor de la nube, se beneficia de lo que se conoce como economías de escala:
- cuantos más clientes utilizan el servicio, menores son los costos unitarios. En otras palabras, más gente lo usa, más eficiente y más barato es para todo el mundo.
Ahora bien, hay dos factores que influyen la decisión:
- el nivel de control deseado - ¿querés manejar vos o preferís que alguien más lo haga?
- el nivel de responsabilidad que estás dispuesto a asumir - ¿te encargás del mantenimiento y el combustible, o no querés ocuparte de nada?
Son estos factores los que determinan los distintos modelos de servicio que existen. Veámoslos.
Los modelos de servicio
Existen a nuestra disposición varios modelos de servicio. La mejor opción es la que se ajuste al nivel de control y responsabilidad que queramos asumir:
- On Premise: esto no es un modelo de servicio en la nube, pero nos sirve como punto de comparación, ya que es la alternativa tradicional a la nube.
- Una solución on-premise es similar a ser dueños del coche, ya que tenemos que hacernos cargo de todo: mantenimiento, el seguro, estacionamiento, combustible, conducirlo, etc.
- Hablando técnicamente, todo el stack es responsabilidad del usuario: hardware, red, energía, refrigeración, seguridad, sistema operativo, aplicaciones, etc.
- Infrastructure as a Service (IaaS): siguiendo la analogía, esto es como alquilar el coche. El proveedor proporciona la infraestructura (coche) mientras que nosotros somos responsables de la conducción y el combustible.
- En términos más técnicos, este modelo implica alquilar los bloques fundamentales: redes, almacenamiento y cómputo.
- Platform as a Service (PaaS): en este modelo los costos también son externalizados. Sin embargo, podemos elegir el destino y el camino general (la lógica de la aplicación), pero no controlamos el vehículo ni cómo está construido el motor. En nuestra analogía, esto se compara a pedir un coche via Uber.
- En términos técnicos, esto implica la infraestructura subyacente y herramientas y software necesarios para construir una aplicación, como sistemas operativos y middleware.
- Software as a Service (SaaS): todo es gestionado por el proveedor. Esto es comparable a tomar un autobús o colectivo, como le decimos en Argentina. No decidimos ni el vehículo, ni el motor, ni la ruta, solo elegimos si subirnos o no.
- Ya en el terreno técnico, esto significa que el software es provisto generalmente a través de un sitio web o aplicación, con el hardware y el sistema operativo siendo gestionados por el proveedor.

La pirámide de servicios
Se pueden representar estos modelos de servicio mediante una pirámide.

Al subir la pirámide:
- sube el nivel de abstracción, es decir, es más fácil la gestión o prácticamente nula
- pero también delegamos más control sobre distintas capas del stack tecnológico, como por ejemplo…
- networking
- servidores
- sistema operativo
- runtime
- aplicación
¿A qué te suena esto? Sí, al famoso trade-off que existe en todo lo que involucre ingeniería. Elegís ciertos beneficios a la vez que renunciás a otros y aceptás las desventajas de tu elección.
Otros modelos de servicio
Adicionalmente a lo visto, existen otros modelos de servicio, lo que incluye:
- FaaS (Function as a Service): un modelo de ejecución de código donde el desarrollador solo define funciones que se ejecutan en respuesta a eventos.
- El modelo de facturación es serverless: se paga por ejecución y tiempo de cómputo.
- Pero ojo, serverless no significa que no haya servidores, sino que el usuario no los gestiona ni los provisiona.
- El proveedor se encarga del escalado, disponibilidad y ejecución.
- Spoiler: esto lo vamos a ver bien cuando cubramos AWS Lambda.
- Hardware as a Service (HaaS)
- Database as a Service (DBaaS)
- Disaster Recovery as a Service (DRaaS)
- Network as a Service (NaaS)
Ejemplos concretos por modelo
Si ya tenés algo de experiencia con proveedores como AWS, Azure, GCP u otros, esta sección te va a permitir fijar mejor los distintos modelos de servicio.
Vamos modelo por modelo, viendo ejemplos de servicios ofrecidos por algunos proveedores que se corresponden con cada uno de ellos.

Conclusión
Los modelos de servicio definen la forma en que un proveedor de la nube ofrece sus servicios a sus usuarios en base a:
- el nivel de acceso deseado
- el nivel de control
- y el nivel de responsabilidad
Lo bueno es que ya sea que quieras alquilar un coche (IaaS), pedir un Uber (PaaS), o subirte al transporte público (SaaS), hay una opción para cada necesidad, y eso es lo que hace a la computación en la nube una tecnología muy poderosa.
En el próximo post de esta serie vamos a hablar de despliegue (privado vs. público vs. híbrido) y cómo algunos roles clásicos (DevOps, Data Engineer, etc.) se adaptaron para incorporar la nube a su caja de herramientas.
Ahora te tengo que dejar que me pedí un PaaS y el chofer me cobra la espera.