Are there any SaaS alternatives to Pulumi Cloud to...
# general
f
Are there any SaaS alternatives to Pulumi Cloud to use as a pulumi state backend? Is that even possible? Even cooler if there is something self-hostable. For example, Terraform has Hashicorp behind them. But there is also controlmonkey.io, spacelift.io, scalr.io, etc. Not sure if those guys are only able to use OpenTofu now that Terraform is BSL.
h
Hello. We have built a saas (also an option to self host) with pulumi automation api and pulumi cloud as the backend. The backend is not necessarily visible or accessible via thr saas but with self hosted it is. It's a No Code platform. You can learn more at qmcloud.io/ what's the main problem you are trying to solve?
l
And Pulumi is available self-hosted: https://www.pulumi.com/product/self-hosted/
a
spacelift.io and env0.com have support for deploying Pulumi projects but don't support managing the state for you. So you'd have to integrate your Azure/AWS/GCP blob/bucket service of choice if you don't want to store that in Pulumi Cloud.
f
Thanks for the responses guys! (I hope more come, too) Man, I'd love to find a way to get a UI to show me and my team our stacks without having to pay hourly per resource. I know that Pulumi is OSS, but the fact that Pulumi Cloud is the only state backend that gets you • a basic UI • ability to set and read stack config/tags Is sad to me. On teams that use IaC for everything, but have low budget, having to pay that per-resource hourly cost makes Pulumi a non-starter 😕 Nice features like state locking--I think we're willing to suffer somewhat by only deploying IaC via CI and enforcing a max concurrency of 1 in CI.
I'd really like to see an OSS, dumbed down state backend emerge. That would allow us to become successful on Pulumi before everyone is strongly bought in, which would hopefully improve our ability to pitch buying enterprise Pulumi Cloud when we grow out of it.
l
The state is a simple JSON file. A UI would be pretty easy to put on top of it. I know that pulumigraph was pretty useful a few years ago, it used neo4j as the UI. I think the graph in the Pulumi service has improved since then. https://github.com/mastoj/pulumigraph
f
You're right! This is awesome! For the stack metadata, I'll open an issue on Pulumi and maybe they can add that to the exported JSON or something. It'd be really fun to build a cloud-agnostic, auth-protected, serverless "pulumi browser" in React that can be deployed on a cloud's equivalent to AWS lambda.
l
The cloud metadata can be exported via
pulumi stack tag
. Just put it in an adjacent file.
p
Hey guys, what do we lose if we use aws bucket as state backend instead of pulumi cloud
@fierce-xylophone-92490 like you said its kinda creating problem for our team since we have low budget so I’m searching for what can I use for backend.
So as I understand, s3 is also okey for holding state, so why don’t you use s3 for managing your state instead of pulumi cloud @fierce-xylophone-92490
h
Locking mechanism, security, rbac, reporting etc are things that will be lacking. etc are few features that are lacking. I am told locking now comes built in so you will need to deal with other things..
p
Like I was already thinking about these concerns with terraform, so it won’t be so different than before 😂
But thanks for the answer though!
l
Are you sure that locking is lost? I think I recall that that had been added to the S3 backend, and most others too. It was lacking originally.
f
@little-cartoon-10569 oh, when I play with making a visualizer, I'll check to see if locking is built in. That'd be sweet! @plain-vegetable-53232 re: what features you lose • Rollbacks are a big one for me. The pulumi cloud state backend saves a copy of your pulumi state at every interval that it can. If a failure happens, you can use this to roll back to the last working state. I wonder if it's possible to somehow save those checkpoints yourself 🤔
^^^ @hallowed-horse-57635 does qmcloud address this when using self-hosted state?
l
Remember, state files are simple JSON. Wrap your calls to
pulumi up
,
pulumi destroy
and
pulumi refresh
with
pulumi state export --json
, and you're good, right?
f
Oooh, somehow I thought that in the lifespan of a
pulumi up
call, you could transition through multiple *states. If the change is "atomic" in the sense that all you need to back up is the state pre- and post-
pulumi up
, that's awesome!
l
Well there probably are finer-grained states than that, but I've never needed them...
h
@fierce-xylophone-92490 - you mean rollback ? yes. we have the self hosted qmcloud software with a potential of self hosted pulumi backend. its not been used outside of our internal dev as most customers are happy with the pulumi cloud state. the rollback is an internal qmcloud feature and we don't use pulumi json state files that way.
f
@hallowed-horse-57635 what's the value add of qmcloud if customers are already using pulumi cloud? Workflow enhancements?
h
mainly no code (UI to drag and drop stuff) and no need to write any code. we generate TS automatically and deploy using autoamation api / a few customers want TF/CF/ARM for their use case and just take the auto generated code into their github flow and we skip pulumi deployments for them (the code generation capability is from Azure openAI and integrated in qmcloud)
f
@hallowed-horse-57635 oh nice. Similar idea to BrainBoard?
h
ya sort of. BB is more of a collaboration but one needs to understand TF to do the deployments etc. For QMCLOUD, pulumi and the code is all behind the scenes. i do like their icons (more flashier than ours) etc than ours (!)
107 Views