eclipse-edc/MinimumViableDataspace

MVD Deployment @ 8 Feb 2023

joalmeid opened this issue ยท 5 comments

Bug Report

Describe the Bug

Starting from scratch, by deploying MVD and start learning the concepts around Data Spaces.

Expected Behavior

Easier to follow documentation around quick deployment into Azure. Goal is to try it, understand comments, and have a working demo.

Observed Behavior

Documentation had a few glitches, and ended up looking at GH Actions, repo. Not able to deploy it on Azure using documentation.
Was able to follow documentation and run the local environment.

Steps to Reproduce

  1. Follow Documentation
  • OS: Windows 11, WSL2 with Ubuntu 20.04

Detailed Description

Running the Initialize CD failed as the ACR_NAME var was not added to GH env vars
Documentation mentioned a Deploy action which I found it being removed in a ~recent commit. I presume WIP.
Running the system-tests went ok. All based on docker-compose.
Ended up pushing images to ACR manually and put it to work.

I can confirm that the current documentation doesn't allow to deploy, like you said, the Deploy action no longer exists. I still think it would be valuable to have the ability to deploy quickly after setting up Azure secrets are set up (like in Cloud-CD).

I understand for testing that maybe it complicated things, but I think that a general cloud deployment workflow would be convenient. Can I get more information about why the deploy action was removed? (I have read #112, but I don't think I understood it perfectly so happy to learn more!)

I'm also looking at this issue, and I'm interested in knowing if:

  • would it be okay to bring the Deploy workflow back?
  • if not, what is the best way to deploy to cloud as of now? (is it create_dataspaces.sh + the rest of the testing flow in run_azure_dataspaces_tests.sh?)

I agree with @robertdevlin-ms.
Please let me mention @paullatzelsperger here. We would like to have your opinion regarding questions above.

@aykhara @robertdevlin-ms the reasoning behind removing the deployment to Azure is three-fold:

  1. it turned out to be quite the hassle to debug, maintain, and keep up-to-date and in the end it's a question of allocating resources and engineering bandwidth and putting that in competition to the benefit it provides
  2. deploying to Az in CI is beside the point of what we intended with our pipelines, which is testing the MVD, and through it, our Dataspace Components. We don't want to test that it can be deployed to ACI, but rather, that all extensions and components play together nicely, configuration values are valid, etc. For that, it is irrelevant where it gets deployed, and docker-compose seemed like the lowest hanging fruit.
  3. MVD should remain neutral with regards to cloud environment. Yes, there are some Azure bits and pieces, but frankly that is simply because MSFT contributed those resources in the past. Ideally, we'd have an MVD that is either completely cloud-agnostic (e.g. using only postgres, and hashicorp vault), or we'd have one where cross-cloud scenarios are displayed.

As a fourth bonus point I'd like to mention that it was our observation, that people use MVD as a low-key starting point into the "world of EDC", which should not require any paid subscriptions. Thus, we wanted to avoid the impression that MVD somehow "required" an Azure sub.

Now to finally answer @robertdevlin-ms's question, how to bring the deploy workflow back:

We don't.

Don't get me wrong, feel free to fork the repo, and re-instate the workflow in your fork, go wild with terraform, scripts and all kinds of cool stuff, but then the burden of maintaining it is on you. Unless there is actual personnel committed to maintaining this, I don't see the Azure deployment coming back to upstream, and even then, the better solution would probably be to create "another" MVD, specifically tailored to using Azure resources for the aforementioned reasons. Ideally, the same would be true for GCP and AWS (...) variants.

@paullatzelsperger Thank you for answering our questions. Those reasons make sense for me.
@joalmeid As the deploy workflow will not be back again I published a blog post about Azure deployment for MVD. (contributor : @loubigard)

I think we can close this issue if you two feel that the article above covers how to deploy MVD to Azure as a workaround.

Hello @paullatzelsperger, @joalmeid,
We have created the PRs #139 and #138 in order to close this issue.
Could you please give us your feedback?
cc: @aykhara