0

I am quite new to Azure and I am getting a bit lost in all the available services.

What do I want to do: I want to run a Python project serverless on Azure which gets data from a database, processes it, does some analysis and writes it to a database again. After it's done, it should stop the server again. This can be triggered by some data uploaded to a storage location or has to run periodically. Most optimal I would like to be able to build it through CD (GitHub Actions).

What did I find Reading through the documentation and some other resources, these are the services I think I can use in descending order, but I am not 100% sure.

  1. Azure Functions
  2. Azure Container Instances
  3. Azure Web Apps

Also I found this, but seems outdated.

Question: Which Azure service matches the best for my use case.

Alex P
  • 265
  • 1
  • 6
Zal
  • 935
  • 1
  • 7
  • 17

1 Answers1

1

What you are trying to accomplish has a name - ETL (Extract-Transform-Load). This is a general pattern when you need to take data from its source (DB in your case), manipulate it, and offload it to some destination (DB in your case again).

You listed some valid options. From your list, Azure Function will be a truly serverless option as you aren't billed when it's idling. Other options can also accomplish the task, but you will pay also for hours when your code does nothing.

There's also a service just for your need: Azure Data Factory. You can design your data flow by using the UI and include your Python functions as steps. The overall result will be a data pipeline (like CD for data). And of course it's serverless. You will be billed only for the time the pipeline is executing.

Alex P
  • 265
  • 1
  • 6
  • The databases are already in azure data factory, it's just the CD and scheduling of the events that is important. – Zal Oct 14 '20 at 22:16
  • What do you mean by "databases are already in azure data factory"? Data factory is the tool to move your data around. – Alex P Oct 14 '20 at 22:31