Depending on the way you have your CDN setup, it is likely you will need a separate domain to store the static files as the origin that the CDN caches off of. Whether or not to use a CDN depends on the performance requirements of your applications, rather than the network architecture.
If you are serving a very large amount of content that will require you to purchase a significant amount of additional bandwidth, or if you have stringent response time requirements and want to locate the files near to the end user, the investment in a CDN is probably a wise choice. Essentially, a CDN is simply a caching layer in front of your own files a la Varnish, but geographically distributed.
The most frequent arrangement that you see it used is to setup a domain (origin.example.com) that serves your static files. However, when you source the files, instead of pointing at the origin you point at the domain that you've setup to point the CDN at (static.example.com). The CDN will automatically keep cached versions of your files in a certain number of teirs and reduce the load on your server, called the "origin server". Many CDNs only use a single layer of caching, called the edge layer, but some also include a second teir called the midteir. In that case, you might have n edge servers spread across the globe which query regional master servers called the midteir servers. Those then will refresh against the origin, to further reduce the number of hits that the origin server gets.