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.

Cloud Maker – main UI and sample diagram
Cloud Maker – main UI and sample diagram

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.

Azure Web App properties
Azure Web App properties

You can provide hardcoded values or parameters – which you can fill later, during deployment.

There are also expressions:

create EXPRESSION
create EXPRESSION

… 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:

expression
expression

You can review\restore older versions, but for now, you can’t compare them – such a possibility will be added in the future.

blueprint version history
blueprint version history

On twitter (and my other social media) I’m sharing interesting (in my opinion ;)) stuff about Cloud, DevOps, Software Development and Technical Leadership.

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.

solution configuration
solution configuration

Deploying diagrams

There are 3 ways to deploy the blueprint:

  1. You can just download the ARM template, and deploy it manually from Azure Portal, PowerShell, or Azure CLI:
exporting blueprint
exporting blueprint
Exported arm template
Exported arm template
  1. You can deploy the blueprint directly from Cloud Maker. To do this you need to create a service connection to your Azure Subscription.
azure service connection
azure service connection
  1. Or you can use Azure DevOps pipelines. For this method, you will need to install a task from Azure DevOps marketplace
Cloud Maker – Azure DevOps task
Cloud Maker – Azure DevOps task

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:

Azure DevOps task
Azure DevOps task

For configuration, we need to provide:

  1. Connection to Cloud Maker – with API token generated in the Cloud Maker portal
  2. Connection to Azure Subscription
  3. The solution which you would like to deploy

After that, you are ready to go:

Azure DevOps release
Azure DevOps release

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:

release log in cloud maker portal
release log in cloud maker portal

and of course in Azure portal:

Deployments in Azure portal
Deployments 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:

Cloud Maker

… 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.