так а что мешает спарить 1 и 2 варианты и использовать *sql.NullInt?
Плохой метод.
Вы подтягивайте за уши предметную область к техническим особенностям языка программирования.
А как бы наоборот - ради решения проблем предметной области и существует язык программирования.
dfhusfhgsuo3, А если вы действительно хотите в этом разобраться, я бы предложил начать с Google AppEngine. Причем использовать standard environment.
Вполне себе современная архитектура, с теми же самыми 12факторами в основе своей.
Очень удобно все для разработки и отладки.
Но, в отличие от ЕС2, обладает вполне определенными жесткими требованиями, как должно выглядеть ваше приложение.
Шаг влево - шаг вправо не дает так просто сделать в сторону для неграмотного разработчика. Очень хорошо для обучения современным подходам горизонтального масштабирования.
Причем вот это ваше изначальное требование
Dedicated сервер не подходит, так как много мороки.
Это выполнено.
Там вообще не нужно ничего администрировать.
Нужно всего лишь следовать правилам, как должно выглядеть ваше приложение - а администрирование на 100% на себя берет Google.
Есть бесплатные первые несколько месяцев.
dfhusfhgsuo3, Оно не будет само, какой бы крутой хостинг вы не взяли.
Обычное приложение для этого не пригодно.
Если вы собираетесь разрабатывать приложение под действительно высокие нагрузки и собираетесь использовать специализированный облачный хостинг, то вам нужно озаботится специальной архитектурой приложения.
Для начала прочитайте вот это: https://12factor.net/ru/
Потом придумайте как у вас будет происходить синхронизация/репликация между различными экземплярами серверов.
Потом подумайте как у вас будет происходить service discovery и прочие оркестрации.