Azure provides SDK for the device side as well as the PaaS services which are a part of its IoT stack. Microsoft Azure IoT SDK are open source are easily available to download from GitHub. It supports various language like C#, Node.JS, C, Java. you can use any machine which is capable of development with these technologies.
Azure IoT device SDK, which runs on the IoT device side enables the device for communicating with the IoT Hub. It uses the protocols available. The application deployed on the device then sends the telemetry data to cloud. For this purpose, the device needs to be registered with the IoT Hub as well. These SDKs also help run the bidirectional commands which make it easy to control and manage the device.