Serverless es asombroso, pero aquí está el gran problema
A pesar de todos los beneficios de serverless, su tasa de adopción da una imagen totalmente diferente.
Serverless
Primero, fue Docker. Luego microservicios. Luego Kubernetes. Y ahora, serverless. Los servidores son un dolor de cabeza, ¿verdad? ¿Qué desarrollador web quiere aprender Apache Linux para implementar un SPA? Y eso es solo el despliegue. El mantenimiento es un juego de pelota diferente. Equilibrio de carga, parches de seguridad, aprovisionamiento insuficiente, aprovisionamiento excesivo: es un suministro interminable de problemas.
¿Serverless es la respuesta?
La informática sin servidor ha ido ganando popularidad en los últimos años. Pero, ¿qué tan bien resuelve realmente el problema? Primero, defínalo. En mis propias palabras, la informática sin servidor abstrae la funcionalidad del servidor para que los desarrolladores no tengan que preocuparse por su funcionamiento. Puede usar un servidor sin usar un servidor manualmente. Técnicamente, no es literalmente “sin servidor”. Simplemente no tiene que preocuparse por los servidores que está utilizando. Envíe su código y el proveedor se asegurará de que se ejecute cuando sea necesario, independientemente del volumen. El escalado automático y la administración del servidor ya no son sus preocupaciones.
En la superficie, esto suena genial. Simplemente puede escribir un código, empaquetarlo como una imagen de Docker y luego implementarlo como una función sin servidor a través de AWS Lambda o Google Cloud Run. Todo con unos pocos clics. Sin instalaciones desordenadas. Sin línea de comandos de Linux. Todo lo que tiene que preocuparse es escribir el código de su aplicación.
Pero aquí está un problema con esto: no resuelve el problema original de manera muy efectiva. Recuerde, el problema es que los desarrolladores no quieren administrar servidores para implementar su código. Y se supone que la tecnología serverless soluciona eso. En teoría, podría. Pero, en realidad, pocos desarrolladores utilizan implementaciones sin servidor. Es demasiado intimidante.
Por ejemplo, se encuentra buscando opciones de implementación para sus microservicios de bot de comercio, cuando se topa con el hype de sin servidor. En ese momento, ya está configurando Kubernetes porque sabe que ese es el estándar de la industria para aplicaciones robustas y escalables. Lo suficientemente bueno para Uber, lo suficientemente bueno para usted. Y por alguna razón, “sin servidor” le suena aún más abrumador.
Usted queda como, “¿Qué quiere decir sin servidor? ¿Sin servidores? ¿Cómo diablos funciona eso?” Así que ni lo averigua. Piensa que es demasiado complicado. Pero en realidad, una implementación serverless es probablemente mucho más fácil de configurar que un clúster de Kubernetes. Pero no creo que esté solo en esta reacción. Sin servidor es intimidante para los recién llegados, lo cual es irónico porque esas son las personas a las que se supone que más se benefician.
Quiero decir, deberían enseñar serverless en cursos de programación para principiantes. Es muy fácil implementar cosas de esta manera. Simplemente escriba un código, copie un Dockerfile genérico de Internet e impleméntelo con unos pocos clics a través de un sitio web. Eso es mucho más fácil que implementar en alguna gota de DigitalOcean, sin mencionar que es mucho más útil porque se pueden usar pequeñas aplicaciones sin servidor para ampliar fácilmente la funcionalidad de cualquier aplicación. Y son triviales de desarrollar. Sin embargo, todas estas ventajas nunca se descubren porque estas cosas asustan a la gente.
Ese es el problema de la tecnología sin servidor: es aterrador. Tal vez sea el contenido que lo rodea. La mayoría de las personas que hablan de esto son tipos senior de DevOps en conferencias de la industria. Eso crea una imagen falsa de que es un concepto avanzado para los grandes, lo cual no es necesariamente cierto. O tal vez sea un problema de adopción. Tal vez las soluciones sin servidor solo necesiten comercializarse mejor para los principiantes.
Sea como fuere, la tecnología sin servidor es genial. Jugaré mucho más con él y vigilaré el espacio. De forma lenta pero segura, algunas funciones de la nube encontrarán su camino en mis bots de producción. Y ahí es cuando comenzará la verdadera diversión.