There are three common patterns to do proxies/upgradable contracts in ETH.
patterns
Lets understand all three one after another