I'm sorry. I don't understand the benefit here exactly. (If this sounds too naive, just ignore it.)
Wikipedia says that Cloudfare is a "reverse proxy". That seems to mean that it sits between the present CF server and the users, and makes all the requests to the server itself, then returns the data to the users. So, the CF server is still there, and the requests from users are still generating web traffic, so there will still be costs for that. Is the cost minimized because the Cloudfare proxy is the only "user" the CF server sees, so the web traffic is somehow magically reduced because the data path is simpler (I am not sure how that works, because as I understand it there is never a single "data path" on the internet--the path is decided on the fly based on traffic on the routing nodes)? Thanks in advance.
The important thing to note is, there are way more number of requests the users make when they browse a website than a few CDN servers can generate in the same time period.
For instance, let's assume we have a particular image on the front page of CF. It will be read from the CF's server everytime a user opens the site in a browser. And if we have 100 users visiting CF in a minute, it means the image will be requested at least 100 times a minute, incurring traffic cost each time.
But if we put a CDN in between them, the CDN server will request the image from the CF's server when it's first requested by any user, which will incur traffic cost as you said. However, the subsequent requests from any other user to the CDN won't reach the CF's server until the server cache expires. It means, it will incur zero traffic cost after the initial request is made, even there are 100 users requesting the same image as before.
As such, it can sometimes do wonders in solving a traffic problem, especially when the CDN in question offers a free plan like Cloudflare does. Moreover, there is one more benefit of using a CDN in this way.
Without a CDN, the response time and speed of loading resources from a website depends on where the server is located. For instance, if you live in Europe while the server resides in San Francisco, it's likely that the site in question would load slower, compared with the speed experienced by those who live in California.
But a CDN usually has server farms in key locations around the world, so it automatically chooses the closest location to you when it serves requested resources. So, it will also make those images and other resources delegated to it load faster than before.
However, I advise you not to get too excited too soon because there are a few factors we should consider which may also
potentially affect the effectiveness of the solution in this case.
First off, the first step I suggested in the above instruction only applies to the thumbnails and avatars, not the attachments themselves. As such, if you click a thumbnail to load the full-sized image, it will still get requested from the origin as before, thus incurring the same amount of traffic.
It is because a CDN doesn't take account of security by default, so it takes additional steps to apply it over protected resources (meaning you need to login in to see them) like CF attachments. That was why I also included a more aggressive measure which can be considered in case the first step may prove insufficient.
That being said, offloading just thumbnails and avatars will at least reduce the traffic at no additional cost. In a site like this, it's typically the case that there are many more users who browse a thread (thus, requesting thumbnails and avatars) than those who opens an attachment. So, it can still be quite effective even a CDN only covers the former cases.
There is another factor which may affect the effectiveness of the measure, which is the ratio of returning users to those who browse the page for the first time. It is because, a browser also makes a local cache for resources it opens once. As such, if all users open the same page once and reload it, it would make little difference to the traffic whether or not it is served via a CDN.
As such, I assume the impact would be marginal for avatars I suppose we have many regular members whose browser likely contain a cache for avatars from other regular members. However, they will still get the benefit when they browse a thread containing thumbnails unless they reload the same post over and over rather than choosing those they haven't read yet.
It was because of such possibilities that I was reluctant to make any bold claim about the expected performance gain of introducing a CDN. I may be able to make a better prediction if I can see the log or traffic report of the server. But without such an aid, I'd like to ask to keep your expectations in check, in case that it wouldn't solve the traffic problem once and for all.
The bottom line is, it is a relatively simple measure which wouldn't cost any additional money to try that will definitely reduce some amount of the traffic our server currrently sees. The actual amount may range from marginal to very significant, but I suppose it's something worth a try regardless.
Hope this could serve to clarify the suggestion I made about migrating to a CDN to deal with the traffic problem.