Yesterday evening Amazon announced a change to how reserved instances work. You can now modify your environment on the fly while still taking advantage of RIs.
For example, you have an m4.xlarge reserved instance. You can now apply that reservation to four m4.medium instances instead-- or vice versa.
In the inverse (you have an m4.medium reservation and switch to an m4.xlarge) the instance reservation discount will still apply-- you'll get a discount on 1/4 of your usage of that instance, and pay on-demand for the remaining 75%. AWS "does the right thing" here-- but it's going to make unwinding your monthly bill a bit more convoluted!
This applies to existing RIs you've already got, effective for this month's billing cycle. You can rearchitect your instance size. Caveats:
This only works inside of instance families. You can't use an i4 reservation for a m3.medium. As a result, you still need to determine the general performance profile of your application prior to locking in an RI purchase. This only applies to shared tenancy. If you're using dedicated hardware for your instances (generally used either for security reasons or to qualify your cloud spend as CapEx) this doesn't apply to you. "Instance Families" only apply to a single generation. When i3 instances came out last month, they offered significant cost savings over the previous generation i2 instances-- but i2 reservations won't work here. As a result, 1 year RIs continue to be my default recommendation unless you really know what you're doing.