Frankly I am not sure.
I use your notebook (but add definitions for myBlue and myBackgroundColor at the top) and the code generates syntax errors when executed on the Cloud. The syntax errors go away if I add a space (anywhere) in the affected portions of code. Clearly there is some issue with the Cloud Syntax checking.
The notebook then runs and the Manipulate is generated and works except that the button does not work in the cloud case. I think that, in the case of the Button, desktop Mathematica is being forgiving. Your code might be a bit more resistant in this aspect to use something like:
Style[Manipulate[
Column[{
Button["New Start Positions", a = 5;
doRotation[a, step, True, randomize]],
Spacer[10],
doRotation[a, step, False, randomize]}
],
{{a, 5, "n steps"}, 1, 50, 1},
{{step, 10, "step size"}, 10, 33},
{{randomize, False, "randomize"}, {False, True}},
SaveDefinitions -> True, TrackedSymbols -> All
],
Background -> myBackgroundColor]
But aside from that (which I have not yet tested on the cloud) I think you're uncovering bugs. Wolfram Cloud is designated "Beta" at this point. I suspect there's some number of bugs in it that need to be ferreted out before it's ready for prime time.