Hey there, I have a question about Pulumi. It buil...
# general
s
Hey there, I have a question about Pulumi. It builds the infrastructure using any programming language but not all the languages are common in all the organizations. Instead, if a person uses Pulumi in Python in one organization and joins another organization that uses Goalng, it would be a new thing for him and it will take time, will be difficult for that person to write clean code in a new language. If someone is aware of Terraform. That person can work with infrastructure anywhere without learning a new language or without looking at a big codebase. Does Pulumi provide the service that is common?
m
Pulumi YAML would be the closest to that as it's more strictly declarative. That being said, subjectively, we've had success at my organization because of the freedom in toolchains. A shared stack was declared in typescript, but the application team used Python, and was able to use the stack outputs from the typescript project.
s
If the YAML solves this problem for Pulumi then it's awesome, otherwise not all the organizations are freedom provider
m
Sure, but that's like saying you shouldn't use Adobe Photoshop because there are too many tools for graphic designers so they won't choose the most effective ones for the job. Some of this comes down to Directors and Engineering Managers to help drive direction, policy and in some cases be more prescriptive about how to use tools. My organization has approved languages, tech stacks and templates. We do not endorse or officially support Pulumi projects that are not TypeScript or Python. That is, until someone puts in the work for implementing the standards that meet our baseline in that supported language.
s
Is Pulumi YAML close to Terraform or is it not that effective?
m
Pulumi YAML has the potential to be a better tool than Terraform. I cannot say whether that's currently the case or not. It depends a lot on your use cases, direction and spend.
s
I will try them and compare which works the best
Thank you, by the way!
r
m
StackReference uses Stack Outputs, so it doesn't matter what language was used to deploy the resources. The outputs will be in the state for that stack, and that's what the "child" stack references.
r
Thanks!
e
We have some stuff in the pipeline to actually allow stacks written in one language to fully call into stacks written in other languages as sub-stack components. Should make sharing component like things in multi-language companies easier. Longer term we'll be looking into making the fully typed multi-language component libraries easier to write and share.