Have you profiled, https://github.com/jlafon/ansible-profile, your Ansible executions to find out where the largest bottlenecks are? I would start there. Once you know where your process is slowest and why, you can better attack the problem You might be able to speed up the process by having a base image that incorporates some of your Ansible tasks(docker or AMI for instance), especially those don't change between projects or deploys. Or perhaps your installation and configuration tasks could use some optimizations.
For your 3 options, from a "correctness" standpoint you should stick with option 1. From a realist, get stuff out the door standpoint, you can probably make some assumptions where appropriate, but you should still exercise your full deployment process regularly to check for bugs or other problems. On Wednesday, November 2, 2016 at 11:52:54 AM UTC-4, fredsted wrote: > > Hi, > > We are using ansible to provision new servers, as well as deploy new code > on those servers. We run the same playbook when provisioning a new server > and deploying code (we just run it on all servers) > > The whole process when deploying new code takes around 10 minutes, which > my coworkers think is really *slow*. (obviously, on each node, it pulls > down code from git, installs all the dependencies every time as well as > composer, php-fpm, supervisor, virtual hosts, etc). > > So that leaves me with 3 options, I think: > > - Keep using ansible as is. We're sure all servers always are fully > provisioned when we deploy. > - Split up our ansible playbooks. No need to make sure PHP is > installed every time. > - Use another service like DeployHQ. Only use ansible for provisioning. > > What's your opinions on this? How are you using ansible in your > organisation? > -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/107db47f-774e-4cd7-a514-28b23bb654c1%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
