Pfizer says its vaccine is effective after 6 months.
Sounds like we have an effective vaccine.
I'm guessing yearly shots, but again that's a guess.
Much depends on how many people choose to not get it and if they continue to spread.
Much also depends on the true effectiveness of natural immunity (those who had the virus). We don't know this yet.