0

I'm working on a personal blog that will be used for reviewing various goods/services and as a dev journal. I'm writing this in Angularjs and Nodejs as a learning experience, but I plan on using it for a long time as well.

I have a section like a newspaper column where authenticated users can write their own mini blog and can also upload their own images. I plan on limiting all images on the blogs to 4 files (max) at 1MB (max) each.

I've seen a lot of angular file upload plugins, which is nice, but my primary concern is whether I should serve the images through a cdn now or to just store everything (the site, database, images, etc) on a single VPS instance. Digital Ocean gives 2 TB transfer (incoming + outgoing combined), and disk storage is pretty cheap.

I guess I'm not sure when to optimize bandwidth costs and server loads? If I do it now, there's an extra upfront cost in dev time and monetary costs, but in the long run things may be easier to manage. If instead I deploy everything on one instance and then migrate the site to a CDN when there's a consistent traffic increase, this may be cheaper upfront, but migrating the database may be a huge pain/testing nightmare? I don't expect much traffic. Maybe 100k-200k daily views at best after a few years(optimistically speaking).

1
  • 3
    Do the math. You'd need 200k views per month at a weight of 10MB per view to use up all your traffic. Unless your site is abused as a malware CDN (or unless you put up really stellar content) you're not going to get that much traffic – and you'll likely rewrite your blog a couple of times anyway.
    – amon
    Jan 28, 2015 at 18:32

1 Answer 1

1

I'd follow the YAGNI approach for this (You Aint Gonna Need It). If you don't need a CDN right now, keep it all on your server. There's no need to carry extra expense and complication for something you don't even know you'll need for sure. Just be sure to code the site and set up the database with the notion that you may do a migration someday in the future

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.