Deploying ThingWorx Instances for LiveWorx Hackathon
As part of our involvement with Thingworx' LiveWorx Event this year, wot.io was happy to support the pre-conference LiveWorx hackathon. Participants were provided with some hardware and sensors, some suggested verticals including Smart Agriculture and Smart City challenges, and of course ThingWorx instances for them to pull their solution together.
Part of wot.io's support was to deploy and host the 85 ThingWorx instances for the teams to work on. How did we do it?
One of the fundamental components of the wot.io operating environment (OE) is our configuration service and the associated orchestration that allows us to quickly deploy and manage integrated data services. Leveraging OpenStack's nova command line client and the popular Docker container system, the wot.io OE provides APIs that allow data services to be configured and deployed. This API can then be scripted for specific sets of data services or to deploy multiple instances of the same data service as in the case of the hackathon. This video shows the script we used to spin up the servers in Rackspace. This version creates just 5 rather than 85 instances.
The wot.io OE can also be used to quickly update deployed containers, either individually or en-masse. During the process of preparing for the hackathon, ThingWorx engineers discovered that they needed to revise the base ThingWorx configuration a number of times. They would simply send us a new archive file and we were then able to use it to update our core container. Once we told the configuration service to reference the new version, all of the running instances then detected the new version and updated themselves automatically. This made it easy for us to deploy updates as they came in--even right up until the event started.
In addition to deploying and hosting ThingWorx instances, we have also been working on a wot.io ThingWorx extension that will simplify the integration of ThingWorx with the wot.io OE, allowing data to be routed back and forth between other IoT platforms and thereby solving the IoT Platform Interoperability for the large enterprise and industrial companies. You can read more about our progress on that here.