Serverless deployment consistency

Hello, when I’m deploying… if I already have services/infrastructure created I’ve observed that most of the time serverless re-deploys (and works), but sometimes it fails. I haven’t figured out what are the conditions that cause this yet. Is there a good set of rules for understanding when serverless will succeed or fail based on current infrastructure?

Also will serverless ever semi-deploy, or will serverless guarantee to leave your cloud resources in their previous state if it fails to deploy (i.e. transactional deployments)?