Tick-Bank's Web Application Performance Optimization for Real-Time Analytics

Standardizing Performance, Monitoring, and Cost Management of Kinesis Streams

Question

Tick-Bank is a privately held Internet retailer of both physical and digital products founded in 2008

The company has more than six-million clients worldwide.

Tick-Bank's technology aids in payments, tax calculations and a variety of customer service tasks and serve as a connection between digital content makers and affiliate dealers, who then promote them to clients thereby assist in building revenue making opportunities for companies. Tick-Bank currently runs multiple java based web applications running on AWS and looking to enable web-site traffic analytics and also planning to extend the functionality for new web applications that are being launched.Tick-Bank uses KPL library to address event integration into the kinesis streams and thereby process the data to downstream applications for analytics.

With growing applications and customers, performance issues are hindering real time analytics and need an administrator to standardize performance, monitoring, manage and costs by kinesis streams. Please select 3 options.

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D. E. F.

Answer: A, C, D.

Option A is correct - Splitting hot shards improve the performance.

Define a single shard for each web application of a kinesis stream.

Based on the usage generated through CloudWatch Metrics for each shard, split the hot shards or merge the cold shards.

This way we can improve the performance and reduce the costs for each stream.

if the performance is still not addressed, adapt to different streams per application.

https://docs.aws.amazon.com/streams/latest/dev/kinesis-using-sdk-java-resharding-strategies.html.

Option B is incorrect - Splitting cold shards does not improve the performance.

Define a single shard for each web application of a kinesis stream.

Based on the usage generated through CloudWatch Metrics for each shard, split the hot shards or merge the cold shards.

This way we can improve the performance and reduce the costs for each stream.

if the performance is still not addressed, adapt to different streams per application.

https://docs.aws.amazon.com/streams/latest/dev/kinesis-using-sdk-java-resharding-strategies.html

Option C is correct - CloudWatch Metrics determine which are your "hot" or "cold" shards, that is, shards that are receiving much more data, or much less data, than expected.

You could then selectively split the hot shards to increase capacity for the hash keys that target those shards.

Similarly, you could merge cold shards to make better use of their unused capacity.

https://docs.aws.amazon.com/streams/latest/dev/kinesis-using-sdk-java-resharding-strategies.html

Option D is correct - Merging cold shards improve performance as well as costs.

Define a single shard for each web application of a kinesis stream.

Based on the usage generated through CloudWatch Metrics for each shard, split the hot shards or merge the cold shards.

This way we can improve the performance and reduce the costs for each stream.

if the performance is still not addressed, adapt to different streams per application.

https://docs.aws.amazon.com/streams/latest/dev/kinesis-using-sdk-java-resharding-strategies.html

Option E is incorrect - Merging hot shards does not improve performance.

Define a single shard for each web application of a kinesis stream.

Based on the usage generated through CloudWatch Metrics for each shard, split the hot shards or merge the cold shards.

This way we can improve the performance and reduce the costs for each stream.

if the performance is still not addressed, adapt to different streams per application.

https://docs.aws.amazon.com/streams/latest/dev/kinesis-using-sdk-java-resharding-strategies.html

Option F is incorrect - CloudTrail does not provide this.

CloudWatch Metrics determine which are your "hot" or "cold" shards, that is, shards that are receiving much more data, or much less data, than expected.

You could then selectively split the hot shards to increase capacity for the hash keys that target those shards.

Similarly, you could merge cold shards to make better use of their unused capacity.

https://docs.aws.amazon.com/streams/latest/dev/kinesis-using-sdk-java-resharding-strategies.html

Tick-Bank is an internet retailer that currently runs multiple Java-based web applications on AWS. The company wants to enable website traffic analytics and extend functionality for new web applications that are being launched. Tick-Bank uses the KPL library to integrate events into Kinesis streams and process the data downstream for analytics. However, as the number of applications and customers increases, performance issues are hindering real-time analytics. Therefore, Tick-Bank needs an administrator to standardize performance, monitoring, manage and costs by Kinesis streams.

There are three correct options to address the performance, monitoring, management, and cost challenges of Kinesis streams.

Option A: Use multiple shards to integrate data from different applications, reshard by splitting hot shards to increase capacity of the stream. Explanation: Sharding is a way to partition the data in a Kinesis stream to process the data in parallel. Multiple shards can integrate data from different applications, and hot shards can be split to increase the capacity of the stream, which can lead to better performance. This option addresses the performance issue of real-time analytics.

Option C: Use CloudWatch metrics to monitor and determine the "hot" or "cold" shards and understand the usage capacity. Explanation: CloudWatch is a monitoring service provided by AWS that can collect and track metrics, logs, and events. CloudWatch metrics can be used to monitor the usage capacity of shards and determine which shards are hot or cold. By using CloudWatch metrics, the administrator can make informed decisions to manage the stream and reduce costs.

Option E: Use multiple shards to integrate data from different applications, reshard by merging hot shards to reduce the cost of the stream and improve performance. Explanation: Merging hot shards can reduce the cost of the stream and improve performance. This option addresses both the cost and performance issues of the Kinesis stream.

Options B, D, and F are incorrect.

Option B: Use multiple shards to integrate data from different applications, reshard by splitting cold shards to increase capacity of the stream. Explanation: This option is incorrect because cold shards are less utilized and do not require an increase in capacity.

Option D: Use multiple shards to integrate data from different applications, reshard by merging cold shards to reduce the cost of the stream. Explanation: This option is incorrect because merging cold shards does not significantly reduce the cost of the stream.

Option F: Use CloudTrail metrics to monitor and determine the "hot" or "cold" shards and understand the usage capacity. Explanation: CloudTrail is a service provided by AWS that records API calls made in an AWS account. It does not provide the monitoring and usage capacity information required to address the performance, management, and cost challenges of Kinesis streams.