Difference between revisions of "Serverless"

From Numera Wiki
Jump to navigation Jump to search
 
Line 1: Line 1:
Actualmente se han creado aplicaciones web con poco control sobre las [[solicitudes HTTP]], dado que nuestra aplicación se alberga en el servidor somos responsables de administrar y aprovisionar los recursos para su correcto funcionamiento. Pero con esto se presenten inconvenientes.  
+
La computación sin servidor o serverless es un modelo de ejecución que cuenta con un  proveedor en la nube (AWS, Azure o Google Cloud,  este es responsable de ejecutar un fragmento de código mediante la asignación dinámica de los recursos. Cobrando solo por la cantidad de recursos que utilicemos para ejecutar nuestro código. El código, generalmente, se ejecuta dentro de contenedores sin estado que pueden ser activados por una variedad de eventos que incluyen solicitudes HTTP, eventos de base de datos, servicios de colas, alertas de monitoreo, carga de archivos, eventos programados etc. El código que se envía a al proveedor en la nube para la ejecución es generalmente en forma de una función. Por lo tanto, serverless a veces se denomina [[Funciones como servicio]] o [[FaaS]].
  
* Nos cobran por mantener el servidor activo, a un cuando no estamos haciendo solicitudes.
+
Este es un concepto relativamente nuevo y que parte de la necesidad de hacer uso eficiente de los recursos para desarrollo de soluciones. En la mayoría de los proyectos los equipos de desarrollo no cuentan con los recursos suficientes de manera que todas las tareas administrativas que no agregan valor a la solución tienden a eliminarse. Así nace Serverless, un servicio de cómputo que se ofrecen en la [[Nube]] ( en [[Numera usamos [[Fargate]] y [[Lambdas]] de AWS]])y que permite utilizar servidores sin encargase de lo que no agrega valor:
* Somos responsables de aplicar las actualizaciones de seguridad necesarias para el servidor.
 
* tenemos la responsabilidad del tiempo de actividad , recursos y mantenimiento del servidor.
 
  
Para empresaspequeñas y desarrolladores individuales esto puede convertirse en un problema, ya que nos distrae del trabajo importante, construir y mantener actualizada la aplicación, haciendo que se generen retrasos en el desarrollo. por eso decidimos darnos a la tarea de buscar una opción diferente.Aquí es donde el serverless entra en juego.
+
* Aplicar actualizaciones de seguridad
 +
* Hacer mantenimiento a las máquinas
 +
 
 +
Finalmente una de las razones por las que se ha popularizado el servicio es por que solo se paga por el uso del cómputo realizado, en los servicios tradicionales ofrecidos en la [[nube]] cómo EC2 de [[AWS]] se arriendan servidores y se paga por las horas de uso del servidor sin importar el computo realizado.  
  
La computación sin servidor o serverless  es un modelo de ejecución que cuenta con un  proveedor en la nube (AWS, Azure o Google Cloud,  este es responsable de ejecutar un fragmento de código mediante la asignación dinámica de los recursos. Cobrando solo por la cantidad de recursos que utilicemos para ejecutar nuestro código. El código, generalmente, se ejecuta dentro de contenedores sin estado que pueden ser activados por una variedad de eventos que incluyen solicitudes HTTP, eventos de base de datos, servicios de colas, alertas de monitoreo, carga de archivos, eventos programados etc. El código que se envía a al proveedor en la nube para la ejecución es generalmente en forma de una función. Por lo tanto, serverless a veces se denomina “Funciones como servicio” o “FaaS”.
 
  
 
'''Ventajas de usar serverless:'''
 
'''Ventajas de usar serverless:'''
  
 
* Incremento en la productividad del equipo de desarrollo.
 
* Incremento en la productividad del equipo de desarrollo.
* Costos reducidos comparado entre un desarrollador y el uso de estos servicios.
+
* Eficiencia de costos en infraestructura.  
* Flexibilidad para escalar nuestra aplicación y agregar o quitar mas poder de computo si es necesario.
+
* Flexibilidad para escalar nuestra aplicación y agregar computo si es necesario.
* Se paga solo por lo que se usa.
+
* Se paga solo por lo que se usa.
 +
* 0 Adminitración de servidores.  
  
 
'''Desventajas:'''
 
'''Desventajas:'''

Latest revision as of 22:55, 13 February 2020

La computación sin servidor o serverless es un modelo de ejecución que cuenta con un proveedor en la nube (AWS, Azure o Google Cloud, este es responsable de ejecutar un fragmento de código mediante la asignación dinámica de los recursos. Cobrando solo por la cantidad de recursos que utilicemos para ejecutar nuestro código. El código, generalmente, se ejecuta dentro de contenedores sin estado que pueden ser activados por una variedad de eventos que incluyen solicitudes HTTP, eventos de base de datos, servicios de colas, alertas de monitoreo, carga de archivos, eventos programados etc. El código que se envía a al proveedor en la nube para la ejecución es generalmente en forma de una función. Por lo tanto, serverless a veces se denomina Funciones como servicio o FaaS.

Este es un concepto relativamente nuevo y que parte de la necesidad de hacer uso eficiente de los recursos para desarrollo de soluciones. En la mayoría de los proyectos los equipos de desarrollo no cuentan con los recursos suficientes de manera que todas las tareas administrativas que no agregan valor a la solución tienden a eliminarse. Así nace Serverless, un servicio de cómputo que se ofrecen en la Nube ( en [[Numera usamos Fargate y Lambdas de AWS]])y que permite utilizar servidores sin encargase de lo que no agrega valor:

  • Aplicar actualizaciones de seguridad
  • Hacer mantenimiento a las máquinas

Finalmente una de las razones por las que se ha popularizado el servicio es por que solo se paga por el uso del cómputo realizado, en los servicios tradicionales ofrecidos en la nube cómo EC2 de AWS se arriendan servidores y se paga por las horas de uso del servidor sin importar el computo realizado.


Ventajas de usar serverless:

  • Incremento en la productividad del equipo de desarrollo.
  • Eficiencia de costos en infraestructura.
  • Flexibilidad para escalar nuestra aplicación y agregar computo si es necesario.
  • Se paga solo por lo que se usa.
  • 0 Adminitración de servidores.

Desventajas:

  • La aplicación se integra solo con un proveedor y puede resultar costoso cambiarlo.
  • El proveedor del servicio cloud puede bajar la capacidad de computo de nuestra aplicación si nadie la esta usando.Causando problemas de rendimiento.