I would, if I were really paranoid:
Get domain. (eg. mybusiness.com, costs $12 a year if you do it with AWS for example)
Get router like PfSense (the domain name should be used by the router, eg. router name: myrouter, domain: mybusiness.com)
Create local DNS, NTP and transparent proxy.
Wifi with client isolation set to true
Setup servers to use static IP and each server on its own VLAN
Setup static allocation in router
Each server has its own "interface" on the router (which points to the VLAN) to allow fine grained control of access to said server
For each service:
Give the static allocation a good name (eg. myservice.mybusiness.com).
Force SSL for every static allocation (startssl.com allow you to get free SSL certs).
Force safe ciphers on SSL:
https://wiki.mozilla.org/Security/Server_Side_TLS
For file shares:
Automated backups/snapshots that cannot be deleted by anyone (except perhaps with certificate authentication & authorization)
Per user permissions on shares
Email:
Since you own the domain, use either Gmail for work or
mailgun in conjunction with Gmail.
Gmail already solved the bad email problem, so any incoming mail can be filtered by Gmail.
May as well leverage that.
Outgoing mail can be done directly with Mailgun.
Why would you make DNS a distributed problem in your network?
Point everything to the same local DNS server and have that point at OpenDNS if you like (which break some SA ISP I might add)
But pointing every PC to a DNS server outside of your control is a mistake IMO.