*minimum steps to build up tinydns as a public name server on Google Cloud Platform Free Tier.

for simplicity:
$ ssh-keygen -t rsa -b 4096 -C "[username]@[hostname].[domain]"

0000. sign up to GCP with an account on Google. 
	https://cloud.google.com/free/

0001. upload .ssh/id_rsa.pub as a project-wide SSH key as you like. 
	https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys#project-wide

0010. quick start a debian instance with a [hostname] on f1-micro compute engine in an us-region. 
	https://console.cloud.google.com/compute

0011. make its [internal] and [external]_IPs static.
	https://cloud.google.com/compute/docs/ip-addresses/reserve-static-internal-ip-address
	https://cloud.google.com/compute/docs/ip-addresses/reserve-static-external-ip-address

0100. enable public DNS PTR record with a [hostname].[domain]. 
	https://cloud.google.com/compute/docs/instances/create-ptr-record

0101. allow ingress tcp:53; udp:53 from source-ranges 0.0.0.0/0 on firewall-rules. 
	https://cloud.google.com/vpc/docs/using-firewalls#creating_firewall_rules

0110. $ cd; ssh -i .ssh/id_rsa [username]@[external]_IP

0111. $ sudo -s; apt-get install csh wget dnsutils build-essential

1000. # wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz http://cr.yp.to/djbdns/djbdns-1.05.tar.gz

1001. # find ./ -type f -name "*.tar.gz" -exec tar zxf {} \; 

1010. # find ./ -type f -name "error.h" | xargs -t -I{} sed -i.backup 's/extern int errno;/#include <errno.h>/g' {} 

1011. # cd admin/daemontools-0.76; package/install; cd; cd ucspi-tcp-0.88; make && make setup check

1100. # cd; cd djbdns-1.05; echo gcc -O2 -include /usr/include/errno.h > conf-cc; make && make setup check

1101. # echo -e "tinydns\ndnslog" | xargs -t -I{} useradd --no-create-home -s /bin/false {}

1110. # tinydns-conf tinydns dnslog /etc/tinydns [internal]_IP; ln -s /etc/tinydns /service/tinydns

1111- # find /etc -type f -name "rc.local" -exec chmod +x {} + -exec sed -i.backup '1i#!/bin/sh' {} \;&& systemctl start rc.local 

or 
concisely
1111+ # svscanboot &

--
appendix.
https://cr.yp.to/djbdns/
https://wiki.debian.org/systemd/	
happy hacking ♥2018 rootless.org collective.