In the previous part we talked about the logical architecture for a digital transformation. In this part, I picked up a modern use case and see how this architecture can help implement all aspects of the business requirements of digital transformation.
I picked up the use case of AWS Polly to store and redistribute speech or do the realtime streaming for conversational text.
The Reference Architecture
Below gives the view of the architecture for this use case.
- Channels like Android/iOS App, web app or voice skills interact with the user and share the text information to the APIs.
- Amazon Cognito is used for user management and as an identity provider for the channel application. Additionally, it allows channel users to leverage existing social identities such as Facebook, Twitter, Google+, and Amazon to sign in.
- Users interact with the channel application backend by performing GraphQL operations against AWS AppSync which is our experience layer.
- Amazon S3 stores channel application static assets including certain user data such as profile images and it also used to store the audio stream. Its contents are securely served via CloudFront.
- AWS AppSync hosts GraphQL HTTP requests and responses to users. In this scenario, data from AWS AppSync is real-time when devices are connected, and data is available offline as well. Data sources is Amazon DynamoDB.
- DynamoDB provides persistent storage for the application, including mechanisms to expire unwanted data from inactive users through a Time To Live (TTL) feature.
- A Lambda function handles interaction with AWS Polly for business flows, which are part of the GraphQL response to clients.
- DynamoDB Streams captures item-level changes and enables a Lambda function to update additional data sources like redshift etc. for data analytics.
- A Lambda function manages streaming data between DynamoDB and Amazon ES, allowing customers to combine data sources logical GraphQL types and operations.
- All of the logs are aggregated in CloudWatch for operational needs. AWS Xray can be used for debugging and tracing prospective for any issues in serverless components.
With AWS AppSync and AWS lambda we are can bring any AI/ML case to life and it will be seamless to the channel applications.
Connect with Me
Hopefully you enjoyed this two part series.
If you are interested for a conversation or a chat. Please reach me on my linkedin.