Recently I was in Auckland, New Zealand running an Integration in Action workshop and I used Alexa to trigger some of my APIs, including some NodeJS APIs that I built to take off a drone. Some people found this interesting and asked me to write this blog to explain in detail how it works… So, here it is, I hope you find it useful.
There are multiple ways in which you can make Alexa to call your own APIs. Perhaps the most versatile way is by adding a new skill (see: blog 1, 2). However I found an even easier way to do so, and in order to achieve the MVP approach I have been attempting to practice in my day-to-day life, I took this simpler option, which is simulating a Phillips Hue HA bridge. By doing so, Alexa detects a new Home Automation (HA) device in “her” network range and accepts voice commands to easily “turn it on” or “turn it off” which you can then leverage to call your own APIs.
In a previous blog on OCCS, I covered the steps required to provision the service. As an input to the OCCS Service provisioning I was prompted to specify the number of worker nodes I required, which for my example I set to be two. Having provisioned the service, I can now start to build and run my Docker images on these worker nodes. As part of the provisioned service, I have a node dedicated to the Container Console which provides a nice web User Interface that allows me to Build, Deploy, Run and Manage Docker Containers on the worker node hosts that I provisioned as part of my service. The two worker nodes are the hosts that I will ultimately deploy and running the image of interest such as WordPress, MySQL, Oracle Database, Tomcat, Nginx, WebLogic Server or whatever you want pretty much. The Container Console makes it very easy to build, run and deploy images via a web administration console.
In December 2015, Oracle acquired the StackEngine, which provided (Docker) container management software and automation (DevOps) capabilities. According to Wikipedia, https://en.wikipedia.org/wiki/StackEngine – “The StackEngine model-based Docker management software provided an integrated DevOps solution for end-to-end container application delivery and operation, all with an integrated GUI dashboard, service discovery, scheduling, and orchestration functions. StackEngine could be deployed into any on-premise, hybrid, public, or private cloud environments and scaled across thousands of hosts enabling users to start in the lab and scale out to full production.”
In November 2016, Oracle announced the general availability of the Oracle Container Cloud Service (OCCS) which had taken the StackEngine capabilities and transformed them into a Cloud Service.