Classic Shared Services vs. Self-Sufficient Pods
Just because it not feasible to have all kinds of specialists embedded within cross-functional teams (self-sufficient pods) doesn't mean they have to be corralled into classic shared services. They can be shared in ways other than a “classic shared service” construct. One such alternative is illustrated here in the form of shared "roving" specialists. Adopting this configuration takes some letting-go-of-control but helps avoid local-optimum-but-global-suboptimum effects.
The choice is not binary. A specialist does not have to be either a full-time member of a self-sufficient pod OR a member of a classic shared service.
Some other options are illustrated here. The options are categorized using taxonomies you might be familiar with.
Some of the intermediate configurations between a classic shared service and a self-sufficient pod are particularly relevant for infrastructure and operations teams. They are not depicted above. Get in touch if you'd like to know more about them.
In case you are wondering why move away from shared services at all in the first place, I'd refer you to this extract from my book-interview by InfoQ