With a new command-line interface (CLI) available in its v0.8.0 release, NubesGen can now automatically find its configuration, and set up a GitOps workflow for deploying Infrastructure as Code into Azure, allowing developers to easily get up and running with cloud infrastructure for their projects.
NubesGen is an open-source offering from Microsoft, integrating Terraform with an opinionated GitOps workflow for deploying applications to Azure. NubesGen targets developers who want to "Git push" their cloud infrastructure, and those who want precise control over their cloud configuration.
InfoQ interviewed Julien Dubois, project leader of NubesGen, to get his take on the product and where it’s headed.
InfoQ: Can you please tell us about the motivation for creating NubesGen?
Julien Dubois: Developers keep telling me the same two stories: they would like to "Git push" their cloud infrastructure easily, and they want to have precise control over their cloud configuration. We target two kinds of people: those who want to get started on Azure without knowing much about it, and those more experienced who want to quickly set up an ‘Infrastructure as Code’ workflow.
Our solution gives an easy interface either on the Web UI or using a command-line tool, which produces Terraform templates which have been carefully crafted and audited by Azure and HashiCorp. Whenever you need to tweak an option, or upgrade an Azure resource, you have the full power to do this. You are not locked into NubesGen.
InfoQ: GitOps feels like a central premise for NubesGen. Is GitOps essential for getting the most out of NubesGen?
Dubois: We believe GitOps is an excellent way to deploy to the cloud, and NubesGen allows this great "Git push" experience where you just push your code to a Git branch, and both the infrastructure and the application will be updated automatically. I love how easy it is to just change a Terraform template or some Java code and have everything updated a few minutes later in production. It’s an awesome experience as a developer.
InfoQ: What advantages are there to using NubesGen over using open-source Terraform templates?
Dubois: With NubesGen, we provide something radically different: we have a REST API that will generate templates according to your needs. That API is very powerful: for example, if you select Azure Key Vault, all the keys of all the services you use will be secured inside Azure Key Vault. So, you have a lot less copy/pasting and tweaking using NubesGen, and you have the possibility to re-generate or modify your configuration much more easily.
InfoQ: Are there any big plans for the next version of NubesGen?
Dubois: We currently have two big features in preview: support for VNet and support for Bicep.
VNet are Azure Virtual Networks, and they provide a much more secure infrastructure, but they are noticeably more complex to set up: that’s where using a code generation tool like NubesGen is extremely powerful.
Bicep is a new Infrastructure as Code solution from Microsoft, that is an alternative to Terraform. Bicep has some unique features over Terraform as it’s natively integrated into Azure. But we’re not here to compare those tools: with NubesGen, you will have the ability to select one tool or the other at generation time, depending on your needs and preferences.
InfoQ: Is there any desire or intention to port NubesGen to work on other cloud providers?
Dubois: All we want for an open-source project is to see NubesGen being used by a wider audience. It wouldn’t be hard for another cloud provider to fork NubesGen and make their own custom implementation. If you’re interested, I’d be happy to help.
Find out more about NubesGen.