Your lifetime professional engineering should've taught you that devices gets their address from DHCP, and reports back to the DNS server what it got and DNS should be to go to usage for contacting devices across the network.
My lifetime of professional engineering tells me that having your network all go offline when something bad happens to the DHCP server is a recipe for disaster. Seen it happen. Been paid to fix it.
You can use DHCP to bootstrap stuff. For example, our ESXi installer that runs in a bunch of places bootstraps via DHCP/PXE, gets a mapping for the MAC which identifies the IP, and from there everything is driven via the ESXi jumpstart and scripting. That brings up all the stateful configs and does a persistent installation. DHCP is nice for that kind of bootstrap. But I'd never be an idiot and let an ESXi host run DHCP in production. When a lease goes away or changes, you'd lose all your connectivity and storage. Reeks of amateur hour.
When you do infrastructure at scale, you need to plan for failures, and what happens when failures occur.
When you get arrogant about it, like Facebook did late last year, you run into a trainwreck of unintended consequences.
The tech that runs (and sometimes breaks) the internet.
www.theverge.com
Simple BGP edit caused a network-wide failure. They couldn't get into their remote gear because of a lack of planning for such an eventuality, and then it turned out that they couldn't even get into their buildings, because the access controllers were network-based and were nonfunctional.
It takes 10x time when you need to do maintenance on the network
Good engineering isn't about planning how to make things EASY. It takes time to do things right. If it's important, people want it done right.
when you want to change for example the gateway or the DNS servers.
I can't help it if you're a crappy network planner. We're going nearly 30 years here at AS14536 on the same DNS server IP's, so I know it's possible to plan correctly.
Servers and infrastructure devices should definitely NOT have static assigned addresses.
That's extremely poor network design.
I pity you the day you need to do a cold start and run into ordering dependency failures.
My measure of success is when the equipment can do a cold start and instantiate itself correctly without human intervention. But then, I'm designing for and often managing gear that's at least hundreds, often thousands of miles away.
It might be different if I was running a thousand ESXi hosts all under the same roof and on a single management network with a NOC staff on hand. But really only the big hosting operations are like that these days.
Either way, the comment stands. You don't want to use DHCP for NAS because you're creating a dependency that will shatter your network if something bad happens to the DHCP server.