In my experience, Ansible is fantastic for provisioning a machine from bare Linux VM to running service.
OTOH it's quite slow when used for deployments. There's no way you would be getting 5 second deployments with it.
My favorite middle ground between shell scripts and Ansible is Fabric (https://www.fabfile.org/).