Da gibt es ein Haufen Zeug. Es dürfte mittlerweile ein paar hundert
Plattformen geben. Ob da Azure oder AWS drunter liegt kann man häufig
gar nicht sagen. Eigentlich ist es auch egal, auf irgendwas muss der
Server ja laufen. Du kannst dir auch alles selber zusammen suchen und
einen eigenen Server betreiben. Die S0ftware gibt es als Open Source.
Mein Ansatz ist unbedingt ein Standard-Protokoll zu nehmen, MQTT oder
LWM2M. Weil du Firmware-OTA willst wäre meine Wahl LWM2M. Da ist
Firmware-Update im Protokoll vorgesehen. Bei MQTT muss man sich was
eigenes basteln. Überhaupt ist MQTT ziemlich nackt.
Bei LWM2M bekommst du alle möglichen vordefinierten Datenstrukturen. Die
werden dort hochtrabend Smart Objects genannt, aber sind einfach nur
Datenstrukturen für Anwendungen.
http://www.openmobilealliance.org/wp/OMNA/LwM2M/LwM2MRegistry.html
Datenstruktur Nr. 5 ist z.B. zur Steuerung von Firmware-Updates.
Bei LWM2M muss man Zeit rein strecken die Details zu verstehen. MQTT
sieht auf den ersten Blick einfacher aus. Bei MQTT steckt man dafür Zeit
in die Entwicklung eigener Lösungen wie Firmware-Update.
Der beste embedded LWM2M-Client den ich kenne ist Anjay.
https://github.com/AVSystem/Anjay Als Server kann man mit Eclipse Leshan
https://www.eclipse.org/leshan/ anfangen. Der ist noch ein bisschen
gammelig, aber man bekommt ihn hingebogen. Alternativ eine der vielen
fertigen Plattformen nehmen. Leshan enthält auch einen LWM2M-Client,
aber der taugt nur für Tests und rudimentäre Anwendungen.