General tech stack architecture advice welcome

Hi All,

I am hoping someone can provide some architecture advice on a project I am working on.

High Level Objective
My high level objective is to use IOT devices (particle Boron’s) to collect end-user data and send via the cellular network to an online database. This data will then need to cleaned to remove any obvious outliers, although this functionality can be added at a later stage. We will also be calculating averages and fluctuations in the data over time. This data will then be presented to the individual end users via a dashboard behind a login wall on our website.

Note: I have a php application up and running that was fully built using Wappler, that includes a user login feature and security privileges. This application is currently connected to a mySQL database that is hosted on an apache web server supplied by my website hosting provider.

The current problem I have is that my IOT devices are currently sending data to an Azure Iot Hub and then piped into an Azure SQL Database. I now want to connect this data to my hosted website and this is where my problems arise.

Perhaps I should try and connect my IOT devices directly to a php form on my Wappler website? The devices could be submitting 50-500 data points per day, initially we will only have 4 devices but I am trying to build a solution that is reasonably scaleable. In my very limited knowledge, webhooking this data to a php form does not seem like the most scaleable solution, but I could be mistaken.

I am hoping someone here can give some guidance as to whether I am going about this the right way, or if I am overly complicating things. Thanks in advance.

EDIT: Perhaps I would be better to move my hosting to Google cloud or Azure entirely so that everything is hosted with either of these providers? Essentially I am trying to get a minimum viable product up and running, but if I can make a scaleable solution from the outset it would be great.

I have no experience using Azure or Google Cloud services yet. But this might help :slight_smile:

From what I understand, keeping everything on cloud is always better in terms of scaling. So if you can move the hosting to Azure, it would make for a better application, definitely.

But, in either case - current or Azure hosting - you should connect directly to the Azure DB to read or modify data points from the web app.
There is no need for a php form or webhooks to get data from Azure to the web app, in my opinion.

like Sid, no direct Azure experience directly although in truth as an and user which specific cloud platform is being used is not that important.

I use 100% cloud services now and have to admit I don’t know or even care about the platform, only that it works for me.

In reality I think your options are:

if possible pull the data into Wappler directly from the Azure DB.
Alternatively shift everything onto the same cloud platform
Lastly set up replication (perhaps CRON job) to sync the azure DB and local DB, easy enough in PHP, really depends on how up to date the reports must be but intelligent sync should only take seconds.

Thanks Hyperbytes and @sid for the suggestions. I think I will look at migrating my hosting from my current provider to Azure, this should remove my issues of trying to connect to the Azure DB from my current providers web server.

Now I just need to figure out how to do it :slight_smile: I’m sure I’ll be back very soon with more questions.

So in less than an hour I have essentially migrated my web app to Azure, all thanks to Wappler. All I have to do now is create my relational databases in Azure and connect everything again. Thanks for the help guys. !!!

4 Likes

Great to hear that @wahlrab! Feel free to share more experience and usage guides of Azure - it is commonly asked here

1 Like