这是indexloc提供的服务,不要输入任何密码

¿Qué es la computación sin servidores?

La computación sin servidores es un modelo de ejecución de computación en la nube que asigna recursos de máquinas según el uso. Con un modelo sin servidores, los desarrolladores pueden compilar y ejecutar aplicaciones sin tener que administrar servidores y pagar solo por la cantidad exacta de recursos usados. En cambio, el proveedor de servicios en la nube es responsable de aprovisionar, administrar y escalar la infraestructura de nube que ejecuta el código de la aplicación.

La computación sin servidores, a pesar de su nombre, no elimina los servidores. En cambio, optimiza el desarrollo de aplicaciones abstrayendo las tareas de infraestructura de rutina. Esto significa que no ves, configuras, administras ni escalas las máquinas subyacentes que ejecutan tus aplicaciones. Esencialmente, pagas por el servicio del servidor, no por el servidor en sí.

Desde la perspectiva del desarrollo, es como si no hubiera servidores: los desarrolladores escriben el código, lo implementan en producción y el proveedor de servicios en la nube se encarga del resto.

Comprende cómo Google Cloud hace que la tecnología sin servidores funcione para ti

¿Cómo funciona la computación sin servidores?

Cuando se trata de compilar aplicaciones, los desarrolladores suelen tener una serie de otras tareas de administración de servidores que deben realizar a fin de implementar su código, como definir recursos para el procesamiento y el almacenamiento, la aplicación de parches, el balanceo de cargas y más. Todos estos elementos adicionales generan tiempos de aprovisionamiento más largos y una sobrecarga operativa adicional que, en última instancia, ralentiza los equipos de desarrollo. 

La computación sin servidores intenta proporcionar una experiencia invisible “sin servidores” a los desarrolladores, lo que elimina la necesidad de pensar en los servidores o en algo que una aplicación podría necesitar para ejecutarse. En cambio, el proveedor de servicios hace todo el trabajo en segundo plano a fin de garantizar que tengas los recursos para ejecutar tu código y cumplir con los requisitos sin que se te cobre por la capacidad inactiva. 

Comprende la computación sin servidores

Piensa en el modelo sin servidores como llevar agua a tu casa. Podrías excavar bien, probar la calidad del agua e instalar y mantener todas las tuberías externas necesarias para llevarla a la casa. También puedes conectarte a la red principal de agua de tu ciudad. Solo debes abrir la llave y obtener la cantidad que quieras exactamente cuando la necesites, y la ciudad te enviará una factura mensual por la cantidad exacta de agua que consumas. 

Del mismo modo, los proveedores de servicios en la nube inician automáticamente los recursos de infraestructura y los entornos de ejecución necesarios para ejecutar tus apps sin servidores y reducir la escala verticalmente a cero automáticamente cuando se complete la ejecución. Por lo general, se te cobrará en función de los recursos durante el tiempo de ejecución. Sin embargo, esto puede variar según el servicio y el proveedor. 

Comparación entre la computación sin servidores y otros tipos de computación en la nube

Pero espera, ¿no hay otros tipos de computación en la nube que proporcionan recursos a pedido y con modalidad de pago por uso? Es cierto que los modelos de servicio en la nube, por ejemplo, infraestructura como servicio (IaaS) y plataforma como servicio (PaaS) también proporcionan acceso según demanda a los recursos de procesamiento. 

Sin embargo, la infraestructura de nube que se te asignó permanece activa incluso si no la estás usando. También es tu responsabilidad escalar la capacidad del servidor o configurar tus aplicaciones para escalar verticalmente o reducir la escala en respuesta a la demanda del usuario. 

Las arquitecturas sin servidores, por otro lado, se basan en eventos. Con este modelo, el proveedor solo te brinda recursos cuando un evento activa la ejecución de tu código y escalará instantáneamente y automáticamente a las solicitudes.

Resuelve tus desafíos más difíciles con Google Cloud

Los clientes nuevos obtienen $300 en créditos gratuitos que pueden usar en Google Cloud.
Habla con un especialista en ventas de Google Cloud para analizar tu desafío único en más detalle.

Comparación de modelos de computación en la nube

Definiciones clave:

  • Carga administrativa: El nivel de esfuerzo necesario para administrar y mantener la infraestructura subyacente
  • Modelo de costos: El método que se usa para calcular y cobrar el consumo de recursos
  • Requisitos de mantenimiento: La cantidad de mantenimiento, aplicación de parches y actualizaciones continuos que se requieren
  • Escalabilidad: La capacidad de ajustar automáticamente los recursos en respuesta a la demanda cambiante
  • Sin estado: Si la aplicación almacena datos del cliente de una sesión a otra

