I don’t run a typical ghost setup, but I use the $10 plan (2GB RAM, 1 core, 30 GB SSD). In terms of CDN, yes I do - I have cloudflare in front of everything, followed by nginx (not caching or anything) proxying ghost-specific requests to varnish, which in turn proxies requests to the proper ghost instance.
I do know of a friend who uses the $5/mo plan (1GB, 1 core, 20 GB SSD) and doesn’t even use half the ram total (and space is ~5gb / 20 gb limit). In terms of CDN, he doesn’t use anything - just the vanilla ghost install.
I have a more complicated setup mostly so I can get a better understanding of each of the components (including maintaining their security), with the [relatively] minor performance improvements being an added bonus - I haven’t surpassed 10% CPU ever (okay, not ever… there was this one time I wrote a leaky node script ), and based on recent load testing I’ve performed, I’m nowhere near its limits!
What this boils down to is you should probably be okay using the $5 / month plan (feel free to DM me for a linode referral code if you want), and if you want to use cloudflare, it won’t hurt (just make sure you heed warnings in the docs!)