Welcome to 'This is My Architecture.'
I'm Danny, and I'm joined by Michel from mimik.
Today we're going to be talking about edgeEngine.
Thank you for joining us today.
Hey, Danny, how are you?
Doing great.
Can you tell us a little bit about what edgeEngine is?
So edgeEngine is a technology which allows developers to design,
develop, and deploy edge microservices
on nodes like Android and iOS.
So what would you build on top of this?
Can you give me a sample application?
So an example will be an oil industry type scenario
where a small pump will basically have problems.
And when the field agent arrives with an Android tablet,
we'll be able to directly talk to the smart pump
instead of having to go through the cloud
in order to get information.
Okay.
And so how do we enable that type of connectivity?
So how it works is we have nodes which run this edgeEngine.
And when the first node arrived on the network,
it basically registers through the EKS and something called mDS,
which is a discovery service, and this becomes then a super node.
When a new node arrives on the network,
it listens to the super node.
And when this listening happens,
then the super node will register this new node on mDS.
Okay.
And when that state registered, where does it get stored?
It gets stored in MongoDB
because we use a document database for that.
And why did you choose a MongoDB for that?
So we use MongoDB because one of the features
we have on top of the edge service mesh
by a network is an edge service mesh by proximity.
So we have another service node somewhere else,
but close, MongoDB, because this one registered like that.
MongoDB will be used in order to define a cluster by proximity.
Oh, excellent.
And so what is a DynamoDB used for?
So DynamoDB is used because we have other services
like profile, like association,
hierarchy association by peer,
because we had to develop a bunch of services,
which basically are knowledgeable of the fact
that there is this service mesh and there is this ability
to have edge microservice,
because sometimes even a service
like a profile will need to download an edge microservice on nodes.
Okay.
And can you monitor this edge network?
Yes.
A super node reports data information like IPI logs
or business logic, and things like this.
Two, Kinesis Data Streams,
which then push the data to the Firehose to S3
in order to archive the information.
Okay. And then?
And then we have Snowflake,
which basically will query information from S3
in order to do sequel-like type query.
And so from that you can get real-time analytics
of what's going on in your network?
So we get...
These are real-time analytics or long-term analytics,
because we retain actually very few information in Snowflake,
all the information stays on S3.
And depending on the usage we use our target quickly
in order to have real-time or we can target
over a month's period, you know, that you have more long-term analytics.
Can you tell me a little bit about
what the sense of scale of the system is,
how many messages that you're processing?
So the message...
We have a game customer.
And for the game industry,
we're talking about a thousand messages a second,
which are flowing through the stream.
That's very fast.
Well, I think this is a very interesting architecture.
We're able to use the cloud to help support edge networking.
I'd like to thank you for taking the time
to share this architecture with us today.
And I would like to thank you for watching
'This is My Architecture.'