NubesGen new architecture #45
Replies: 5 comments 9 replies
-
This sounds great! The first thing coming to my mind is the scoping: Is this only meant to target azure or do you think this could attract a broader audience e.g. AWS, GCP? I know this would require a lot more skills in terms of the final artefacts to be generated, but beside that, everything else sounds like it would be reusable. |
Beta Was this translation helpful? Give feedback.
-
Regarding the File format, I'm not sure I see the link between what is explained here and the API. To me it sounds more like a serialized model of what options one user chose for its project. The goal here doesn't seem clear to me: is it to have a different interface to access the generator, being able to replay/change project settings, update to a newer version? Why YAML vs JSON or something else? |
Beta Was this translation helpful? Give feedback.
-
Hi there, thank you for kicking this off! A Pulumi developer here, we'd love to spread our love here :) One complication is that Pulumi is multi-language (four currently, maybe more in the future). We have internal code generators that can take an intermediate format and produce examples in all four languages. Is there an extensibility point where we could plug a generator like this, instead of writing N copies of templates? Our gen is in Go, so it would have to be a custom binary or HTTP extension. |
Beta Was this translation helpful? Give feedback.
-
Hi there, concerning the different UIs to support, I think it will be interresting to have only one model managed by the API. |
Beta Was this translation helpful? Give feedback.
-
Hi. Concerning "a more 'open' product allowing external contributions more easily" it would be nice to have some Azure credits while developing and testing a new feature. I've been working on deploying a Quarkus app with NubesGen and it has already cost me a few dollars. It's only a small amount and it does matter much for now, but I can see that as a stopper for some developers or in the long run. |
Beta Was this translation helpful? Give feedback.
-
NubesGen re-architecture proposal
We've shipped V0.1 and our first public technical preview with what is our "MVP" (minimum viable product). To support our future roadmap, substantial architectural choices needs to be done. This document is here to detail these changes and to seek feedback from the first users and partners before starting implementation.
Goals
Bird views
A model
Service package
Each service is contained as a "package", which is a folder with the following files:
A File format
NubesGen is an API, but we need to facilitate accessing this API:
An API
NubesGen is only an API. As such, it should expose:
A generation pipeline
The generation pipeline is a multi-step pipeline, allowing to generate a model prior to generating the files. This allows for several scenarios, including:
This pipeline is composed of several steps, and developers can extend it:
The last two stages can be parallelized.
Beta Was this translation helpful? Give feedback.
All reactions