How do you update and maintain your web applications after deployment?
Jayesh Gohel
4 replies
Replies
Jam Straw@jamstraw
- Draft a plan for deployment.
- Draw an infrastructure, data flow, and dependency diagram.
Make use of test and staging environments. Make sure there aren't any significant differences between these settings and your production setup. Unexpected failures and deployment problems arise from changes in the environment.
Make use of logical branching techniques and source control. Make sure you have a mechanism to label releases according to environments or employ a branching strategy such as GitFlow to monitor the differences between development and production releases and to quickly deploy hotfixes to users.
- Make restoration points and backups for your databases and systems. Git allows for the restoration of code that can be redeployed.
- Use logging and/or technologies like as Azure App Insights to keep an eye on your application.
Share
We use a CI/CD pipeline to automatically deploy updates to our web app whenever code is pushed to the main branch. The pipeline runs unit tests, builds the app, and deploys it to the staging environment first. If all looks good there, we manually promote the changes to production. For maintenance, we have monitoring and alerts set up to notify us of any errors or performance issues. We also do periodic security scans and dependency updates to keep things patched and up-to-date.
Launching soon!
After launch, web apps need constant care. We continuously test the system to ensure smooth updates. New features and bug fixes are bundled into fresh versions. We deploy these updates strategically (often in stages) to minimize downtime and rollback easily if needed. Performance is constantly monitored and optimizations are done accordingly and issues are tackled promptly to keep the app running optimally.
We use a combo of GitHub Actions for CI/CD and Datadog for monitoring. The Actions handle automated testing and deployment whenever we push changes, and Datadog alerts us if there are any performance issues, errors spiking, etc. Also experimenting with some AI-powered tools to help optimize images, CSS, etc during the build process to keep things lean and fast. Curious what others are using!