Llámanos: 639 42 60 95

¿Qué son las Cloud Functions de Firebase?

¿Qué son las Cloud Functions de Firebase?

Las Cloud Functions de Firebase son un nueva funcionalidad que ofrece la plataforma de Google y que anunciaron en el 2017.

Esta nueva funcionalidad permite crear funciones escritas en JavaScript, en un entorno Node.js, que son invocadas por eventos de Firebase (Cuando se escribe en la base de datos, cuando se crea un usuario, cuando se sube un fichero, etc). Esto nos permite tener una solución Backend as a Service bastante completa con Firebase.


Las Cloud Functions estan compuestas por 3 niveles en lo que se refiere a Computación en la nube:


    •    Infraestructura como Servicio (IaaS):? En éste nivel tienes acceso completo a la máquina virtual dónde puedes elegir el Sistema Operativo e instalar lo que quieras.?La ventaja es que tienes libertad total y la desventaja es que necesitas controlar muchas cosas (Seguridad, Actualizaciones del S.O., del entorno, etc..)?Algunos ejemplos de servicios IaaS serían:
    ?    Amazon EC2
    ?    Google Cloud Compute Engine
    ?    Digital Ocean

    •    Plataforma como Servicio (PaaS):
? En éste segundo nivel no tienes que preocuparte del Sistema Operativo ni los parches de seguridad relativos, simplemente te enfocas en tu App (backend+frontend) y la despliegas en el entorno que te ofrece el proveedor, la gran mayoría permiten todo tipo de lenguajes (Node.js, Python, Ruby, Java, etc...)?Algunos ejemplos de servicios PaaS son:
    ?    Google Cloud App Engine
    ?    Heroku

    •    Funciones como Servicio (FaaS):? Este tercer nivel te abstrae por completo del sistema operativo, del desarrollo del backend completo y de mantenimiento de un sistema monolítico. Con las funciones, puedes tener dividido tu Backend en microservicios que serían las diferentes funciones y cada una de ellas se encargaría de una tarea concreta.?Los servicios que ofrecen esto ahora mismo son:
    ?    Amazon Lambda
    ?    Google Cloud Functions
    ?    Cloud Functions for Firebase


¿Qué puedo hacer con las Cloud Functions?


Una vez puestos en situación, vamos a ver que tipo de cosas nos permiten hacer las Cloud Functions, en concreto las que proporciona Firebase.

 •    Notificaciones:? Podemos enviar notificaciones Push a los dispositivos de nuestros usuarios uniendo Firebase Cloud Messaging y el trigger de la base de datos que salte cuando escribamos en un determinado registro, por ejemplo cuando un usuario tiene un nuevo "follower":?

 •    Filtrado de mensajes:? Uniendo los triggers de la base de datos con las Cloud Functions de nuevo podemos hacer que cuando se escriba un mensaje en un registro de la base de datos, poderlo "sanitizar" (eliminar código HTML o JS malicioso, ocultar información tipo emails o números de teléfono, etc...) y escribirlo ya "limpio" en la base de datos:?

 •    Tratamiento de imágenes:? Combinando triggers de Firebase Storage con la base de datos y las Cloud Functions, podemos hacer que cada vez que un usuario suba una imagen al Storage, descargarla, reducirla de tamaño y colocarla de nuevo en Storage y escribir un registro en la base de datos. Todo con una función.??
Y muchísimas más que se disparan si lo unes a las APIs de Machine Learning que tiene Google Cloud (Vision, Video, Speech, Translate, etc..) Pero eso es tema para otro post :)

Autor:

Accede a nuestra sección de proyectos a medida en Diseño Web

Comparte este artículo en tus redes sociales