Home > AWS, re:Invent > AWS re:Invent 2018: Workshop – Alexa, Ask Jarvis to Create a Serverless App for Me – SRV315

AWS re:Invent 2018: Workshop – Alexa, Ask Jarvis to Create a Serverless App for Me – SRV315

November 27th, 2018

Aleksandar Simovic – a software engineer from ScienceExchange
Slobodan Stojanovic – CTO of Cloud Horizon

This workshop piqued my interest as a little peak into the future of creating serverless applications. Today, we can already use existing CloudFormation templates or the Serverless Application Repository (SAM) to spin up a serverless application quickly without having to write any new code although those templates definitely have a lots of text config in them. Surely we can do more though and why not bring some other AWS toys into the mix and create some Alexa magic to help Iron Man with a Jarvis type skill!

In the hands-on workshop, we were to use the SAM along with Amazon Alexa, Lex and SageMaker to create “Jarvis”. I’ve never worked with Lex and Sagemaker before so a good learning opportunity.

You can attempt to play along yourself (although read on first): https://github.com/simalexan/jarvis-workshop

Aleksandar went through an intro to Alexa saying we currently use Alexa to get information but the dream is to get Alexa to build something and this workshop would be using a virtual assistant.

There were 5 steps: (apologies for poor quality pictures)

20181127_193852652_iOS 20181127_194900577_iOS

  1. Alexa Skill – building the necessary Alexa skill intents that are going to be the your interface to create applications and their services
  2. Application Repository – creating methods to interact with the AWS API for the Serverless Application Repository and CloudFormation, to search serverless components, get each one and deploy them using CloudFormation.
  3. Comprehend –  creating methods to interact with the AWS API for the Comprehend and to do further custom analysis and combinations needed for detecting which serverless components to use
  4. DynamoDB – storing the created application and their corresponding services information.
  5. Connect It all

The connectivity was Alexa to Lambda, the language would then be parsed with Comprehend to work out what you said. Then SageMaker would be used to infer which application you may want from your language and search the app library for an application. The app would then be downloaded and deployed with CloudFormation. S3 would be used to store the state between the different phases.

20181127_193252724_iOSWe then went into the workshop itself and were advised to work as a table to do different parts of it and then combine work at the end. Unfortunately the instructions assumed too much previous knowledge and assumed you know how to set things up. Our table struggled to get going even with some of the early steps This was a shame as there was a lot of time wasted just trying to understand what was needed. I love the idea of challenging workshops however a suggestion would be to have clear full instructions and have the someone with less knowledge than the experts try out the workshop. It’s a good idea to have step by step guides with screen shots and then also if possible CLI versions or CloudFormation stacks so people can deploy things quickly if they get behind. More than half the workshop left before it was finished as they seemingly lost interest. I hope to give it more time when I get back. Saying that, the idea of this workshop was still to have a peak into the distant future and get an appreciation for how we could deploy applications, just using our voice, or why not even a gesture. The idea certainly came across and Aleksandar and Slobodan were passionate advocates for Conversational Programming.

An interesting future addition to the workshop is having a visual designer, being able to visually compare prices of two serverless applications and be able to see all the workflows and what each part would cost with an explicit nod to Wardley Mapping.

Comments are closed.