Linode is $5/mo. and I got a $50 credit for just being at a software conference; I also don't think that expires (which is good because I'm not planning on using that credit atm). That's 10 months of free service.
It's also pretty barebones in terms of upsold services, but apparently the customer support is pretty top-notch. I'd take a look at it.
This comment spooked me so I went back to my emails and checked what Linode said:
> The $50 credit can give you up to 10 months of hosting on our 1GB plan. You can also use the credit towards our add-on services such as backups, Block Storage, or NodeBalancers. Use the promo code today!
So they mentioned 10 months in the email, and I searched a bit further and didn't see anything about service credit expiration. You can also get service credits using referrals, coupon sites, and even blog posts:
Linode's credits don't expire once they're applied to an account. Promo codes themselves can expire, though, so you'll miss certain promotions if you don't sign up in time. Open up a Support ticket if you think credits haven't been applied or disappeared without being used up by services. (Linode employee here.)
It's also pretty barebones in terms of upsold services, but apparently the customer support is pretty top-notch. I'd take a look at it.