Architecture overview - Machine Downtime Monitor on AWS

Architecture overview

Deploying this solution with the default parameters builds the following environment in the AWS Cloud.

Machine Downtime Monitor on AWS architecture

Figure 1: Machine Downtime Monitor on AWS architecture

The AWS CloudFormation template deploys the following serverless infrastructure and web content for Machine Downtime Monitor on AWS:

  1. An Amazon Kinesis data stream serves as the solution’s entry point after a connection method for sending machine data into AWS is established.


    You can optionally deploy the Machine to Cloud Connectivity Framework solution to establish this connection or deploy an alternative connector of your choice to make your own connection. Refer to Prerequisites for information about your connection options.

  2. The Kinesis data stream serves as an event source for the Filter Kinesis Stream AWS Lambda function, which filters for messages reporting machine status.

  3. Machine status and production count messages are written to the Real Time Data Amazon DynamoDB table, which is the data source for the historical view in the dashboard. Machine names and status changes are stored in the UI Reference DynamoDB table, which is used to display the machine overview in the dashboard.

  4. AWS AppSync serves as the solution’s API layer. Changes in machine status result in a GraphQL mutation, which updates the solution’s dashboard. The dashboard requests data via GraphQL queries and receives updates using GraphQL subscriptions.

  5. The dashboard component is delivered via a web interface, which lets you set up and monitor machine status events. This dashboard is distributed using Amazon CloudFront and an Amazon S3 bucket as its origin. An Amazon Cognito user pool and identity pool manage user authentication and authorization.

  6. Machine data sent to the Kinesis data stream is stored in a raw data S3 bucket via Amazon Kinesis Data Firehose.

  7. An AWS Glue workflow activates daily at 1:00 AM (UTC). The workflow starts AWS Glue jobs that process the raw data and store the results in the processed data Amazon S3 bucket. Then, the workflow starts an AWS Glue crawler that updates the AWS AWS Glue Data Catalog.

  8. The AWS AWS Glue Data Catalog can be queried manually using Amazon Athena or visualized using Amazon QuickSight.


AWS CloudFormation resources are created from AWS Cloud Development Kit (CDK) (AWS CDK) constructs.