Better to go with a complete system (HP, Lenovo, etc... ) or build one myself?
How much time do you want to spend on this? You can save cost by building your server yourself, but you might have more important things to do with your time. The same reasoning applies to future maintenance of the server.
Where would SSD fit in here, is it a good idea to depend on SSD for a file sharing server?
I've never tried setting them up, but I doubt SSDs will provide a real performance boost, when your main bottleneck will be the network.
SSD storage is also ridiculously expensive, especially considering the high volume of data a business will generate.
RAID?
RAID makes sense if you need high availability. What should happen when a disk fail? If the company is willing to be interrupted (or continue working, but locally) for a short while, then you may cut costs by not setting up a RAID.
Generally speaking, I would definitely suggest you set up a RAID, but keep in mind that it wastes a lot of disk space.
Which version of Windows Server?
No clue. But it'd help if you mention the OS running on client machines.
What about backups, what kind of backup plan is recommended?
There's no generic answer to this question. It depends on so many things:
- The total volume of data.
- The volume of data added each day
- The importance of data: email might be super important, but throwaway code that you wrote 3 years ago and didn't make it to production can be discarded.
- Laws and regulations: I work for a bank where we are forced by law to backup certain data for a fixed amount of time
- Databases need to be backuped too! Regularly backup db dumps.
- Experiment with different compression algos to find what suits you best
Keep in mind that
tape storage is slow and expensive, but is a life saviour.
other tips and ideas
Have you considered running Unix on the server? xD
(It's not "better". I just happen to know it better)