Enfoque para asignar usuarios personalizados con OpenStack

Enfoque para asignar usuarios personalizados con OpenStack

Estoy intentando crear una aplicación sencilla en la que los usuarios crean sus propias instancias (vms) y les cobro según el tiempo de facturación (similar a DO). Mi aplicación utiliza OpenStack como backend para hacer todo el trabajo pesado.

La pregunta es sobre cuál es el mejor enfoque para asociar usuarios en mi aplicación con mi implementación de OpenStack.

¿Debo asignar cada usuario de mi aplicación a un usuario/proyecto en OpenStack? ¿Debo asignar todos los usuarios de mi aplicación a un único proyecto en OpenStack? ¿Cuál es la mejor manera de hacer esto considerando la necesidad de obtener información de uso de las instancias para cobrar al usuario?

Respuesta1

Dos consideraciones:

  • Hazte la pregunta:

    • ¿Sus usuarios solo necesitan acceso a su VM y a su aplicación?

      ¿Y su aplicación realizará las llamadas API relevantes para sus usuarios (como power off, por ejemplo power on, rebootVM)?
      Entonces su aplicación podría ser mucho más simple, ya que solo necesita mantener roles y controles de acceso allí.

    • ¿O permitirá que sus propios usuarios accedan directamente al panel de la API de OpenStack/Horizonte?
      Porque entonces será esencial un mayor aislamiento entre sus usuarios a nivel de OpenStack y proporcionar a cada usuario final su propio proyecto sería lo único que tendría sentido.

  • No todas las implementaciones de OpenStack ofrecen/habilitan las mismas funciones, así que primero explore lo que es posible para usted. ¿Puedes instalar funciones? ¿Tiene ceilómetro disponible o necesitará realizar su propio seguimiento del uso de recursos para permitir la facturación?

información relacionada