Regarding services that are defined in both SysV and upstart, generally if you restart it through SysV you'll see something like this:
al@al-mythtv:~$ sudo /etc/init.d/mysql restart
[sudo] password for al:
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql restart
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop mysql ; start mysql. The restart(8) utility is also available.
mysql stop/waiting
mysql start/running, process 29846
What I take this to mean is that Upstart is preferred for these services, and the SysV implementation is just a wrapper.
Also, I think you have the meaning of the directories backwards. /etc/init is upstart configuration, /etc/init.d is the SysV compatibility, but it is just symlinks to upstart for these type of services.
According to the cloud-init docs the way to disable it is:
sudo touch /etc/cloud/cloud-init.disabled
And/or set cloud-init=disabled
on the kernel command line if it's enabled that way.
Best Answer
Ubuntu 14.04 only uses Upstart. Ubuntu 15.04 onwards use systemd, but on 15.04 you can switch to Upstart. Both Upstart and systemd support sysv init scripts for backward compatibility.
The Ubuntu Wiki article on Systemd for Upstart users gives this command for identifying the current init system:
This should always return
upstart
on 14.04 or 12.04 (the currently supported versions of Ubuntu not using systemd).