TL;DR: IoT has a lot of BS, but these guys are legit. Try them and you will fall in love.¹
*** Update: resin.io sent swag! See Update below. ***
Resin.io makes it trivial to deploy an application to a fleet of devices, including Pi, Arduino and even the rather beefy Intel NUC. They already support over a dozen device families, and new devices are constantly being supported.
On the web, cloud-based deployment has come a long way with tools like Heroku (ease-of-use), AWS ElasticBeanStalk (unlimited power with CloudFormation extensions), drie.co (security) and now (one URL per deploy).
Now imagine all of the above, but with physical flipping hardware. That’s resin.io.
- Burn your SD card with their nifty Etcher tool.²
2. Pop SD card into your device
3. Turn on device (and connect it to the interwebs)
4. See device on resin.io web dashboard
5. Deploy your software via a `git push`
Software updates are easy, fleet-wide, and lightning fast (see pro-tips).³ Most things can be done via their web dashboard. For power users, everything is available via API, CLI and SDK.
Now don’t get me wrong, all this didn’t happen over night. Pre-Etcher, burning the SD card from an ISO was a little cumbersome. There’s also the occasional annoyance, like getting at your logs past the 100 or so lines that are displayed via the dashboard (see pro-tips).
Overall though, they have spent the past few years relentlessly focused on their users, and it shows.
Have an issue with custom linux kernel header compilation? Their engineers will work with you to immediately support the use-case (until it’s done, and it was gnarly). Then they’ll add the issue to the backlog for a perma-fix (which you can see!, see transparency below). Then they’ll keep you updated.
The things we brought-up have always had a tendency to show-up in the docs within a few hours, or at most the next day. It’s no surprise that we’ve little cause to contact support anymore.
Honestly, it’s gotten to the point where we want to RTFM because it’s so well done and their support is too good to feel like we’re squandering it.
Update — 2016-10-07
In keeping with their tradition of fanatical support, we received a care package today (from Athens, Greece)!
Everything but the web dashboard is open source. Nuff said.
Their entire issue backlog is there for anyone to see and comment on. If that’s not transparency, I don’t know what is.⁴
It’s tech, so unsurprisingly the company is exceedingly white, and exceedingly male; but, even that’s transparent on the team page. :-p
If you were…
- waiting to try resin.io → Don’t.
- thinking I’m ashamed of my unrepentant resin.io fanboyery → Nope.
- wondering why I keep saying resin.io → Here.
BTW, if folks want to do a conf/meetup, lets make it happen. I’ve been pestering Ronald and Marcus about this for sometime now. Do comment below!
- Faster deploy: Since it’s all docker-based, you can use your own image, pre-compiled on a docker registry if you’ve a large dependency. For example, we did this with OpenCV3.
- Logs: Pipe script output to a file, or try to use a low level tool.
- Image size: Use Alpine for tiny images [blog].
 I am unaffiliated with resin.io. My team and I have been using resin.io on a daily basis for the past two years. It just keeps getting better. I have never taken compensation (update: except some swag…thanks resin.io). I was never asked/prompted to write this article. I simply love their product.
 In their blue/green deploys, resin.io compiles everything , pushes the update and only then restarts the container with the new code. Simple idea, but so powerful in practice.
 They closed their series B a few months ago [news]. I will be out for blood if the VCs ruin them.