70

Serverless: el futuro de la computación

59140Puntos

hace 4 años

El desarrollo de las tecnologías en la nube o Cloud Computing es cada vez más diversa. Nos ofrece múltiples alternativas que se adaptan a opciones que van desde bastante robustas en cuanto a configuración o hasta el punto en que solo nos preocupamos por ajustes mínimos.

Este segundo caso hace referencia a las tecnologías serverless (“sin servidor”), encontrándose en dos formas: Backend as a Service (BaaS) y Functions as a Service (FaaS). El BaaS existe desde hace ya tiempo, sin embargo fueron las FaaS las que popularizaron el término de cómputo sin servidor.

¿Qué es EC2?

¿Cómo se originó la tecnología serverless?

Durante la década de los 80s los modelos de cliente-servidor comenzaron a tener un auge en las computadoras de escritorio y sus aplicaciones, convirtiéndose en una necesidad particularmente para las empresas. Con la llegada de la WWW esta necesidad fue mayor para con el aumento de usuarios…

La aparición de Salesforce en 1999 marcó un antes y después en la industria al ofrecer un Software as a Service (SaaS) como producto principal en lugar de una licencia a instalar en las computadoras. Esto evolucionó de forma en 2006 con Amazon ofreciendo AWS EC2, teniendo una Infrastructure as a Service (Iaas) y brindando un cómputo mucho más flexible bajo demanda.

Para 2008 Google nos presenta Google App Engine, una forma de correr código en la nube sin preocuparnos por la infraestructura bajo la forma de Platform as a Service (PaaS). Otras compañías no se quedaron atrás, haciendo que Azure y Heroku también ofrecieran opciones similares.

En 2014 Amazon nuevamente marcó un hito con el lanzamiento de AWS Lambda cuyo enfoque se centraba en ejecutar porciones de código únicamente cuando fueran requeridas. Al mismo tiempo surge el término microbilling refiriéndose a cobrar solo por el consumo utilizado.

¿Serverles tiene… servidores?

El concepto de “cómputo sin servidores” suena ilógico sabiendo que de antemano hay servidores funcionando. Su definición se refiere más bien a que como usuarios de estos sistemas no debemos preocuparnos por configurar infraestructura, asignar recursos y gestionarlos, ya que el proveedor del servicio se encarga de todo ello.

En otras palabras, podríamos definir serverless como el uso de la nube que cuesta por lo que se consume, en el cual no se administran servidores (de forma directa) y su funcionamiento se lleva a través de aplicaciones.

De lo que debes preocuparte y donde aplicarlo

Si bien la ventaja principal de esta tecnología es brindarnos un ecosistema amigable para nuestras apps, hay que tener clara la delimitación de nuestra responsabilidad ya que en el mundo tech no existe una bala de plata.

Lo que sí harás al trabajar con tecnologías serverless es:

  • Escribir código, quizá no demasiado pues buscarás tener la menor cantidad posible para no comprometer tu proyecto.
  • Definir eventos que disparan las acciones a ejecutar dentro del proyecto.
  • Conectar con servicios que hagan funcionar al proyecto como un todo.
  • Estar atento al consumo del servidor y conocer lo que debes pagar por el mismo.

Dada la simplicidad que ofrecen en su implementación también podrás imaginar en donde puede utilizarse, algunos casos típicos son:

  • Aplicaciones web con arquitectura de 3 capas (presentación, aplicación y datos).
  • Desarrollo de Web APIs.
  • Procesos de streaming.
  • Flujos de datos (data pipelines).
  • Procesamiento de datos por lotes como en ETLs.
  • Automatización de infraestructura.

Todo esto abre un mundo de posibilidades para hacer uso de las tecnologías serverless, pone la atención de los proveedores de servicio para ofrecer diversas opciones y abre el mercado a nuevas empresas de servicio.

Un ejemplo de serverless computing son los que ofrece Google que van desde almacenamiento, manejo de bases de datos, analítica, mensajería, DevOps e incluso podemos utilizar algunas de sus APIs de Machine Learning y asistentes inteligentes.

Por supuesto, tú puedes comenzar a aprender a manejar esta tecnología con el Curso de Google Serverless y tener tus proyectos corriendo en la nube.

Héctor Daniel
Héctor Daniel
Terranigma

59140Puntos

hace 4 años

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
7
23358Puntos

Ya empiezo a ver organizaciones pequeñas y medianas que van a necesitar administradores cloud. ya sea como parte de su personal o como un servicio externo. Especiamente las que manejan un ERP otro software de gestión o administrativo.

Aparte creo que es una herramienta que se debe manejar así se esté en otros campos como el de ciencia de datos.

1
10619Puntos
4 años

que buen punto de vista !!! que cursos sugieres para mas o menos considerar ya un administrador cloud ?

5
28178Puntos

Una vez trabajé con una empresa pequeña, en ese tiempo aún no sabía nada de servidores jaja pero era el encargado de la página web y relacionados.

Lo curioso es que el amigo del dueño, trabaja en una empresa de Miami sobre tecnología, nos dijo que si queríamos ahorrar mucho teniamos que invertir mejor en Aws que en un Hosting jajaja.

Me río por que en ese momento lo veía infinitamente complicado xD

Ya hoy con las pequeñas cosas que voy aprendiendo en Platzi, ya estoy empezando a entender sus consejos

1
11084Puntos

Estoy haciendo ahora el de AWS, pero queda en agenda este sin duda.

1
17308Puntos

He leído que esta es la ultima capa de abstracción del computo, esto es un gran cambio de paradigmas, muchos desafíos por delante!

1
773Puntos

Bastante interesante

1
23019Puntos

Gracias por compartir esta valiosa información.

1
31845Puntos

Me surge una duda, viendo el apartado “Lo que sí harás al trabajar con tecnologías serverless”
¿me alejo del desarrollo, es decir escribo menos líneas de código, o me alejo del servidor, es decir de saber que tengo que tener un servidor de aplicaciones, servidor web, subir el empaquetado de la aplicación, hacer los despliegues, saber si requiero de un cluster, del balanceo de la carga…?

1
5692Puntos
4 años

Cuando dice Escribir código, creo que se refiere al código que tendrán tus funciones (Cloud Functions en google o Lambda en AWS), las cuales serán llamadas por algún cliente o algún evento, es decir no se refiere al código de tu aplicación como tal. PD: No estoy del todo seguro, ya que recién estoy empezando en esto. Espero te sirva. Slds.

1
59140Puntos
4 años

Así es, tu código se enfoca a las funciones que serán llamadas por los servicios de los proveedores. El cual será mucho menor en comparación del que tendrías que desarrollar para configurar tu infraestructura.