Anywhere Internet Access to Arduino Controls

The pi was cheap ($10 from Adafruit) and suited my needs.
I had originally written the code for the ESP8266 but it really struggles to connect to a corporate wi-fi network and the MQTT port is also blocked at work so I had to abandon that idea and run the thing from home.

As I had said above Cayenne supports Arduino & ESP but maybe another service to consider might be Blynk as they also support the same sort of devices and also no need to consider dynamic IP addresses as the device talks to Blynk service and the interface/app talks to the device through the service.