In our view combination of machine learning and elastic provisioning in public clouds is incredibly powerful and will be fundamental to resource provisioning in public clouds. As environments become large/complex/dynamic, there will be no easy way to monitor provisioning vs utilization and adjust them. Machine learning driven resource provisioning will become a necessity. This is only one example of such possibilities.
Software only provides one recommendation (confidence level of recommendation can be adjusted). Customers can confirm the recommendation by visually inspecting the context sensitive data graphs and let the software execute the schedule. In many large environments often customers really don't have much of an idea as to when their long running instances are actually being used. This feature provides great insight into instance utilization and possibility of significant cost savings by automating schedules. Agree it may not be relevant/appplicable in every environment.
AWS does provide rightsizing tools (https://aws.amazon.com/answers/account-management/cost-optim...). However, we find it bit heavy duty for many customers, as it involves S3, RedShift, etc. Some customers may want simpler ways to analyze their environments.
Agree, disk write usage wouldn't show capacity utilization. One needs to look at the file system utilization and make necessary changes (such as resize) to eliminate wasted space. Our experience is that most customers are way over provisioned from a capacity (and even performance point of view). Various opportunities such as right-sizing (manually doing it is a pain), right-typing (selecting gp2, st1 or sc1) io1 IOPS adjustments are available to significantly the reduce storage cost. Automating those tasks is key so that the solution can scale without user action.