Web app options (Heroku / AWS / Azure)

Hi all

This is probably going to be a slightly open ended question, but I’m really just after examples of how people are building their web services around the Particle ecosystem.

My requirements I think are fairly typical of many potential enterprise users on here:

  • Want to have customers who each have their own devices
  • Want to log data from devices into a database, potentially take action on this data in certain situations
  • Customers need to be able to view data via a dashboard
  • Needs to be reasonably scalable

Up to this point I’ve been using simple authentication (as opposed to two-legged) and a static webpage displaying only live data.
I feel that this solution is probably too restrictive.

I see many potential solutions that have been talked about in these forums, some of which are the following:

Xively (seems expensive and a duplicate of much of the existing Particle infrastructure)
Ubidots (Haven’t much of chance to research but looks interesting)
PowerBi (Good solution for dashboards etc. but potentially too high-level)
AWS / Azure (Powerful if you know what you’re doing)
Heroku (Seems like a good choice, although bit of a learning curve if you haven’t used NodeJS before)

I think with some of the options there is a risk of trying to write too little code and just linking up multiple services to do all the work for you, ending up with something quite expensive at scale and not overly flexible.

I think AWS sounds like an interesting idea, with quite a powerful IoT platform, but at scale (assuming webhooks, as TLS via AWS doesn’t really sound like an option yet) is it going to be prohibitively expensive paying for both Particle and AWS-IoT?

In terms of simple vs two-legged authentication - do we really need two-legged authentication for customer data storage? If data is not sensitive, can it just be stored e.g. in a dynamoDB table using the device ID as it’s identifier and retrieved via a static webpage?

I’ve read this tutorial https://mlapida.com/thoughts/serverless-iot-with-particle-and-aws
Which is very interesting however I fear that having ‘serverless IoT’ when actually dealing with multiple customers who are being added/removed continuously isn’t quite as simple as setting up a couple of AWS services.

Sorry this has been a bit disjointed but keen to hear any thoughts. @RWB I understand you’ve got a solution with webhooks + Azure + PowerBi. How is this working for you? Do you still use simple auth or are you running your own server to store customer accounts?

In summary, I’m not opposed to learning and writing some code, I just want to make sure I make an informed decision before diving into a particular platform.

1 Like

I’m not really enterprise but I have hooked up some family and friends with graphing and alerting for basic environment monitoring (temp, humidity, sump pump, motion) by using librato (https://www.librato.com/) and some custom scripts on my own server. They have a free trial and the price is right if you decide to pay.

1 Like

@G65434_2

Here is what I have found to be the best way to setup a professional website with password protected client log-in access.

  1. Build a Wordpress website and load a professional template that looks good and customize it for your needs.
  2. Add the WP-Client add on app for Word Press to create the highly customizable password protected Log-in pages along with client-specific pages.
  3. Paste dashboards into the individual client pages so the customer can see the data for their specific products being pushed in via Particle Photon / Electron devices.

You can use a few services to receive the data from Photon or Electron devices, database that data, plus create custom dashboards and alert messages.

  1. The easiest platform to use for getting data off a Photon or Electron is the service called www.Ubidots.com, but it’s limited on exactly how custom you can make the dashboards look and blend with your business and product looks but still its excellent and flexible. They provide simple iFrame HTML code for the dashboards you create with their service that you can embed in the Wordpress website and this makes it cut and paste easy to get going.

  2. The more complex but most flexible way to do as we did above but using Particle > Azure IoT Hub > Azure Table Database > Power BI to create totally customized dashboards using the Power BI Desktop PC software. This provides the strongest backend that can handle 1 million incoming data points per second and probably a lower overall price, but it’s going to take you more time to figure out how to get it all working.

I would try Ubidots first and if that does not meet your needs try Azure. I’m playing with both, but for my business application, I’m using the Azure IoT Hub backend along with Power BI.

1 Like

Thanks @RWB and @tyler785 for your replies.

I’ll check out these options. I think as you said @RWB that Ubidots might be a little too limited for my needs.
I’m going to go down the AWS route for now and run all my backend requirements within Lambda - partly because my main website is already hosted on S3/Cloudfront.
I’ll let you know how it goes!

1 Like