...

> To echo what Aaron says, in any distributed system, it is almost always a
> mistake not to design for bulk api calls. Even if you don't think they are
> needed for the initial use cases, they will almost always be needed at some
> point later. It is trivial to use a bulk call with a single value, but it
> is not
> trivial to go the other way. This topic has been discussed previously in
> the
> juju-core space. I had thought that William had (correctly) mandated the
> bulk
> calls were to be used for our distributed apis.
>
>
Just tossing in my agreement here. If you just provide single resource
endpoints, it makes it really hard to ever improve your request efficiency.
And while *current* clients may only ever pass one, if it is meant to be an
API that we will use "for a long time" we should try to keep in mind future
proofing.

I will agree that we went a little overboard internally. We knew that the
Client api should have been bulk but wasn't so we wrote all of the internal
APIs as bulk even though it isn't really able to be used. However, if we
can update Client, then at least things are consistent and useful across
the board.

Anyway, I do know that Launchpad suffered a lot having been written as
one-by-one and it made it really hard to write efficient clients that
interacted with LP's web API. It would be good to at least allow for the
possibility of people wanting to build external consumers.

John
=:->
-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev

Reply via email to