I have 3 main sites which have 45 mb into MPLS, I also have 30 remote sites that have a range of bandwidth into MPLS. Ranging from 1.5mb to 8mb. My question is can someone recommend a high level QOS design for this type of environment? My concern is, our larger sites could be over running our smaller sites as far as bandwidth is concerned.
"What type of MPLS egress QOS are we talking about?" Traffic from PE to CE, or traffic from MPLS cloud crossing your access link from MPLS cloud.
If you only had just one main site, you could keep from over running your smaller sites by using shapers, however your original post mentions 3 mains sites. Assuming each can send smaller (same) site, and also even assuming only those 3 sites send to smaller (same) site, you could divide smaller site bandwidth using 3 main site shapers but then there's likely to be unused bandwidth when not all 3 main sites are using their full allocation. This why it's best to manage congestion on PE, but you can only do so indirectly working within the MPLS provider's QoS framework.
"We current buy CBWFQ from them. But as I said our main site could over run our smaller sites." Yes it can. Also true for other cloud technologies that support asymmetrical bandwidth. Major difference is where you manage congestion.