Serverless Computing es un modelo de arquitectura informática para la operativa diaria de la empresa basada en delegar en la nube los servicios que necesitan.
Se trata de prescindir del hardware en las instalaciones propias y sustituirlo por un proveedor en la nube que presta el servicio o microservicio a la empresa. El coste y precio de estos servicios se basa en el consumo efectuado.
Se llama sin servidor (Serverless), porque se habla desde el punto de vista de la empresa o cliente final. Se deja de tener un ordenador (servidor), caro y perenne encendido y mantenido. El servidor en realidad existe pero es un proveedor externo el que da el servicio. Hablaremos antes de cómo es el modelo tradicional y luego el modelo Serverless.
El modelo tradicional con servidor de oficina
Miles de empresas usan este modelo aunque cada vez más se pasan al serverless o incluso a un modelo híbrido.
Consiste en comprar un servidor, montarlo y prepararlo para que los usuarios puedan acceder a los archivos o servicios de forma centralizada.
Si se quiere acceder desde otras ubicaciones hay que añadir extras de seguridad porque una pyme o mediana empresa es muy vulnerable a ataques con este tipo de servidor cuando está abierto a Internet.
Ventajas
La empresa lo controla todo, el hardware, el software, el mantenimiento y la seguridad. Eso por supuesto tiene su coste pero no depende de nada externo. Modelo “Juan Palomo” yo me lo guiso, yo me lo como.
Desventajas
Coste alto, mantenimiento alto. Si una empresa descuida el mantenimiento del servidor y su seguridad acarrea problemas mayores como robos, virus (ransomware sobre todo) y pérdidas. La trazabilidad de acciones por parte de los usuarios es prácticamente nula. Nadie sabe quién ha borrado qué.
Se debe establecer una política de backups constante y paranoico para evitar pérdidas en caso de borrado accidental o virus
Es más vulnerable a catástrofes ya que está todo en una oficina o sede central. Obliga a buscar soluciones en caso de desastres. (Ver Plan de recuperación de desastres DRP)
Dificulta el cumplimiento de la nueva RGPD. Puesto que una de sus condiciones es tener una copia de los datos en otra ubicación geográfica diferente.
El modelo de arquitectura sin servidor
Cada vez más son las empresas que dan el salto y migran sus antiguas infraestructuras de cliente-servidor tradicional a un modelo donde se ahorran el mantenimiento y obtienen el servicio adaptado a su necesidad real, con unas ventajas tanto en operatividad, seguridad y costes.
Desde luego las empresas de nueva creación y startups, si están al día buscarán una solución de tipo serverless computing para empezar con el mínimo coste y poder ampliar en función de la viabilidad de su negocio.
Ventajas del Serverless computing
La escalabilidad
Se entiende por escalabilidad a la capacidad de crecer o decrecer en base a la necesidad. Si se necesita más espacio, más usuarios, más capacidad de cómputo, todo es escalable fácilmente para necesidades constantes o puntuales.
La seguridad en una arquitectura sin servidor
Puede haber opiniones encontradas donde autores ponen que la seguridad basada en un proveedor en cloud es inferior a una solución on-premise. Pero los datos hablan y es difícil discutir con ellos. El proveedor basa su negocio en ofrecer un servicio que debe proteger. Con cientos y miles de clientes. Desde luego la seguridad es una de sus máximas prioridades.
Un cliente con una solución de servidor tradicional puede también invertir en seguridad, pero no deja de ser un gasto enorme y constante si se quiere estar al día en actualizaciones y amenazas.
Un ejemplo de servicio Serverless sería un banco online, donde miles de clientes ponen su confianza en el sistema que protege su dinero y sus transacciones.
Facturación y costes
Una arquitectura serverless lo primero que ahorra es en espacio físico. Cualquier empresa del tamaño que sea se ahorra tener una sala o espacio dedicado para el servidor. Normalmente es una sala propia ya que los servidores precisan de seguridad en entorno cerrado y refrigeración.
El ahorro en electricidad tanto del propio servidor como la refrigeración es un factor importante. Los cortes tanto en el suministro eléctrico como en la conectividad provocan problemas, evitarlos supone más costes. Protección ante catástrofes como incendios es también muy costoso.
El mantenimiento es el mayor coste de una infraestructura con servidor. No solo las licencias, compra de hardware y las actualizaciones, la mano de obra se lleva el mayor gasto en el presupuesto.
Desventajas del modelo Serverless
Sin duda es la desconfianza. Numerosas webs anuncia a bombo y platillo cada vez que alguna empresa grande sufre una brecha de seguridad. Parece crear una alarma de que los servicios serverless son inseguros, pero en realidad es todo lo contrario. Porque las mayores brechas, robos y fraudes se producen en empresas pequeñas con infraestructuras tradicionales. Pero en las noticias no salen.
Es el caso de cuando se estrella un avión, el sistema más seguro del mundo para viajar por estadística y sin embargo, cuando ocurre algún accidente está en boca de todos.
La privacidad es otro factor clave. Al tener el servicio externalizado, ¿dónde está la privacidad? El proveedor debe ofrecer garantías fiables de que la privacidad es respetada. Un contrato de protección de datos es fundamental para un primer paso. Ejemplo.
Tipos de servicios ofrecidos de tipo Serverless Computing:
IaaS. Infraestructuras como servicios
Aquí, grandes proveedores ofrecen almacenamiento, servidores, centro de datos. Sus clientes por lo general son empresas de informática mayormente que usan sus servicios para crear los siguientes niveles. Ejemplos: Microsoft Azure o Amazon.
FaaS. Funciones como servicios
Consiste en la ejecución de los procesos en los servidores en la nube. Se alquilan funciones, algoritmos, capacidad de cómputo. Un ejemplo de esto son las Azure Funtions. Google, IBM O Amazon también ofrecen estos servicios. Se pueden programar funciones, hacer llamadas a ellas que devuelven resultados o hacen acciones. El coste es por llamadas y uso de los recursos en dichos procesos.
Bases de datos como servicios
Las bases de datos son fundamentales para cualquier empresa. Incluso las pequeñas que empiezan con una simple Excel, pasando por Access y luego pasando a mayores con potentes motores de bases de datos.
Externalizar la Base de datos es un hecho y se hace de forma muy sencilla. Se crean las instancias de las BD, se configuran desde una página web, tanto usuarios y seguridad y ofrecen un SLA (Service Level Agreement) de casi el 100%, es decir, el tiempo en que la BD está siempre arriba funcionando.
PaaS. Plataformas como servicio
Esto es alquilar todo lo que se necesite para que funcione una aplicación. Las empresas necesitan aplicaciones y el proveedor ofrece máquinas en la nube, infraestructuras y sistemas operativos.
Es gestionado remotamente por el cliente para desarrollar lo que la empresa exige. Por ejemplo contratar un servidor en la nube, accesible desde cualquier lugar. Es como tener el servidor de oficina, pero externalizado. En él ya se instalan aplicaciones o servicios propios que necesite la empresa.
SaaS. Software como servicio
Aquí lo que se alquila es el servicio ya hecho ejecutado a través de un programa o software. Es otro mecanismo serverless a más alto nivel. Es decir, para el cliente final. Es la infraestructura que menos mantenimiento requiere , instalación o configuraciones. Ejemplo inmediato de esto es Dataprius, un programa instalable en 3 clicks de ratón donde se accede a una intranet de archivos virtual.
Aquí nos extendemos más en esta definición concreta ¿Qué es SaaS?
La entrada Serverless Computing (Arquitecturas sin servidor) en la nube para la empresa se publicó primero en Blog de Dataprius..