Im planning to build a new Image hosting website. First I won't get a lot of traffic but in-order to prepare for the future I need to make a good plan. For this, normal webhosting services won't work because of their bandwidth and storage limitations. So I have four options :

1) Use a dedicated server and store everything there. If this is the best option what are the best hosting services?

2) Use Amazon services. This is a bit costly! Isn't it?

3) Let the users connect their cloud storage account like Google Drive and store the images in there. Will this cause any speed problems? Is it ok with Google? Legal?

4) Use a service like Bitcasa (Our own account). Is it legal and allowed? Will it cause speed problems?

Please note that im trying my best to reduce the cost. But not sacrifice the performance a lot! What is the best option for me?