- Why such emphasis on being able to use multiple implementations of various bits of infrastructure (storage layers, message queues, etc)? Is it a need to have or just a nice to have? Especially with regard to Gnocchi this seems to open up complexity and perhaps more importantly slowness (of development).
AMQP was one of the first things: rabbitmq v. qpid (pushed by Red Hat) and someone else wanted zero-mqp.
That led to pluggable messaging in oslo.messaging
.
Storage driver being pluggable: initially everything used mysql via sql-a but then ceilometer came along with a messy data problem, suggesting document oriented datastore.
Unfortunately legalistic types have issues with the mongodb license (AGPL) so there must be a pluggable infrastructure that makes it possible to not used mongodb.