Skip to content

In this repository you will find documentation and examples of alternatives to the proprietary services of cloud providers, such as AWS, GCP, AZURE, ... for Kubernetes

License

Notifications You must be signed in to change notification settings

MasterCloudApps-Projects/Serverless-Kubernetes

Repository files navigation

Serverless-Kubernetes

Master Cloud apps

Este repositorio guarda la documentación y pruebas realizadas para el TFM del "Máster Cloud Apps. Desarrollo y despliegue de aplicaciones en la nube" de la Universidad Rey Juan Carlos.

Este TFM consiste en el estudio de las alternativas en Kubernetes a los servicios Serverless que ofrecen los proveedores de cloud como AWS, Azure o GCP.

Servicios

  1. Funciones como servicio (Faas)
  2. Gestión de archivos
  3. Bases de datos
  4. Colas de mensajería y gestión de eventos
  5. Gestión de usuarios

Funciones como servicio (Faas)

AWS Azure GCP
Lambda Functions Cloud Functions

En esta sección vamos a instalar y probar varias opciones de faas basadas en Kubernetes. Para intentar sustituir las funciones de proveedor como AWS Lambda o Azure Function.

Gestión de archivos

AWS Azure GCP
s3 Blob Storage Cloud Storage

Otro servicio que ofrecen los proveedores de cloud son la gestión y almacenamiento de archivos en este caso vamos a instalar y probar minio, que implementa un api compatible con AWS S3 y que posee un operador de Kubernetes que nos permite el autoescalado.

Bases de datos

AWS Azure GCP
dynamodb Cosmos DB Cloud Spanner

Las alternativas a las bases de datos administradas por los proveedores de cloud serian los Operadores Kubernetes de bases de datos, en este trabajo vamos a instalar y probar 2 de ellos, el operador de MongoDB de Percona y el operador de PostgreSQL de Zalando.

Colas de mensajería y gestión de eventos

AWS Azure GCP
SQS Service Bus Cloud Pub/Sub
SNS Queue Storage
Event Bridge Event Grid

Hasta ahora las pruebas que hemos hecho han lanzado las funciones ante una petición http en esta sección vamos a comprobar com podemos ejecutar estas funciones por otros mecanismos. Concretamente probaremos los sistemas de colas integradas dentro de Knative y OpenFaaS y también instalaremos y probaremos Argo Events, un orquestador de eventos que nos permite ejecutar entre otras cosas funciones OpenFaaS.

Gestión de usuarios

AWS Azure GCP
cognito Active Directory B2C Cloud IAM

En esta sección vamos a instalar Keycloak para la gestión de usuarios dentro del ecosistema kubernetes, como alternativa a los sistemas de identidad y acceso de los proveedores de cloud, además vamos a implementar varios ejemplos de cómo integrarlos en las funciones OpenFaaS que hemos desarrollado anteriormente.

Aplicación de Ejemplo

Para terminar hemos desarrollado una pequeña aplicación de ejemplo donde ponemos en común alguno de los servicios que hemos probado anteriormente.

Próximos pasos

https://github.com/dcasati/kubernetes-PlantUML

About

In this repository you will find documentation and examples of alternatives to the proprietary services of cloud providers, such as AWS, GCP, AZURE, ... for Kubernetes

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published