I struggled with this as well because basically the documentation is a bit fuzzy on what is what and on the overall architecture.
All you need to be an anchor is to use the public horizon endpoint + tools like the API explorer. You don't need any software running on your own servers other than a tiny stellar.toml file that defines your token. This can live on your website.
For reliability/scaling reasons you can choose to run your own horizon servers. And you can consider running a validator as well. This is optional but recommended. It's also super tedious because it takes a long time to sync nodes. So don't do this until you have to. I'm still looking for good SAAS options for this.
The bridge server, federation server, etc. are optional components that only make sense if what you are doing aligns well with their implementation (using go + posgres). I would argue that for the vast majority this is probably not the case and most enterprise architects would be very reluctant to e.g. bolt on a third party service straight on their DB layer with their users. I tend to look at these as demo implementations of protocols for compliance and federation. It doesn't make much sense to bolt this onto existing systems as it is probably a poor architectural fix.
So my recommendation is to look at the http rest protocols implemented by these servers and look at implementing these in your own server on a need to have basis. The good news is that these APIs are super simple. When I realized this after spending way too much time looking at the documentation, implementing this took only few hours.
So, if you want federated user accounts for your users, you will need simple federation endpoint in your API. If you need the compliance API (e.g. because one of your partners requires this) implement that as well. Unless you know you need this and why, you probably don't.
Then you might also need to interact with other anchors. For examples, if you want to send tokens to a federated account for some other anchor, you need to lookup their stellar endpoint, use their advertised federation API + compliance API to look up the stellar address + memo, and then do the transaction. This too is super simple to implement yourself.
Compliance/KYC is mostly only needed when you have some kind of partnership with another anchor or to make sure a transaction you are sending is going to be acceptable on the other side before you send it and lose the tokens.
All this stuff is optional if all you want to do is issue a coin and ensure users can trade it.