Google fires 28 staff after protests against cloud contract with Israel