This looks promising -- moreso than Federations did. I do have a couple questions.
Looking through the documentation, I might easily be missing it but I don't see anything relating to schema changes. How does that work? E.g. we use SSDT to manage our schemas and generate update scripts. In non-production environments we even publish directly from SSDT. Would we have to manually get a script and execute it against each shardlet? Ideally the whole set could be managed as one entity, with schema changes applied across the board.
Similar concerns exist for reference data, or any shared tables. When that data changes, do we have to synchronize it across all shardlets? A far better solution would be to allow queries to span databases. This would both enable more complex fan-out scenarios (see Jeff's post above), but also would allow queries to join sharded tables to reference tables, with the reference tables being stored in a common, shared database.