I’m thinking about building a SaaS where users can have servers provisioned for them for a small one-time fee per server. For example, you’d be able to spin up 3 CockroachDB servers on DigitalOcean and quickly have a production-ready cluster for $30 (and from then on you would only pay DigitalOcean’s monthly fee for the servers).
It's kind of like Laravel Forge (https://forge.laravel.com) except more general/flexible (e.g. not specifically for PHP) and there’s no monthly fee (unless you opt-in to some future service that is periodic by nature).
I know there are many ways to accomplish the end goal (Heroku, Kubernetes, Ansible, etc.) but they all seem tedious/complex and/or expensive. What do you guys think? Does this service already exist and I’ve missed it?
I'd pay for that. No problem.
How would you handle updates and upgrades which are required from time to time?
That's a great question. Probably not. If it's a cloud server, It would be easier and safer to just deploy a new server with the upgraded version(s). But I would definitely want the service to be able to help the user migrate. If it's something simple like upgrading the Node.js version for example, I think that's easy enough that the service wouldn't be providing enough value there.
Yeah, I thought about simply replacing the existing server/container too. This probably will touch other servers/containers too. To make migration painfree you will need to keep track off the way everything is set you, wouldn't you?
I like your idea just trying to understand it better. Especially the reasoning for one-time off payment over recurring charges...
Mist.io does that, among other things, for the most popular public and private cloud platforms.
We don't charge for provisioning. We charge per vCPU of the managed infrastructure, and the rates of incoming monitoring datapoints & rule checks. We get most of the inbound interest from Enterprises with heterogeneous infrastructure that want to implement self-service provisioning for their users, as well as MSP's that resell infrastructure.
Mist is nice but to me it is solving a different problem. With Mist you can manage infrastructure but you still need to write scripts to setup servers for their specific use cases, right? For independent developers like me this means I still need to get a sysadmin/devops or spend a significant amount of time setting up a "production-ready" server or cluster.
Well, we started building Mist as independent developers trying to scratch our own itch. We were developing systems for multiple clients, deploying them on each client's computing platform of choice. Many of those systems we had to administer ourselves and the multi-cloud aspect was adding a lot of complexity.
Along the way we've been building a lot of functionality from customer requests and we realized that Enterprises are much more likely to spend money for that than independent developers.
I'm not sure if it's possible for a single developer to deploy "production-ready" services without getting to know something about sysadmin/devops stuff. Unless perhaps if you narrow down what services you need to deploy (e.g. PaaS) and what "production-ready" means for you in terms of scalability and reliability. Even then, my best bet would be to only deploy polished Helm charts on managed Kubernetes clusters, but that also introduces complexity and requires specialized knowledge, which becomes especially important when things don't go as expected.
Yea, I mean it would essentially act like a PaaS but without what I think are some of the more ridiculous trade-offs you are forced to make with existing services. It's certainly not as lucrative but at least for me, it would be enormously beneficial if I could get something to production and at the very least delay having to spend time on all of the devops stuff that I work on far less often than development. It would also be beneficial to have a on-demand reference point of what a solid production server looks like for the technology I'm using.
This comment was deleted 8 years ago
Hi Ian,
I would love to learn more about your idea. Shoot me an email if you are interested. ben@cott.io
This comment was deleted 4 years ago
Yea definitely. For me, Heroku falls into the "expensive" category not the "hard" one. I don't know what the exact price-to-performance ratio is but I felt it was steep. I also felt pretty limited by what I could run on Heroku vs a traditional server.
This comment was deleted 4 years ago