Pocket-sized cloud with a Raspberry Pi
blog.alexellis.io
blog.alexellis.io
The DNS servers, less so: CoreDNS is reading my internal DNS zone from an Amazon Route53 private zone. This was my way of dealing with running two DNS servers concurrently, but it wouldn't do well in a WAN outage.
And, once I lose internal DNS, I lose everything else too
I've written about the CA for Smallstep: https://smallstep.com/blog/build-a-tiny-ca-with-raspberry-pi...
I wrote a piece about the NTP server, but I haven't had a chance to post it yet. There are some good resources out there for creating a local NTP server, though. It takes some time and effort to get everything dialed in, because GPS and NTP are both finicky and easy to misconfigure.
I'd LOVE to write more about my homelab, but it's a work in progress that continues to evolve, and I haven't documented things as well as I'd like to!
There's not really much more to it than that.
You may need to learn a ton as you go if you don't know the basics of the area the project is in. Software based projects are probably easier than hardware based projects in the sense that you won't lose money to change your mind.
On a RPi, you can always just rewrite the SD card and carry on. No harm, no foul. You're not counting on it like you would your main machine (until you are).
I'd LOVE to write more about my homelab, but it's a work in progress that continues to evolve, and I haven't documented things as well as I'd like to!
What are you using for storage? Powered HDD over USB or something?
I use a combination of official RPi 4 power supplies and an Anker 6-port USB power block that I'm pretty sure tops out at less than 3 amps.
More importantly, everything is plugged into APC UPSes.
However some USB SATA IC's have issued with it on Raspnberry Pi[2], requiring one to disable UASP. I have some JMicron-based USB-SATA adapters which falls into this category.
[1]: https://www.jeffgeerling.com/blog/2020/uasp-makes-raspberry-...
FWIW, I did see this but it's $$ : https://store.uputronics.com/index.php?route=product/product...
This is a nitpick, but I suspect the author doesn't know what "TCO" means. It doesn't mean "all in purchase price", it means... "total cost of ownership"[1]. The base raspberry pi[2] already costs between $25-$35. Add in shipping, cost of cables/charge/case (pictured), the purchase price alone would likely exceed $35. If we add in the cost of 5 years of power (I'm using 1W) that would definitely push us well beyond $35. And this is all before going over the biggest line item: cost of labor. It might be "free" to you, but if you're doing a cost calculation you should at least value it at the federal minimum wage.
- Run n8n.io for inter-SaaS workflows
- Run Node-RED for lower-level automation
- Forego containers and use https://github.com/piku to run simple web apps
(disclaimer: I wrote Piku as a sort of anti-pattern since I wanted Heroku-style deploys without Docker and buildpacks)
Which of course led to a discussion of whether you could, in principle, make self-contained cloud devices, powered by Radioisotope Thermoelectric Generators, which you could deploy to a) confuse and frighten but b) create a self-managing mesh cloud?
Rant aside, it's pretty great we can plop what was once needed a whole server rack onto a credit card sized device and call it a day but the "cloud" this is not.
To throw everything on a single Raspberry Pi isn't really a cloud, even though it's offering cloud-like services.
OP says: > "cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction." > "When I read this definition, it seems like the authors are describing a managed cloud provider like AWS, GCP or some installable software like Kubernetes or one of the major hypervisors."
When I read this, I think of my good old webhosting provider. Giving me access to webservers with resources, and fully automated without any hassle. And when there is trouble, I can actually speak to a human being.
All to say, I don't understand the point of this. What is this for and why would I want it?
So don't hold your breath
If you are US-based, you’ll want to create accounts at the sellers and verify them ahead of time, as vendors are implementing measures to prevent fraud and bots. Adafruit also requires your account to have 2FA active.
The author's definition of pocket-sized cloud is "a place to run our code, which can be configured through an API - using containers for packaging" and that is not what I understand a cloud to be.
It doesn't seem to have any of the definitive properties of cloud computing. What am I missing here?
> I'm writing this article as an excuse for you to blow the dust off those microchips, and to put your pocket-sized silicon to work as the world's smallest API-driven cloud.
> By following the instructions in this article, you'll be able to deploy scheduled tasks, webhook receivers, web pages and functions to your pocket-sized cloud from anywhere using a REST API.
Sure, one can learn about OpenFaaS with this project, but is there truly a market demand for it? And how does it benefit the learner?
I've been seeing this more and more as people and whole organizations feel compelled to learn everything that comes their way.