We want to setup a server in the Azure cloud. But we have no idea what type server would be best for working with the devices which uses embedded TCP/IP protocol. Device is a 4G based OBD-II Diagnose and GPS tracker. Mostly, device will send the diagnosis data and gps data to the server. In rare cases like DTC code clear server will send the data to the device. After getting data from device the data would be stored in the database and from their after filtering or some processing data will be displayed in website or mobile application at the user side. So which type of server should be setup and would be best for this. As windows based server would be easy to configure because of GUI but what type of feature/service it should be based on like FTP, Webserver,application,etc.

Thanks in advance. And if possible you have any extra details on these feel free to share.

  • You dont have to setup your own FTP, webserver. Thats the beauty of using Azure or AWS. Look into Azure Blob storage. Here's an example of how to upload to it: docs.microsoft.com/en-us/azure/storage/common/… Also look at Azure event hub. Search for Azure IoT videos and watch. Then, when you have a more specific question, come back to ask. May 18, 2021 at 14:46
  • 1
    @kalyanswaroop we don’t want to use Azure IoT hub or event hub. We want to direct implement a server and get a public ip so we can start communication with it.
    – Raj Pandey
    May 18, 2021 at 15:37
  • Also Azure IoT hub doesn’t support TCP/IP directly. And the devices we are buying works only on that.
    – Raj Pandey
    May 18, 2021 at 15:38
  • I have gone through all. Storage and everything. So question was simple which server to be implemented.
    – Raj Pandey
    May 18, 2021 at 15:39
  • 1
    @kalyanswaroop I think you don’t understand the question. This is IoT related question only. And this exchange isn’t for only IoT hub related queries.
    – Raj Pandey
    May 19, 2021 at 6:43

1 Answer 1


What I would do is to create a Debian server on Azure. Just a plain Debian server. There you can either install a web server like apache or nginx in which you can have either just a web page to display data or a complete web application to do more data processing on the server.

If you aren't interested in going all the way to web application development for data processing and visualization and you just want to send data to and receive data from your embedded devices, you can just create a socket application in C/C++ on the Debian server in which you can open one or more TCPIP server sockets to allow your embedded devices to connect. At that point you will have a direct communication channel between the server and the embedded devices via TCPIP sockets and you can do pretty much anything with that.


Actually, if you just want to provide communications between IoT devices without all the buzz and fuzz of the Azure or AWS IoT platforms, you may even be better off just creating a Debian server on the cheapest cloud hosting service you can find. Then you can just create a C/C++ application there to handle your connections between embedded IoT devices and communications.

  • This is useful. Also, I am currently thinking of using the Azure IoT Edge on the server and customize its communication protocol module for TCP/IP and use it as a listener as well as a gateway between Azure IoT Hub.
    – Raj Pandey
    Jun 30, 2021 at 9:54
  • 1
    @RajPandey check on the pricing though. Because you may be better just getting a plain Debian server on the cheapest cloud hosting you can find instead of those semi-bloated and pricier azure or aws IoT services. It depends on what you need, but I'd say that if you want to do everything yourself or if you are looking for a simple solution to communicate IoT devices remotely, just use a Debian server on a cheap cloud hosting.
    – m4l490n
    Jul 1, 2021 at 18:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.