Cabecera personalizada

El blog de Mikel Niño
Emprendimiento digital, startups, Big Data Analytics y nuevos modelos de negocio

El entramado de siglas en la nube: SaaS, PaaS, IaaS

En un mundo tan profuso en siglas de todo tipo como el de las tecnologías digitales, el entorno de computación "en la nube" (cloud computing) no iba a ser una excepción. Llevamos ya muchos años oyendo hablar de "SaaS" o "Software as a Service" como aplicaciones que nos proveen de un servicio bajo demanda al que podemos acceder vía web, sin preocuparnos de instalaciones o mantenimientos, habitualmente con un modelo de suscripción o de pago por consumo de recursos. Los conceptos de "IaaS" y "PaaS" abundan en esta misma línea de soluciones TIC ofrecidas como un servicio bajo demanda vía web (lo que de alguna manera define ese concepto de "la nube"), aunque se enfocan a niveles más bajos de la "pila tecnológica" para facilitar la construcción y puesta en marcha de aplicaciones web.

En el nivel más interno tendríamos la idea de "Infraestructure as a Service" (IaaS), de los que el ejemplo quizá más popular sea Amazon Web Services (aunque existen muchos más). Este tipo de servicios serían al equivalente a "comprarnos una máquina" con un determinado sistema operativo y diferentes cantidades de recursos básicos como memoria y espacio en disco. La diferencia reside en que, en vez de disponer de ella físicamente, es una reserva de recursos de los que disponemos "virtualmente" y a los que accedemos a través de la nube. En este caso tendremos que instalar los diferentes programas, lenguajes, entornos, etc. que compondrán la pila tecnológica sobre la que construiremos nuestra aplicación web. La gran ventaja de estos esquemas es la gran flexibilidad con la que uno puede aumentar la capacidad de su máquina o adquirir nuevas máquinas en función de la demanda de nuestra aplicación (todo ello de manera automatizable). Esta flexibilidad, por otro lado, también implica una mayor carga de trabajo de "fontanería TIC" para instalar y configurar todos los componentes de la pila tecnológica, así como la monitorización de la demanda de la aplicación y el consumo de recursos para organizar las políticas que determinen cuándo adquirir más capacidad de máquina (escalar) o lo contrario.

Por encima de este nivel tendríamos el "Platform as a Service" (PaaS), donde podríamos citar a Heroku como ejemplo (al igual que antes, con muchas alternativas más). Aquí disponemos de soluciones "preconfiguradas", con alternativas para diferentes lenguajes o frameworks de programación, de manera que partimos ya de una estructura ya en marcha y que nos da resueltas varias de las tareas que indicábamos en el nivel IaaS, lo que reduce el tiempo en que podemos disponer de nuestra aplicación web en servicio. Como contrapartida, obviamente, estos esquemas te fuerzan de alguna manera a construir tu aplicación dentro del modelo que ellos determinan y por tanto pierdes flexibilidad y capacidad de configuración.

La tendencia que se viene observando en este tipo de aproximaciones "as a Service" es a ofrecer soluciones que intentan combinar lo mejor estos dos últimos modelos, en concreto por parte de proveedores IaaS que tratan de aproximarse al PaaS añadiendo a su servicio funcionalidades que permitan a los desarrolladores una puesta en producción mucho más ágil y sin tener que ocuparse de todas las tareas de bajo nivel que habitualmente se requerían, por ejemplo incluyendo opciones adicionales para incluir componentes ya instalados, o facilitando la puesta en producción y monitorización. Con todo, la solución adecuada para cada aplicación dependerá sobre todo del grado de control que se exija en cada caso, en términos de rapidez requerida para la puesta en producción, necesidad de recursos a bajo nivel y flexibilidad para escalar ágilmente.

No hay comentarios:

Publicar un comentario