
Serverless ha arrasado en el mundo de la computación en la nube, experimentando un enorme crecimiento en los últimos años y predicciones muy positivas para el futuro, y se espera que el mercado crezca a una tasa compuesta de más del 20% para 2028, según previsiones recientes. .
Básicamente, la arquitectura sin servidor libera todo el potencial de la tecnología basada en la nube a través del software de automatización de TI, lo que permite a las empresas impulsar el crecimiento en lugar de gastar tiempo y recursos en la gestión de la infraestructura de TI.
Si bien esto suena prometedor, las plataformas en la nube sin servidor todavía no tienen estado y están centralizadas, por lo que las aplicaciones deben abordar esta deficiencia del almacenamiento del estado y evitar la dependencia del proveedor.
Las computadoras de Internet brindan otra capa de seguridad, control y confianza, todo a través de la descentralización, sin que ninguna parte controle el hardware o el software y, además, las computadoras de Internet están diseñadas para funcionar con estado.
En este artículo, describimos cómo las cadenas de bloques de computadoras de Internet pueden proporcionar capacidades informáticas sin servidor con dos importantes beneficios adicionales: descentralización y estado.
¿Qué es sin servidor?
Serverless es un paradigma novedoso de computación en la nube que permite ciclos de desarrollo rápidos y flexibles sin tener que considerar la infraestructura subyacente (aprovisionamiento y escalamiento de las máquinas virtuales adecuadas, instalación y mantenimiento de software y marcos), reduciendo así los costos operativos generales.
La tecnología sin servidor viene en muchas formas, la más relevante en nuestro caso son las Funciones como Servicio (FaaS), donde (las bases de código grandes se dividen en) funciones pequeñas con tiempos de ejecución muy cortos (de milisegundos a minutos) y las funciones se usan por uso. Cobrado según la base (es decir, según el tiempo de ejecución) más una tarifa fija por llamada, la última característica importante a mencionar es la excelente escalabilidad para lanzar hasta miles de instancias de la misma función en un corto período de tiempo.
La informática de Internet como plataforma sin servidor
Al observar brevemente la arquitectura de Internet Computer, notará fácilmente que ofrece capacidades sin servidor e incluso beneficios adicionales.
Hoy en día, las funciones de FaaS están empaquetadas como contenedores o simplemente como código (Python, Javascript, Java, Rust, etc.) y proporcionan un único punto final al que pueden llamar directamente usuarios externos u otras funciones.
Los contratos inteligentes de contenedores en computadoras de Internet también se pueden programar en una variedad de lenguajes, incluidos Rust, Motoko, JavaScript o Python, y pueden exponer múltiples puntos finales que brindan diferentes funcionalidades para cada contenedor.
La siguiente tabla resume las principales capacidades serverless y sus correspondientes ordenadores de Internet, así como las ventajas de blockchain frente a serverless basado en la nube:

Como puede ver en la tabla, las computadoras de Internet cumplen con todos los requisitos para un entorno sin servidor. Puede que los desarrolladores no lo sepan, pero ya están ejecutando código sin servidor, como muestra nuestra investigación, con casi tanta eficiencia como lo que ofrecen los proveedores de nube tradicionales. mismo.
En algunas dimensiones (como la memoria), las computadoras de Internet incluso superan las capacidades proporcionadas por los proveedores de nube tradicionales. Sin embargo, las capacidades más importantes que queremos destacar para los desarrolladores son: con estado y descentralizado, la nube tradicional sin servidor no proporciona estas dos características.
En la Tabla 2-3, invitamos al lector experto en tecnología a profundizar en los aspectos técnicos que hacen de Internet Computer una plataforma sin servidor competitiva. Es importante señalar aquí que Internet Computer tiene dos tipos de ejecución de contratos inteligentes: modo de actualización y modo de actualización. En el modo de consulta, el primero representa llamadas con estado, mientras que el segundo no tiene estado, al igual que la informática general sin servidor.


El estado persistente después de la ejecución de la función es una característica muy buscada en el mundo sin servidor/FaaS, y es muy difícil de implementar porque a menudo entra en conflicto con el tipo de escalabilidad sin interrupciones disponible actualmente en la nube.
Afortunadamente, las computadoras de Internet se diseñaron desde cero teniendo en cuenta el estado y brindan a los desarrolladores esta funcionalidad sin la necesidad de ningún tipo de intervención manual, como guardar datos en una capa de almacenamiento externa o base de datos, por lo que todas las variables o los datos serán persistió automáticamente después de llamar al contrato inteligente en la computadora de Internet.
La descentralización es otra característica importante que a menudo se pasa por alto. Los productos modernos sin servidor actualmente cuentan con varias nubes centralizadas grandes, lo que conduce a un bloqueo del proveedor, donde el código y los datos del desarrollador son tan seguros como su proveedor y son vulnerables a interrupciones geográficas. cambios simples en la política de proveedores.
Las computadoras de Internet están completamente descentralizadas, con máquinas de nodo ejecutándose en diferentes ubicaciones geográficas y operando bajo fuertes garantías de consenso que pueden incluso tolerar fallas bizantinas (maliciosas).

Computadoras de Internet y plataformas tradicionales sin servidor
Para evaluar el rendimiento de la cadena de bloques de Internet Computer en términos de nubes sin servidor, ejecutamos una prueba comparativa con uso intensivo de CPU en Internet Computer y una de las 3 principales plataformas sin servidor. Para entradas más pequeñas, Internet Computer fue mejor que la tecnología sin servidor tradicional. El servidor es más rápido y, para entradas más grandes, es solo la mitad de rápido que el tradicional (consulte los resultados a continuación).
Esto es muy alentador y muestra que, aunque todavía queda un largo camino por recorrer, la informática de Internet está ganando terreno en términos de rendimiento en comparación con las nubes centralizadas tradicionales. Para obtener más detalles, le recomendamos que consulte nuestros artículos recientes revisados por pares de la prestigiosa. Conferencia USENIX ATC:
usenix.org/system/files/atc23-arutyunyan.pdf

Mejorar el rendimiento
Las características integradas adicionales, como la descentralización y el estado, dan como resultado un menor rendimiento de las computadoras con Internet cuando manejan grandes cargas de trabajo (consulte la Figura 2) y, si bien estas características son poderosas e importantes, también debilitan el rendimiento bruto.

Los ingenieros e investigadores de DFINITY continuarán buscando y explorando formas de mejorar el rendimiento de la computadora en Internet; algunas áreas de mejora pueden ser aumentar el paralelismo o reemplazar la capa de almacenamiento actual con un enfoque de árbol de fusión estructurado por registros para acortar los tiempos de los puntos de control.
Liberar todo el poder de las consultas compuestas para admitir aplicaciones más complejas también tendrá un impacto positivo en el rendimiento. Ya se ha comenzado a trabajar en consultas compuestas para permitir el escalado horizontal de dapp y simplificar el código del cliente, permitiendo la invocación de consultas entre subredes y la ejecución replicada. están en marcha.
Cree aplicaciones sin servidor en computadoras con Internet

Ejecute Enterprise Pilot en computadoras con Internet

Contenido IC que te interesa
Progreso tecnológico | Información del proyecto | Eventos globales

Recopile y siga el canal IC Binance
Manténgase actualizado con la información más reciente
