A developer has a set of EC2 instances that runs the Amazon Kinesis Client Library to process a data stream in AWS. Based on the custom metrics, it shows that the instances are maxing out their CPU Utilization, and there are insufficient Kinesis shards to handle the rate of data flowing through the stream. Which of the following is the BEST course of action that the developer should take to solve this issue and prevent this situation from re-occurring in the future?