What are some of the biggest pain points that developers are experiencing when trying to deploy an application to production and what are some of the current tools that are being used to help alleviate some of these problems?
One of the biggest problems I've seen is how much incorporating secret management complicates deployments. As soon as you add that, you need some sort of encrypted management store (Vault, etc) some workflow to add new secrets, and now you need more refined access control and a lot more work in automation. Simple git push/pull deployments are gone. Default Fabric, Capistrano scripts need to be heavily rewritten and most often this means limiting who can deploy.
Oh man, where to start...<p>- Environment Consistency<p>- Secure Networking<p>- Access Control<p>- Load Balancing<p>- Failover<p>- CI/CD Setup<p>- I could keep going...<p>There's a lot of services out there help to alleviate many of these. Companies like Heroku, Codeship, Engine Yard, etc. One of the newest services to hit the scene is Nanobox (<a href="https://nanobox.io" rel="nofollow">https://nanobox.io</a>).