Refactor & relayout cloud controller, add haproxy