Welcome to This Is My Architecture.
I am Paola and I am here with Tommaso from Miriade.
-Thank you for being here, Tommaso. -Thank you, Paola.
What does Miriade do?
Miriade is a consulting firm that deals with middleware.
It is specialized in several fields
above all, big data, machine learning and advanced analytics.
-Can you tell us about your proposal? -Yes.
We created this solution for AIM Mobilità,
one of our clients that deals with parking management
and rest areas.
The need of the client was to put together all the data
from the parking areas to make previsions of machine learning
about the future state of occupancy and then make available to the public
real-time data about the current situation.
Everything starts from the parking lots which send to Kinesis Firehouse
data about the current state of occupancy.
Kinesis Firehouse, once a minute, executes a Lambda
which prepares the information, cleans up,
exports the data in Parquet on S3
and then writes a version in live on DynamoDB.
This version also has a TTL marker,
time to leave of the data,
so that the data older then a week are automatically deleted from Dynamo.
How do you analyze the data?
The data on S3 are used by Amazon SageMaker
to create a machine learning model
able to predict the use of parking lots in the long term.
I see that you also used Step Function. How?
Yes.
Step Function orchestrates all the necessary steps
to create and update new models.
Specifically, and regularly, a Step Function is scheduled
to, first, execute a Lambda that cleans up the data,
and then requests the training of a new model on SageMaker
and its deploy on an endpoint.
Alright. How do you use CodeCommit?
On CodeCommit there are several repositories.
One of them holds the templates of CloudFormation
to define the whole infrastructure.
So, when we need to modify the infrastructure
we do not use the console, but instead we update the templates of CloudFormation
and then from CodeCommit, automatically,
a pipeline and a code deploy make use of the new resources.
Also, there are the repositories necessary
to the Lambdas and the algorithms of SageMaker.
When a developer or a data scientist
edits a new code version
a pipeline releases it with a development alias
or a test one in the related Lambda.
Here a new version can be tested
and then, eventually, made in production.
How are the data used by the end user?
The end user can have access to the data through a API Gateway.
When there is a request in API Gateway
the API executes a Lambda to get the data
forecast data, from example,
by sending a request to the endpoint of SageMaker.
If the data are about real-time information
they are taken by DynamoDB.
Do you have any developments in mind for you architecture?
We would like to use QuickSight
to allow the client to visualize
the parking lots state
and other metrics.
What are the strengths of your architecture?
Well, of course, the fact that our architecture is serverless
so, it has more scalability, it is more efficient and keeps the costs low
or proportional to the use anyway.
-Okay. Thank you, Tommaso. -You are welcome.
Thank you for following us on This Is My Architecture.
See you soon.