Production Checklist - What you'll need before going to production
Congratulations on reaching the final stage of your application development! Before you deploy your application to production, there are a few important steps you should take to ensure that your application runs smoothly and your users have the best experience possible. We have made this helpful checklist to help you make sure you have all the things in order before launching your application.
Testing
The first step is to make sure that you've thoroughly tested your application. Be sure to test all the features and scenarios that your users might encounter. It's also a good idea to have someone else test your application to get a fresh perspective. You might be surprised how often we tend to overlook UX issues because we are
Performance
Make sure your application meets your performance requirements. Test its performance under different loads to ensure that it's stable and can handle high traffic.
Security
Security is an important aspect of any production application. Make sure that your application is secure and that you've taken measures to protect sensitive data.
- Verify that all third-party dependencies are secure and up to date. Any outdated dependency can contain potential security vulnerabilities and can be a surface for attacks.
- Use secure connections for communication. Patr will automatically setup SSL certificates for all your exposed ports to make sure that your application data is always transmitted in an encrypted fashion.
- Implement access controls and authentication mechanisms. Make sure all requests are authenticated and authorized before the data is processed.
- Validate and sanitize all user input. Make sure any data that is sent by the user is validated and sanitized before processing them.
Scalability
Ensure that your application is scalable to handle future growth. In case your application get a lot of traffic suddenly, Patr will automatically scale your Deployment horizontally and makes sure that your application is available to your users. However, make sure that your horizontal scale has a high maximum, and that your application is stateless to handle the scale of traffic you might be expecting.
Monitoring
Make sure that your application is properly monitored so that you can quickly detect and address any issues that arise.
- Make sure you monitor the logs of your Deployment on Patr to collect and analyze data.
- Monitor system metrics such as CPU, memory, and disk usage.
- If you have a monitoring tool like Grafana, setup alerts to know when something goes wrong.
You can find details of the metrics and logs by clicking on the Manage Deployment button on your Deployment Dashboard, and navigating to the Logs and and Metrics tab.
Disaster Recovery
Prepare for the worst-case scenario by having a disaster recovery plan in place. This plan should outline the steps to take in case of a major outage or data loss.
Deployment
Deploy your application to production with a staging Deployment and test your application with that first. Make sure that you've thoroughly tested your Deployment and that you have an earlier version of your Deployment to rollback to in case of issues. In case you want to revert to an earlier version of your Deployment, you can navigate to the Image History tab of your Deployment and revert to an earlier version. You can read up more on reverting your infrastructure in our reverting infrastructure guide.
By following this production checklist, you can ensure that your application is ready for the real world and that your users have the best experience possible. Good luck!
Further Reading
Zero Downtime Deployments
Persisting data across restarts
Reverting your Infrastructure