In my experience, the best team structure depends on the organization. Certainly for smaller orgs and startups it is possible to hire a small set of engineers with the necessary abilities to handle the reliability work.
In larger, more-established organizations, scrum teams tend to gravitate toward feature development in which it becomes difficult to prioritize reliability work even if the skills are present. With very many feature development teams, it becomes difficult to hire for a programmer that has the primary skill desired and the ancillary skill of reliability and systems operations.
I'm currently of the belief that in most orgs, a team should be dedicated to this. There's the ongoing operations of a service, which I think is a shared duty, and the infrastructure engineering components necessary to abstract the infrastructure sufficiently well that it is uniform across feature-development teams and also reliable, scalable, and secure by default.
In larger, more-established organizations, scrum teams tend to gravitate toward feature development in which it becomes difficult to prioritize reliability work even if the skills are present. With very many feature development teams, it becomes difficult to hire for a programmer that has the primary skill desired and the ancillary skill of reliability and systems operations.
I'm currently of the belief that in most orgs, a team should be dedicated to this. There's the ongoing operations of a service, which I think is a shared duty, and the infrastructure engineering components necessary to abstract the infrastructure sufficiently well that it is uniform across feature-development teams and also reliable, scalable, and secure by default.
As with anything, the devil is in the details.