Diagram Driven Cloud Infrastructure with Cloud Maker
While I was learning about bicep I found Cloud Maker – a really nice tool for creating and managing cloud infrastructure.
They started with a tool for drawing cloud infrastructure diagrams – for Azure, AWS, and GCP. Now they are adding a possibility to deploy what you have on your diagram – how cool is that? 🙂
I’m not saying this is the first no-code tool for Infrastructure as a Code ;), but I didn’t saw any other so far.
Or maybe it should be called Infrastructure as a NoCode or Infrastructure as a Diagram? Or Diagram Driven Infrastructure? It looks like such a term doesn’t exist in Wikipedia yet – so someone can become the creator of … 😀
I don’t have any connections with Cloud Maker or any profits from writing about their tool - I’ve just found it very interesting.
Cloud Maker
The homepage for Cloud Maker is https://cloudmaker.ai.
Currently, you can create a free account and just start drawing diagrams – deploying them to the cloud is currently in private beta and works only for Azure.
I’m not sure if they have all Azure, AWS, and GCP services … but there is a lot of them.
Blueprints
The blueprint is just a diagram, which you can download as a PNG\SVG file, or reuse it later for deploying (multiple) solutions. For example, you can create a diagram for the Azure Web App with SQL database and KeyVault and deploy it to the cloud multiple times, as different projects, in different resource groups. It is like your infrastructure template.
For every component, you have a configuration panel, where you can configure the same things you can configure in ARM templates.
You can provide hardcoded values or parameters – which you can fill later, during deployment.
There are also expressions:
… which you can use to provide values that don’t exist yet. For example private IP of your VM. It will be known only after you will create the VM:
You can review\restore older versions, but for now, you can’t compare them – such a possibility will be added in the future.
Are you interested in staying up-to-date with the latest developments in #Azure, #CloudComputing, #PlatformEngineering, #DevOps, #AI?
Follow me on LinkedIn for regular updates and insights on these topics. I bring a unique perspective and in-depth knowledge to the table. Don't miss out on the valuable content I share – give me a follow today!
Solutions
Once you have created your diagram, you create a solution. The solution is like a project where you will use the blueprint and deploy it to the cloud. This is also the place where you provide values for the parameters which you have specified in the bloueprint.
Deploying diagrams
There are 3 ways to deploy the blueprint:
- You can just download the ARM template, and deploy it manually from Azure Portal, PowerShell, or Azure CLI:
- You can deploy the blueprint directly from Cloud Maker. To do this you need to create a service connection to your Azure Subscription.
- Or you can use Azure DevOps pipelines. For this method, you will need to install a task from Azure DevOps marketplace
Azure DevOps
From the available deployment options I’m most interested in Azure DevOps, that’s why I only tested this flow.
Once you have installed the Cloud Maker task you need to configure it:
For configuration, we need to provide:
- Connection to Cloud Maker – with API token generated in the Cloud Maker portal
- Connection to Azure Subscription
- The solution which you would like to deploy
After that, you are ready to go:
Unfortunatelly, releases can be only triggered manually. Maybe in the future, it will be possible to trigger the release automatically just after publishing the blueprint in Cloud Maker.
You can review the releases also in the Cloud Maker:
and of course in Azure portal:
My thoughts
Cloud Maker definitely is not a perfect tool. Not yet 🙂 They are in private beta, and they are still working on this tool. Personally I really like it. I think, I like this idea. Usually, we are drawing the diagrams and creating the resources (manually or by some scripts) as two separate tasks. Why not combine them into one? You don’t need to learn and manage ARM templates or Terraform, or bicep, and your documentation, at least diagrams ;), will be always up to date.
I didn’t test this tool long enough to find its limits or drawbacks. But I think it is quite interesting idea to manage your infrastructure by managing the diagrams.
I found some missing features (missing from my perspective). I’ve shared my list with Nick Smith, who is the CEO of Cloud Maker, and hopefully, they will be added in the future releases.
In Europe, they plan to sell Cloud Maker for 89EUR per user, per month. No so cheap … but still for me it is an interesting tool. They don’t have any specific date for official release yet. As Nick wrote to me: “Our plan is to release when we feel we are delivering enough value to our users. We’re currently trying to gauge when that point is.”
What do you think about such a tool? Will you consider to use in your projects?
And at the end, a short video:
… and link to the documentation – http://help.cloudmaker.ai/en/collections/1716017-cloud-maker-quick-start-guide
Do you like this post? Share it with your friends!
You can also subscribe to my RSS channel for future posts.