https://pulumi.com logo
a

adorable-businessperson-9653

07/15/2023, 11:24 PM
Hi, our company is looking for a standard virtual machine creation tool for all clouds. We are looking something like this:
Copy code
Tool.createVM({provider: azure | aws | gcp | do | linode, cpus: 4, memory: 8, disk: 100, ipV4: 1, ipV6: 0, cpuGen: 2022, cpuArc: 'arm | x86', type: 'spot | on-demand', os: 'ubuntu-22.04' })
Is Pulumi aim to do this?
e

echoing-dinner-19531

07/16/2023, 10:57 AM
There's nothing built in to pulumi to do that directly but you can write your own library for it. There isn't a clear common description for VMs across all the clouds, so there will always end up being a lot of per-use-case decisions for writing a function like the above.
c

cuddly-nightfall-71097

07/16/2023, 11:11 AM
You can look into automations. You can then allow your users to get their VMs without giving explicit credentials to the cloud or any kind of setup. An inspirational example: https://github.com/komalali/self-service-platyform (and a number of examples from Pulumi - https://github.com/pulumi/automation-api-examples). Exposing REST from such service allows you to call it from any library or even command line.
a

adorable-businessperson-9653

07/16/2023, 11:34 AM
Yes, our company plans to create a self-service virtual machine control panel with React.JS and beautiful graphics. We have to create a tiny backend to unify requests from front end. It will support many popular cloud providers. But instead of sending requests directly to the apis of cloud providers, why should we use Pulumi? We need a database in which we will compare the desired state with the current state. Instead of creating a new database and storing state, how does using Pulumi provide advantages? These questions are very important for the architecture of the project.
e

echoing-dinner-19531

07/16/2023, 11:48 AM
But instead of sending requests directly to the apis of cloud providers, why should we use Pulumi?
For this case I can think of a couple of reasons. 1. A unified programming model for all clouds, rather than dealing with the style differences of each cloud providers SDK. 2. Built in support for desired state reconciliation, rather than building your own differencing algorithms.
h

hallowed-horse-57635

07/16/2023, 10:28 PM
we had used packer based scripting etc in the past but not self service UI. <ADVT> we have this exact same feature request by 3 other clients and our platform qmcloud.io does that. Its a no code self service UI /canvas based app. As of now the cloud agnostic vm ask is a beta / private preview in dev for one client and are finalizing the deployment. If you are interested, you can DM me. FYI, we use Pulumi Automation API in the backend and support AWS, Azure and K8 providers as of today Buts its just a matter of few hours of work to enable additional providers if needed.