There will always be challenges to overcome when encountering something different or unknown. If some of your data or technology is proprietary, you may not legally be able to deploy to the cloud. You may need to modify and/or map your application design and architecture to follow the cloud architecture. You could experience downtime due to technical outages (loss of power, maintenance, etc), but this would also be true on-premise