The other day I converted my beta account in Reclaim Cloud to a paid account to get a sense of costs. The idea of paying for resources on a per-app basis is a new way of approaching how I manage my web presence, so be patient while I try and make sense of this. I’ve already written at length about my moving this blog around as well as the associated costs:
So, as June comes to a close I have moved this blog around a bunch over the last 6 months: from cPanel-based shared hosting to Digital Ocean to Kinsta back to Digital Ocean and now to Reclaim Cloud. Digital Ocean was costing about $25 per month for a 4 GB server and Spaces instance, which is quite reasonable. Kinsta would have been $80 a month for container-based WordPress hosting, which was a bit rich for my blood. Running bavatuesdays on the Reclaim Cloud will cost roughly the same as Digital Ocean for a server that can scale up to 4 GB (although in practice it is only using 1-2 GBs of resource at most). And while there is no possible way we can pretend to compete with Digital Ocean on server costs, if we are able to keep pricing within the same ballpark that would be amazing!
So, now that I have a paid Reclaim Cloud account I can get a clearer sense of monthly costs, so here is a look at this WordPress blog running in a one-click install LEMP environment:
As the above breakdown shows, my costs for a month of hosting for bavatuesdays will be $29.90 for resources,* which is very much in the same ballpark as Digital Ocean. Even better, it is far cheaper than Kinsta for hosting this blog. But at the end of the day this is kind of a moot point because most folks are going to be better off hosting their WordPress sites on shared hosting, its always on and a fixed annual price between $30-$100.
On the other hand, the apps that you can’t run in cPanel-based shared hosting, or that you need to spin up and down as you need them, that will make more sense in the Cloud. For example, Etherpad, Discourse, and Jitsi Meet are just a few.
The Etherpad instance I’m running all the time costs me $5.70 per month, although arguably that need not run all the time depending on usage which would drive that monthly cost down, while on the other hand it could be more expensive if it gets heavy usage regularly.
There is also the Ubuntu VPS I’m running ds106.club on which is costing me $5.80 per month ($2.80 for the cloudlet and $3 for the public IP address). This was cool because to run the same environment on Digital Ocean cost me $5, so very much in the ballpark once again.
And then there’s the mighty ds106.us, which is using about 5 cloudlets and is half the cost of bavatuesdays for the same WordPress environment. The only difference is the reserved cloudlets number is 5, as opposed to 12, but like all the environments it has the ability to scale on a dime should it be necessary. So, $16 to run ds106.us per month: a deal at any price really!
But chances are I’m thinking about this all wrong. When chatting with Bryan Mathers yesterday, which is always a treat, he gently suggested as much. Like Anne-Marie Scott’s idea of pop-up edtech, Reclaim Cloud is more about allowing folks to quickly spin up and down applications they need at the moment.
Great conversation between @tanbob and @ammienoot about ephemerality in EdTech. Love this phrase "pop-up edtech", which nicely describes many use cases for the edtech in use by @openetc https://t.co/5nhyGjUJ21
— Clint Lalonde (he/him) (@edtechfactotum) May 7, 2019
Here is Tannis Morgan‘s leading question from that conversation:
The other day we were chatting about open ed tech infrastructures and you mentioned something that caught my attention… you called it Pop up tech. My head went to the concept of pop up shops, physical spaces that are occupied briefly by a brand and their products that may exist online the rest of the time, and I’m curious if you can say a bit more about what pop up tech is?
Anne-Marie gives a far more thoughtful answer than I could, but she also pushes on the idea of ephemerality, which is exactly where Reclaim Cloud could shine, much like the work Anne-Marie and Tannis are already doing with OpenETC. So, to my point, a video conferencing tool like Jitsi Meet could be spun up and down as needed costing a fraction of the $17 we currently pay Zoom, not to mention all the other benefits of investing in open source, self-hosted infrastructure to avoid “cop shit edtech.”
Or, as Stephen Downes suggested previously on this blog, you could use an app to run a nightly harvest using cron jobs that spin up and down as needed. So, I think I’m finally beginning to grok the logic of spinning up and down an environment for a course that Tony Hirst has been talking about for ages with Jupyter Notebooks. What’s more, we have the technology for it now!
So, all this to say it has taken me some time to re-factor my thinking around the idea of costs when it comes to Reclaim Cloud. The idea of doing everything online for “free” has become a trap we are all too familiar with, we have known for quite a while that data is the new oil—but that fact has not created within us any sense of obligation. What’s more, if hosting your own becomes a second mortgage, that’s not a viable alternative. But the key for me is that the Cloud is not a replacement for always-on shared hosting, but a complement to run the popup edtech tools as well as experiment with the next generation of self-hosted open source applications that get us closer to some vision of the Next Generation Digital learning Environment that is not simply a convenient repository for Hoovering student data via the Learning Management Systems and their third-party vendor colleagues. We know how that song goes, don’t we? So why do we continue to dance to their tune? I can just hear the chorus now: “Do no evil,
The discount is based on how many cloudlets you reserve—in this instance I reserved 12 cloudlets given that is what it regularly uses.
I’ve had my blog on there for 2 months now and a few weeks ago shifted into the billing group in advance to get a sense of costs better and I had similar realizations. Initially I looked at the 11 cloudlets my blog uses (roughly $1/day) as perhaps expensive and started looking at ways I might get that number down. Do I move MySQL into the same container as Node.js? Are there optimizations I could do to MySQL to get it down lower? Could I go without a public IP address? But then I started comparing minimum recommended requirements for a Ghost blog and other server providers and realized I’m at least $20/mo in by the time I cover the recommendations, and then I still have to install and manage a server myself! I think part of moving to cloud-based projects is getting a true understanding of the real resource costs for various software (a conversation I think developers can take a more active role in as well) so I appreciate this post.
Yeah, that is a really good point. When I ran this blog through Digital Ocean I did set it up from scratch, which was definitely overhead. I probably could have used their one-click images similar to Reclaim Cloud, but I wanted the experience, so that was on me. But the labor involve is not trivial.
Another issue in shared hosting is that the many pay for the resources of the few. The whole thing relies on most folks not using much for that model to remain affordable, which by and large works. And running apps in cPanel like Ghost and the like that weren’t necessarily designed for that environment put extra strain on that model.
I think the idea of pushing for these apps to be more resource efficient might be an interesting off-shoot of this development that I had not thought about, and that does bring the development community back into the relationship. You are good, Owens, very, very good.
Re: spin up and down, as an example (although I didn’t Reclaim Cloud in this case) I had a need for a temporary server to support a workshop the other day, and popped up a Digital Ocean server the day before the tutorial, presented the tutorial via the server and left it up another day for folk to play with, then ripped it down: https://github.com/ouseful-demos/ou-rclub
The next iteration I will also try to have the branding/customisation stuff in the single line set-up.
Two things that prevented me using Reclaim.Cloud:
1) The tljh-repo2docker script didn’t work for me on Reclaim.CLoud when I first tried it, though I think Tim has it working now (not sure about the repo2docker plugin which adds another level of indirection to setting up environments in the server…)
2) I wanted a not min-spec server (and thought I might also explore a detachable volume so I could try to resize the server then reattach the volume, but I didn’t get that far…). Can I choose server spec on a Reclaim Cloud provisioning script?
PS I’ve not just been talking about spinning up/down Jupyter environments… 😉
Pingback: A Follow-up on Costs in the Cloud | bavatuesdays
Pingback: Cost in the Cloud Two Years On | bavatuesdays