Alexa - The Cloudy Concierge
At Cloudreach, during every quarterly event, we are challenged to create something new. Something innovative that provides a solution to a problem we face as colleagues on an everyday basis. The idea does not necessarily have to be technology related but rather, something to make our lives easier.
Here at our London office, a challenge we often face is that we don’t have a receptionist. Sometimes we find clueless visitors stuck in the limbo that is the hall, waiting for someone to come to their rescue and direct them to the Cloudreach they’re here to see. So we asked ourselves:
"What cool tech can we use / create in order to address our receptionist challenge?".
The answer: A "Cloudy" Concierge
In September 2016, Amazon released a new version of their voice assistant device called Amazon Echo Dot. It is an accessible product and as such, got us thinking about how we could use it to solve our challenge. We decided to use Echo Dot to provide assistance to our guests whilst at the same enabling us to have some fun playing around with techie bits.
We then had the idea of creating a "Cloudy Concierge" Alexa Skill that would welcome and interact with our guests. This would provide them useful information about Cloudreach as well as notifying the Cloudreacher that they are here to meet about their arrival in the office.
Great idea? We think so!
A serverless solution
We wanted the solution to be:
- Cost effective
- Easy to implement and maintain
As per AWS definition: "Serverless computing allows you to build and run applications and services without having to manage infrastructure."
Basically, the application still runs on servers, but all the management, maintenance and patching is performed by the service provider (in our case, AWS). We made use of other AWS services such as RDS (for the database), SES (for sending email notifications) and SQS (for sending SMS). The next diagram provides an overview of the solution architecture. When the guest interacts with the Alexa Skill, we are able to capture her/his full name and also the name of the person that they want to meet at Cloudreach. With that information we call a Lambda function that connects to RDS and retrieves the Cloudreacher’s email and phone number. The same Lambda function then uses Amazon SES (Simple Email Service) and SNS (Simple Notification Service) to send email and SMS notification to the employee, respectively.
Why use AWS services?
Amazon Web Services is known for encouraging the developer community to test their services by providing a free tier for most of their products. In our case, Lambda, RDS, SES and SNS have a free tier available which allowed us to test and deploy them in our solution without spending any money. The Lambda computing service free tier includes 1 million requests and 400,000 GB-seconds of compute time per month.
Also, this kind of infrastructure allows us to keep the system loosely coupled, allowing for quick replacement of services, if needed.
Empowering our solution with Cloudreach Connect
Cloudreach Connect is the Cloudreach IPaaS product that provides a seamless layer of connectivity and data processing for a variety of different data formats and systems. The following diagram shows how Cloudreach Connect could be used to deliver the same solution, without the need to worry about the underlying infrastructure. Cloudreach Connect takes care of providing all the functionalities we need, regardless the infrastructure provider. It works with AWS, Azure and Google services.
Thus we have it, the "Cloudy" Concierge solution!