Spree Commerce hosting: Heroku or AWS?
Spree Commerce is a free, open-source ecommerce solution that allows you to build an online store or a marketplace exactly the way you want it in every respect. There is no license cost of transaction fees with Spree. Unlike Shopify, which is a Software-as-a-Service offering, Spree is free of many SaaS limitations: it’s easily customizable and scalable. But it is also self-owned and self-hosted. That means you need to download its code and deploy it to a hosting provider of your choice. You need to host it yourself. Here’s a rundown of the most common PaaS and IaaS hosting options: Heroku or AWS.
This short blog post is meant for business decision makers so we won’t delve into technical subtleties. If you are a devops engineer please forgive some simplifications. If you need a TL;DR version, then this blog post if for you.
Spree installations fall into three categories:
- demo or proof-of-concept project – just run a free Spree demo here
- MVP project – use paid Heroku hosting
- high-performance, high-volume ecommerce platform – use paid AWS hosting
Below you’ll find an oversimplified comparison of Heroku, AWS and dedicated server hosting.
Heroku hosting
Heroku is a Platform-as-a-Service (PaaS) offering which means that you are deploying your application into the cloud and that’s it! There are legions of invisible engineers making sure that it runs smoothly. It has a nice admin dashboard and even mere mortals are able to comprehend how to use it (unlike AWS services).
MVP developers and startup people love Heroku because it’s easy to use without specialist devops support and they are able to monitor resource utilization, set autoscaling parameters and even restart the infrastructure when needed. That is unthinkable with AWS.
Unsurprisingly, Heroku itself is hosted on AWS just as the large portion of the web. A few years back Heroku has been acquired by Salesforce. It can be trusted.
Here’s how you could think about Heroku services in key evaluation categories:
- Security: invisible engineers making sure that it runs smoothly
- Backup: it’s there and it works
- Performance: most startups will never leave Heroku
- Uptime: very good
- Cost of hosting: $400/mo upwards for staging and production environments
- Cost of setup & maintenance: minimal, you could probably do it yourself
Here are the recommended minimal Spree Heroku setup parameters for production installations:
Staging
- Web Dyno Standard-2X x1 – $50.00 /mo
- Worker Dyno Standard-2X x1 – $50.00 /mo
- Heroku Postgres – $50.00 /mo
- Bucketeer – $5.00 /mo
- Redis Cloud – Free
- SendGrid – Free
- Memcached Cloud – Free
Production
- Web Dyno Standard-2X x2 – $100.00 /mo
- Worker Dyno Standard-2X x1 – $50.00 /mo
- Heroku Postgres – $50.00 /mo
- Bucketeer – $5.00 /mo
- Redis Cloud – $10.00 /mo
- SendGrid – $9.95 /mo
- Memcached Cloud – $14.00 /mo
Amazon Web Services (AWS) hosting
Amazon Web Services is mostly used as a Infrastructure-as-a-Service provider (IaaS) and it powers a large chunk of the web. It is offered by Amazon and is so scalable and universal that you’ll need a specialist AWS devops engineer to set it up and then maintain it.
When it works you probably don’t realize how huge it is. When you hear about it, it’s usually because Slack or Zoom or some other apps and services you like stop working.
If your online business requires a high-performance, high-volume ecommerce platform then you have to go for AWS hosting. It’s robust and highly scalable but you have to know what you’re doing. It’s like buying stuff from IKEA: you’re getting a lot of modular components and it’s up to you to build yourself a reliable platform. If you don’t do it right, you have only yourself to blame.
Here’s how you could think about AWS services in key evaluation categories:
- Security: you need to have intimate knowledge of AWS services not to make a mistake
- Backup: AWS offers all you need but it’s up to you to assemble it IKEA-style
- Performance: at scale it is more cost-efficient than PaaS offerings and much more scalable
- Uptime: very good, unless you mis-configure it or don’t react in time
- Cost of hosting: it might cost between $2,000 and $200,000 (no kidding) a month
- Cost of setup & maintenance: substantial, you will have to hire devops people
Dedicated Server hosting
Dedicated Server hosting is a concept popular in the 90s and early 00s. You rent a physical server machine hosted somewhere in a ventilated basement (data center), configure it yourself and hope its hard-drive or power supply doesn’t break down anytime soon. If it does, an unhappy engineer needs to power it down, take it out of a rack, unscrew the lid, replace the faulty components, put the new ones in, power up and hope for minimal data loss. No kidding.
The upside of dedicated hosting is its cost. You can get a dedicated bare bones server for $20/mo.
If you’re not a devops wizard from the 90s with a physical machine fetish, you don’t even need to consider this option.
Here’s how you could think about dedicated hosting services in key evaluation categories:
- Security: unless you spend your days maintaining your pet machine, forget about it
- Backup: you could try configuring it
- Performance: the worst that could happen is you’ll need 20 more such machines
- Uptime: ready yourself to be on-call 24/7 – we could tell you stories…
- Cost of hosting: cheap as dirt
- Cost of setup & maintenance: you need to be available 24/7 to keep it alive
Hope that helps.
Disagree? Convince us otherwise!