4 ms·
PHP front end, Redis for caching, proprietary third-party CMS for content/data entry and ETL, Cloudflare for CDN, home-grown user API written in Node.js with a
by bovermyer 4y ago
PHP front end, Redis for caching, proprietary third-party CMS for content/data entry and ETL, Cloudflare for CDN, home-grown user API written in Node.js with a MongoDB datastore. Mobile apps in their respective native languages. The user API and front end were deployed separately as EC2 instances in AWS auto-scaling groups. New Relic and Cloudwatch for monitoring.
Roughly 100 million page hits per month on the web app. Ran smooth as silk.
- 0xbkt 4y ago> PHP front end Do you mean that you are fetching data from an internal API and sending server-rendered HTML response to the browser? I always naively thought GitHub worked this way. Build a GraphQL/REST API that exposes all of your system's internals, query/mutate through it and send an HTML response in the "frontend" (Ruby on Rails etc.). Frontend, but in terms of an application server that in turn accesses everything through an internal API.
- bovermyer 4y agoFetching and collating data from multiple other APIs, then creating server-rendered HTML responses to the browser. Most of the Javascript was not for interaction, but for serving ads, really.
- blueslurpee 4y agoInterestingly enough, assuming you use React this is how I see the role of something like Remix[0], which serves as a "rendering layer" that aggregates application data from different API's/stores and then sends a cachable HTML representation to the client which is thereafter hydrated. It's not quite a backend and it's not quite a frontend, but it sort of sits in the middle and (hopefully) helps you achieve lower latency. I haven't used it myself but I think it's a promising idea and based on your post I gather a similar concept worked very well for you. 0: https://remix.run/ https://remix.run/
- Dracophoenix 4y agoWhat CMSs did you find to be the most effective? How did they compare with open-source ones (Drupal et al)? Do you find serverless CMSs to be more useful than traditional ones or vice versa?