Usted es su propio proveedor de nube
En caso de que no haya oído hablar de FAAS(Funciones como servicio), se trata de ejecutar tu código en servidores que desconoces (ni te importaria). Por ejemplo, las funciones lambda de AWS le permiten cargar código, sin preocuparse por implementarlo en servidores; y le prometen escalabilidad (casi) infinita y un gran rendimiento a un precio económico. ¡Suena Excelente!
En mi opinión las funciones sin servidor son el futuro. Es la forma más pura de desarrollo de código: escribir solo el código y no preocuparse por nada más. Es bello. También lo obliga a desarrollar en un enfoque centrado en API y simplifica su sistema. En un patrón de uso moderado, también son más baratas que ejecutar código en un servidor dedicado.Pero todavía le costarán dinero, y se puede tener una mejor opción: ejecute código sin servidor y hágalo gratis. Déjeme decirle cómo.
La organización promedio puede fácilmente gastar millones de dólares al año por servicios en la nube, como se sugiere por Forbes en el siguiente articulo:
¡Vaya, eso es muchísimo dinero! ¿Pero, porque debe usted pagar tanto a Amazon o Google, cuando usted tiene su propia granja de servidores (incluso si usted no lo sabe todavía)? Una organización de tamaño mediano posee cientos de estaciones de trabajo, en ocasiones incluso miles. Un empleado típico utiliza un promedio del 15% de su CPU y aproximadamente el 30% de la memoria y unicamente como promedio de 8 horas al día, dejándolo inactivo durante aproximadamente 16 horas, rogando por acción.Ah, esto sin mencionar que las estaciones de trabajo se están volviendo máspotentes todo el tiempo; en Israel, por ejemplo, la especificación mínima que puede encontrar en una tienda de computadoras hoy en día es una máquina i5 de 8GB con 4 núcleos. Eso es suficiente para ejecutar Microsoft Word y un juego de solitario ocasional ...
Si las oficinas o los empleados de su empresa residen en diferentes ubicaciones geográficas, se pone aun mejor: ¡puede encontrar docenas de máquinas inactivas a cualquier hora del día! Entonces,¿por qué no utilizarlos para ejecutar funciones "sin servidor"? Ya pagó por ellos y ellos simplemente están disponibles… Las funciones sin servidor son de vida corta, sin estado, se ejecutan dentro de un contenedor (Docker) aislado que las hace perfectas para un entorno tan dinámico.
Esta no es una nueva idea: actualmente AWS la usa para ejecutar sus propias funciones lambda (De la documentación de AWS:“Cada vez que se recibe una notificación de evento para su función, AWS lambda rápidamente ubica la capacidad disponible en la flota de computadoras y ejecuta su código”)… ¿entonces por que no puede usted? Bien, de hecho, ¡usted si puede!
Todo lo que tiene que hacer es utilizar las herramientas correctas que le brindaran, ademas de la habilidad de ejecutar funciones, por supuesto, alguna seguridad, control del uso de los recursos y la orquestación necesaria para todos esos servidores. Hoy en día, existen varios marcos de trabajo FAAS (función como servicio) de código abierto que podemos utilizar. Echemos un vistazo, por ejemplo, al proyecto FN de código abierto deOracle (http://fnproject.io). Aquí está su arquitectura (del sitio web delproyecto FN):
Esos cachorros azules pueden ejecutarse en su máquina Windows y hacer lo suyo. Dado que ejecutan la función dentro de un contenedor de Docker, están aislados de la máquina anfitriona y no pueden comprometer ningún dato en ella, por lo que la seguridad está cubierta (en la medida en que el propio mecanismo de seguridad de Docker se considere seguro).
El balanceador de carga FN (LB) se encarga de enrutar las solicitudes y dado que es de código abierto usted lo puede hacertan inteligente como guste, añadir capacidades de detección, etc. Así que la orquestación también está bastante cubierta.
El control de uso de los recursos es un poco mas complicado, dado que los servidores deben notificar constantemente su estado y disponibilidad de recursos al LB de forma que este pueda realizar el enrutado inteligentemente. Pero no se desespere, no es muy complicado de añadir, y en cualquier caso, compañías como Naga le dan todo eso, e inclusive pueden realizar una planificación de capacidad basada en ML para optimizar la asignación de la función y garantizar la máxima escalabilidad.
Además, este concepto también puede beneficiar a las organizaciones que no pueden o no desean poner datos confidenciales en las nubes públicas (como bancos, gobierno o cualquier empresa con datos confidenciales). ¿Por qué no deberían disfrutar también de una escalabilidad infinita para sus cargas de trabajo? El resultado final tiene este aspecto:
Ejecutarlo en casa
Adiós a las enormes facturas de la nube y a los valiosos datos esparcidos por todo el mundo, hola a la maximización derecursos internos ... ¡Interrumpamos estas nubes públicas!
Traducido por: Junior Gamez www.spainclouds.com/authors//junior-gamez