Sin servidores

  • Carga administrativa: Mínima
  • Modelo de costos: Pago por uso
  • Requisitos de mantenimiento: Ninguno
  • Escalabilidad: Automática e instantánea
  • Sin estado: Generalmente sin estado

PaaS

  • Carga administrativa: Media
  • Modelo de costos: Pago por instancia
  • Requisitos de mantenimiento: Bajos
  • Escalabilidad: Escalado automático o manual
  • Sin estado: Puede ser con estado o sin estado

Contenedores

  • Carga administrativa: Media a alta
  • Modelo de costos: Pago por contenedor
  • Requisitos de mantenimiento: Medios
  • Escalabilidad: Escalado automático o manual
  • Sin estado: Puede ser con estado o sin estado

VMs

  • Carga administrativa: Alta
  • Modelo de costos: Pago por VM
  • Requisitos de mantenimiento: Altos
  • Escalabilidad: Escalado automático o manual
  • Sin estado: Puede ser con estado o sin estado

Tipos de computación sin servidores

En la computación en la nube sin servidores, suele haber dos tipos de servicios: la función como servicio (FaaS) y el backend como servicio (BaaS). 

  • FaaS proporciona los recursos de procesamiento necesarios para ejecutar la lógica de la aplicación en respuesta a las solicitudes. Estas piezas lógicas (o funciones) se ejecutan en contenedores completamente administrados por el proveedor de servicios en la nube. Por lo general, las aplicaciones sin servidores se dividen en funciones únicas que realizan una acción en respuesta a un evento. 
  • BaaS proporciona toda la funcionalidad de backend de las aplicaciones web o para dispositivos móviles como servicio, como servicios de autenticación, administración de bases de datos, almacenamiento en la nube, notificaciones push y hosting. BaaS también quita la necesidad de administrar servidores, contenedores o máquinas virtuales. 

Durante el desarrollo, el término “sin servidores” suele usarse para describir las ofertas de FaaS. Sin embargo, es importante tener en cuenta que FaaS es técnicamente un subconjunto de tecnología sin servidores. La computación sin servidores incluye cualquier tipo de servicio en el que la administración, la configuración, el escalamiento y la facturación del servidor se abstraen del usuario final. Esto puede incluir bases de datos, almacenamiento, transmisión de eventos, mensajería y puertas de enlace de API. 

Casos de uso de la computación sin servidores

Estos son algunos de los ejemplos de computación sin servidores más comunes y emergentes:

API y la integración de terceros

  • Caso de uso: Sincronizar sin problemas clientes potenciales o clientes entre diferentes aplicaciones empresariales (por ejemplo, de CRM a automatización de marketing)
  • Solución sin servidores: Una función de Cloud Run activada por HTTP recibe webhooks del sistema de origen (por ejemplo, Salesforce), transforma los datos y llama a la API del sistema de destino (por ejemplo, HubSpot), a menudo usando Secret Manager para las credenciales
  • Productos sin servidores de Google Cloud: Cloud Run Functions y Secret Manager

Acciones programadas y basadas en activadores

  • Caso de uso: Automatizar la generación y distribución de informes rutinarios
  • Solución sin servidores: Un trabajo de Cloud Scheduler activa una función de Cloud Run a través de Pub/Sub diariamente; la función consulta un almacén de datos (por ejemplo, BigQuery), procesa los datos en un informe y los envía a través de una API de correo electrónico.
  • Productos sin servidores de Google Cloud: Cloud Scheduler, Pub/Sub, Cloud Run Functions y BigQuery

Automatización de procesos de TI

  • Caso de uso: Reducir los costos de la nube identificando y administrando automáticamente los recursos de procesamiento inactivos
  • Solución sin servidores: Un trabajo nocturno de Cloud Scheduler activa una función de Cloud Run a través de Pub/Sub; esta función usa la API de Compute Engine y Cloud Monitoring para identificar instancias inactivas y las detiene o borra automáticamente, y registra las acciones en Cloud Logging.
  • Productos sin servidores de Google Cloud: Cloud Scheduler, Pub/Sub, Cloud Run Functions, Cloud Monitoring y Cloud Logging

Procesamiento en tiempo real y asíncrono

  • Caso de uso: Procesar y enriquecer datos de transmisión de gran volumen (por ejemplo, actividad del usuario) para obtener estadísticas y acciones inmediatas
  • Solución sin servidores: Los eventos de clickstream del usuario se transmiten a Pub/Sub; una función de Cloud Run (o un servicio de Cloud Run) consume estos eventos, los enriquece con datos de Firestore y, luego, publica los datos enriquecidos en otro tema de Pub/Sub para análisis en tiempo real en BigQuery o recomendaciones personalizadas.
  • Productos sin servidores de Google Cloud: Pub/Sub, Cloud Run Functions, Cloud Run, Firestore y BigQuery

