Hello, and welcome to another episode of "This is my Architecture."
I'm Erin from AWS, and I'm joined by Gregg from Lockheed Martin.
Hi Gregg, welcome! - Hi Erin, how are you doing?
Great!
So, why don't you tell us a little bit about Lockheed Martin before we dive in.
Lockheed Martin is the largest defense contractor in the world.
We build a lot of really cool products, and try to help the U.S. protect our borders.
- Thank you. And, what do you there?
I am the Principal Systems Architect, and just a general disruptor, I help to introduce
new technologies all around there, and preparation. - Like this?
Exactly...like what we're going to talk about today.
So, I know that a lot of enterprises are trying to bring in, you know, voice skills
into their everyday work life. And it looks like this is maybe something
that you've accomplished...'cause I see Alexa for Business.
Why don't you tell us a little bit about this project, this app.
Okay. Well, it was challenged by the CTO of the corporation, to provide him
program management status, anywhere, anytime.
Is that because they have to be, maybe, on site, or they can't do it if they're not
in front of their computers? - Business travel, driving in their car to work
in the morning. Just whenever they want it. Sometimes at night, at dinner.
Okay. So, I'm a program manager, is that right? And I'm on my phone, I'm driving in to work, hands-free,
and I asked about the status of my programs on my phone.
So, what happens next? - Okay, so you open the Alexa app,
and the Alexa app then goes into A for B, Alexa for Business, and you would say:
"Open the program management skill." - Okay.
At that time, the program management skill would respond back to you with a 'Welcome,'
and then say: "What do you want to do?" - Right.
Show me the statuses of my programs. - Yes.
- Alright, so what's next? - What would be next is, say, for example,
you would say: "Tell me about the programs that are at risk."
- Okay. - At that point, we would call the risk function
inside of Lambda. And what happens inside the Risk Function, is a 'lookup'
into the model database that says: 'These are the programs that are at risk
of performance degradation". At that time, it does a string 'return,'
that we then turn back into voice. It responds back to the screen of the app,
with the text, as well as reading the text to the user.
Oh, cool! So this has all the program information in this database...and you said this was Aurora MySQL?
- Yeah, Aurora MySQL. - Alright, but I see you have a DynamoDB table here,
why do you need to have two databases? - We had to solve an interesting problem.
- Oh, okay. Tell us. - So, in our problem was the fact that a lot
of programs are abbreviations. We have 'Ackronyms-R-US' at Lockheed Martin.
So, for example, if I have a program called "ABC 123," Alexa would try to read that back to you as "A B C 123"
- Or, "Ah BiC," - "Ah BiC 123," right.
So, what we do, is we convert it, to a string that Alexa now understands
by separating each character with a period. - Oh okay. So it will just know that "A." is "A"
- Right. - And it's not a whole sentence.
- Exactly. - And so that's stored in DynamoDB. Why'd you pick
DynamoDB for this? - The quick return of a 'key value' pair.
Oh, yeah. And super easy to store in there, so... - Exactly.
And Alexa for Business - Why'd you pick Alexa for Business instead of just writing a skill?
Well, the skill itself is called by Alexa for Business, but in Alexa for Business for Enterprise,
we want to use the Enterprise application, we want to roll this out across the Enterprise,
but I wanted to show Leadership, that we could be Enterprise-ready when we were ready to roll
this entire application out. So, no proof of concept, let's just do it.
And with this it'll let you enroll users and keep it as secure and only those who should have access
to it, do. - Key!
And you have these S3 buckets over here, what are these for?
Well, like we talked about, there's a program management database...
- An application that lives. - Ah okay, that sits out here.
Exactly. So, what comes out of that application are two extracts.
One extract is the program management skill data itself. - Okay.
- This is the models, the data... - And this is like some Excel file.
- Yeah, just an Excel spreadsheet. - Okay.
So, I'm somebody who's responsible for exporting this, and I plunk it right in S3...what happens next?
S3 then fires the trigger into Lambda. This Lambda function then enumerates the spreadsheet,
and replaces it into the SQL database in counter format.
Oh okay. So, now it's in a format that this skill can understand and then I can interact with it.
- Exactly. - And so you kind of have the same pattern down here?
Exactly. We have an abbreviation's table, so another spreadsheet with the abbreviations
and their 'pronunciation'... - Oh, nice.
gets triggered, this Lambda function. This Lambda function then creates what
would like a key value pair, like we just described here...
- Okay, great. ...in table format.
Oh, great! Thank you so much for coming here today and showing us how you have enabled your Enterprise
to use Alexa's skill to help people be much more productive while they're on the go.
Anytime! Alright!
And thank you for watching "This is my Architecture."