Desarrollo IT con cimientos en la Nube

El Cloud Computing ofrece una nueva manera de entender el desarrollo de aplicaciones, como veíamos hace poco cuando hablábamos del modelo de trabajo DevOps y su estrecha relación con el Cloud. Ahora, nos centraremos en las  posibilidades y ventajas que nos brinda el desarrollo IT en la Nube, que nos proporciona máxima eficiencia y flexibilidad.

El modelo Cloud Computing ofrece infraestructura IT que se puede ofertar como servicio (IaaS, Infrastructure as a Service), plataformas (PaaS, Platform as a Service), software como servicio (SaaS, Software as a Service) o backend como servicio (BaaS Backend as a Service). Estas y otras variantes se engloban bajo el término XaaS (cualquier cosa as a Service).

Estas plataformas suponen una opción perfecta de la que desarrolladores y startups pueden valerse para acortar los tiempos de trabajo, pues a través de ellas acceden de manera inmediata a una selección de soluciones que ya han sido desarrollados previamente, por lo que se ahorran mucho tiempo y dinero.

BaaS: Backend as a Service

El Backend as a Service nos permite disponer de manera prácticamente automática de un servicio tan importante como el backend. Esta solución está pensada para sustituir el backend tradicional por un servicio preparado, con lo que nos podemos ahorrar muchas de las tareas de programación del lado del servidor.

El paradigma de estas soluciones se basa en sustituir la programación por la configuración. Es decir, en lugar de escribir líneas de código para resolver las necesidades de backend, optamos por configurar el servicio en la Nube para que opere conforme a nuestras necesidades.

  • Pasamos de usar servidores dedicados o privados a usar Servidores Cloud, como los de Cloudbuilder Next.
  • Usamos los lenguajes o sublenguajes que nos aportan estos proveedores.
  • Usamos las bbdd que nos ofrecen como servicio en la Nube.

Estos sistemas ofrecen soluciones conocidas con el nombre de “out of the box”, que suelen ser paquetes sencillos, listos para usar y que  resuelven algunas de las tareas más recurrentes en lo que al backend se refiere. Algunas de estas tareas son:

  • Autenticación, con login tradicional o login social
  • Almacenamiento de datos
  • Compartir en tiempo real
  • Envío de correo
  • Notificaciones push

Gracias a los sistemas BaaS, obtenemos ventajas tales como la rapidez de aprovisionamiento (no necesitamos contratar servidores, instalar software, bases de datos, configurar máquinas…), rapidez de desarrollo (nos ahorramos la tarea de programar muchos de los sistemas que se necesitan para una aplicación web), seguridad (ofrecen soluciones para autenticar usuarios y herramientas para que éstos tengan su información privada), y eliminan la necesidad de programar todas las capas (por lo que podemos centrarnos en otras partes del desarrollo).

El servicio de backend conversa hacia fuera típicamente gracias a API REST, un modelo que permite tener un backend independiente del frontal. Otra de la potencia de estas soluciones se basa en el soporte a cualquier tipo de desarrollo focalizado en plataformas web (javascript), iOS, Android, Windows y REST (acceso desde otros backends).  Algunos ejemplos de servicios populares son Firebase, Parse, Backendless o Backand.

Una de las posibilidades que podemos encontrar en estos servicios es la de compartir datos desde una plataforma a otra, haciendo que los datos que escribes en el backend se empujen hacia cualquier cliente conectado en la aplicación.

Otros servicios

Otra de las tendencias es usar servicios de otras empresas o proveedores para poder realizar aplicaciones basadas en servicios existentes. Algunos de los servicios que ya puedes encontrar en la Nube y sobre los que puedes apoyarte a la hora de desarrollar una nueva aplicación son éstos.

  • Almacenamiento
  • Audio / video
  • Mailing
  • Geolocalización
  • Seguridad
  • Compartir documentos, editarlos en la nube
  • Redes sociales

Utilizar estos servicios nos ayuda a disminuir la complejidad de nuestras aplicaciones, aumentar la rapidez y evitar el uso de I+D de áreas donde proveedores ya tienen soluciones que sabes que funcionan.

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *