Search code examples
ruby-on-railsrubystripe-paymentsbasecamp

How can I prepare my rails app for production?


I've built a marketplace application using Rails, Devise, Heroku, and Stripe Connect.

I want to launch the application in about 30 days. I have never actually launched an app that will be available to customers and has money involved. I'm kind of hazy in regards to what I need to do from here out to make sure the application will work as intended for the customers.

I've read Basecamps Rework book which motivated me to launch sooner than trying to perfect it and have made the app as agile as possible as a result. I can't say I'm much of a programmer as I learned rails and programming in my spare time.

If anyone has any experience in managing a rails app for live production please give me tips on things you wish you knew before. Thank you!


Solution

  • From my experience, there are several things that you should do before make your app to public:

    • Make sure that you app can be deployed on production environment (mean Heroku as you mention) and work well without any issues
    • Monitor and control your production environment by using some server monitoring tools such as mornit (free), NewRelics (paid service) or a lot of tools out there. These tools can inform the admin (you) by emails or other communication channels (chat, sms) when incidents happen on your server, such as full hard disks or full memory.
      • With NewRelics, it offers you much more information about your app, such as app traffic stats, error analysis
      • You should checkout this site to know which tools are supported by Heroku
    • And final is make a plan to backup your data periodically after it go public. The backup frequency depend on your type of business, but should not let each period too long, at least monthly or daily is good. And backup data should stay in other machine than your server for safety. This action can help you recover from unforeseen disasters in the future.

    In addition, you can integrate the Google Analysis service (it's free) to your app to get some analysis information about the traffic, users that go to you site.