lib/upworthy & mount it in routes.rb. 2. Migrate models and utilities. 3. Migrate assets. 4. Migrate front-end views and controllers. 5. Migrate CMS views to Bootstrap and use Rails controllers.
JS, & images to Fastly CDN. • Turn off Rails action caching. Manually set cache headers. • Dial down Heroku dynos. Only needed for AJAX requests. (We currently use 2X dynos.)
both front-end and back-end concerns. • Traffic spikes on public site could render CMS unusable. • Codebase becomes very large. God objects starting to appear.
separate Heroku applications. 5. Switch Fastly to point at new www app. Resulted in zero downtime. 6. De-duplicate code between the two apps, creating a core gem (mostly models) to keep code DRY.
removing duplication from the apps. • Consider breaking up apps even more. For example, www can be split into a static site generator and an AJAX API service. • Apps communicate by sharing data stores. Should they communicate via RESTful APIs instead?
architecture until it really hurts. • It’s okay to take a really long time to migrate to the better technology. • Serve everything you possibly can from a CDN. • Remember: it’s just HTML, CSS, JavaScript, and JSON. • It can happen to you!