3 ms·
Automate how you set up your development environment, then automate the process of running this automation on your production servers. You can get incredibly f
by inertiatic 8y ago
Automate how you set up your development environment, then automate the process of running this automation on your production servers.
You can get incredibly fancy and automate everything and deploy tens of times a day etc. but you don't have to. You just have to pick practices that would improve your current situation, and in most cases more automation helps.
In my current job, despite us not having everything down perfectly, we've got to a point where I can tag my branch and run a script that deploys the tagged code as a separate container locally if I'm doing development.
Then once we want to deploy to production, another set of configuration files (also versioned, with the smallest diff possible from the dev config) is fed to the same script, and the service is deployed on the production server.
Then you automate running this process across your servers (are your servers your own? Are they on the cloud? Use the tools relevant to your situation).
Then, there is no need to perform manual monitoring of the logs. Set up a monitoring service to notify you of any worrying logs (warn level and up? Specific patterns? Up to you and depending on what you're logging) and feed that service your logs.
Hell, automate pinging these services so you can check whether they're in the state you expect, and make a colour coded minimal dashboard that anyone can check in a sec and find out if the everything is in the state it should be.
If the business is paranoid, then do smoke testing at the end, but you shouldn't need to.