Flujos de trabajo de CI/CD y DevOps

  • Caso de uso: Automatizar la compilación, prueba e implementación de microservicios cuando se realizan cambios en el código
  • Solución sin servidores: Un activador de Cloud Build supervisa un repositorio de Git (por ejemplo, Cloud Source Repositories). Cuando se confirma el código, Cloud Build ejecuta pruebas, crea una imagen de contenedor en Artifact Registry y, luego, implementa automáticamente la nueva versión en Cloud Run.
  • Productos sin servidores de Google Cloud: Cloud Build, Cloud Run, Artifact Registry y Cloud Source Repositories

Procesamiento de imágenes y videos

  • Caso de uso: Generar automáticamente variantes de imágenes optimizadas (por ejemplo, miniaturas, diferentes formatos) cuando se suben
  • Solución sin servidores: Se activa una función de Cloud Run cuando se sube una imagen nueva a un bucket de Cloud Storage; esta función procesa la imagen (cambio de tamaño, conversión de formato), guarda las nuevas versiones en Cloud Storage y actualiza los metadatos en Firestore.
  • Productos sin servidores de Google Cloud: Cloud Storage, Cloud Run Functions y Firestore

Aplicaciones de IA y agentes de IA

  • Caso de uso: Realiza inferencias de IA en tiempo real con LLM como Llama 3.1, Gemma 2, Mistral y más
  • Solución sin servidores: Cloud Run se integra con modelos de IA como la API de Gemini, extremos de Vertex AI o modelos alojados en un servicio de Cloud Run habilitado para GPU; también puede actuar como un extremo de API escalable y alojar agentes de IA.
  • Productos sin servidores de GCP: Cloud Run, Cloud Storage, Firestore

Ventajas de la computación sin servidores

Mayor productividad de los desarrolladores 

Los desarrolladores que usan la tecnología sin servidores se enfocan en escribir código y optimizar la lógica empresarial en lugar de preocuparse por el aprovisionamiento, la administración o el escalamiento de la infraestructura. 

Escalabilidad lista para usar

Las arquitecturas sin servidores aumentan o reducen la escala de forma inherente. A diferencia del ajuste de escala automático en otros tipos de computación en la nube, que requiere reglas de ajuste, el ajuste de escala automático sin servidores es instantáneo y puede reducirse a cero. 

Precios flexibles

Los modelos de precios sin servidores suelen cobrarse en función del uso real y el tiempo que lleva ejecutar una función. Tampoco debes pagar por la capacidad inactiva, lo que ayuda a reducir los costos operativos asociados con la ejecución y la administración de tus propios servidores.

Implementación más rápida

La computación sin servidores puede ayudar a reducir la fricción de la definición de infraestructura para los equipos de DevOps cuando se trata de integración, pruebas, entrega e implementación. Luego, pueden enfocarse en escribir e implementar el código directamente en producción.

Usa cualquier lenguaje

Los entornos sin servidores admiten cualquier lenguaje o framework, lo que permite que los equipos desarrollen en el lenguaje o con el framework (Go, Python, Java, Node.js, .NET y más) que más les acomode.

Desventajas de la computación sin servidores

Una de las mayores desventajas de la computación sin servidores es que sigue siendo una tecnología relativamente nueva. Como resultado, aún no es adecuado para todos los casos de uso posibles. 

También está claro que algunas de las debilidades actuales que existen se resolverán con el tiempo a medida que la computación sin servidores continúe evolucionando. En particular, ya se está trabajando en implementaciones de código abierto de servidores sin servidores y en la búsqueda de formas de hacer que los servicios en la nube sean más abiertos a fin de que las soluciones sean portátiles entre diferentes plataformas y entornos. 

  • Adecuación limitada para casos de uso: Las arquitecturas sin servidores no siempre son adecuadas para aplicaciones con requisitos específicos, como procesos de larga duración o necesidades de latencia muy baja.
  • Restricciones de rendimiento: Las funciones sin servidores pueden experimentar inicios en frío (ejecución inicial retrasada) y pueden tener limitaciones en el tiempo de ejecución y la memoria.
  • Dependencia de un solo proveedor: Migrar aplicaciones sin servidores entre proveedores de servicios en la nube puede ser complejo debido a las diferencias en las APIs y configuraciones.
  • Visibilidad reducida del servidor: Los desarrolladores tienen una visibilidad limitada de la infraestructura subyacente, lo que dificulta solucionar problemas de rendimiento o la optimización de la utilización de recursos.
  • Inicio lento: Las funciones sin servidores a veces pueden experimentar un “inicio en frío” en el que hay un retraso en la invocación de la función, lo que puede afectar la latencia.

Da el siguiente paso

Comienza a desarrollar en Google Cloud con el crédito gratis de $300 y los más de 20 productos del nivel Siempre gratuito.

Google Cloud