Either you are switching hosts or adding a new network layer like an advanced firewall you will be required to make some changes to the DNS records.  To make sure there is little to no downtime and the transfer is smooth you should first prepare.

Prepare access

Might be a silly one but make sure you have sufficient access to DNS records and all platforms involved (for example, Godaddy to Vultr).

Have a plan

Prepare the record changes and double check that everything is thought out. This includes gathering appropriate values for A records, MX records, PTR records, etc.. If you are sending out emails make sure to think about things like SPF records and mail software configuration. Otherwise your mail could end up in spam. We have an article about this - https://techflarestudio.com/emails-in-spam/.

Lower the TTL

It is important to not rush this and lower the TTL before switching. TTL (Time to live) determines how long the DNS record will be stored (cached) in the nameserver. If you set the TTL to a low value (for example 30 seconds) then the nameservers will know to look for the updated value. This is essential when trying to avoid downtime. Sometimes the DNS record will have hard coded values for TTL - choose the minimal value.

NS records

If you are switching NS records keep in mind that these are cached for a longer time (usually 48h). Nothing else you can do here but keep in mind that you might experience some issues during this time.

Success

After everything has been switched and you have confirmed it is working you should switch the TTL back to a longer period of time. It is important to do so because otherwise the DNS servers will be overwhelmed with lookup requests. Lookup requests are basically servers trying to locate the resource (your website). So by setting the TTL you will limit the frequency of how often the servers expect your resource to change.

TIP:

You can use this tool https://dnschecker.org/ to see how the DNS is updating in different regions.

Additional tip:

To enforce the DNS changes locally you can update your DNS nameserver. This way you can check if google has updated the DNS records. For Ubuntu change the /etc/resolv.conf. Change from 127.0.1.1 to 8.8.8.8 (google nameservers). Keep in mind this change will be overwritten.

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
#nameserver 127.0.1.1
nameserver 8.8.8.8