Hindsight is a wonderful thing, but you have to say it was a very risky way to set the team up. Gotodelli called it exactly, playing two strikers (Dzeko and Aguero) who were not really going to drop back and slot into midfield (Dzeko just doesnt really do this, and while Aguero might he wasnt fully fit) gave the midfield no protection from the front. It might have been better to go for a single physical striker (either Dzeko or Negredo - Tevez, had he not moved, might have been good) and play Jovetic (or a fully fit Silva) behind him. Jovetic could have added a bit more numeric protection to Fernandinho and Toure, both of whom were swamped in midfield, often they would get the ball and there just wouldnt be a pass for them to play. The flanks were very attack orientated too, neither Navas nor Nasri are noted for putting in great defensive shifts, and Richards is the sort of full back who bombs forward. I'm guessing Zabaleta was injured or suspended, otherwise he would have been in the team. But even then Pellegrini might have been better using someone like Kolarov as a wide midfielder (almost as another full back in front of the existing one).
As people say, Bayern are a great team, but sloppyness from Hart really cost City. Letting in a goal like that in the first 10 mins changes the game totally, City have to attack and this just opens up more space for Bayern. City's best hope would have been to keep it tight for 60-70 mins, wait for Bayern to tire at the end of the game - as can happen with Guardiola's pressing teams - and hope to capitalise. They couldn't afford to let the game run away from them, but with Hart playing so badly and the formation they played City were always odds on to buckle in the first hour or so.