Satellite communication?

Hi everyone!
I plan to make a small boat and make it travel through an ocean. I want to send and receive data to and from the Arudino boat, like the GPS location to go to etc.
When in the middle of the ocean, however, there won't be mobile coverage or internet available, so I was wondering, is there a feasable solution to send/receive data to the Arduino from anywhere in earth? The best choice i see for now is "RockBlock", https://www.rock7.com/shop-product-detail?productId=46 but I have to pay a lot of money just to receive the shield, and have to pay further to send and receive. Is there not a different alternative to this satellite communication? I also researched that you can use radio frequencies, but I think that you are restrained by location for that too.
Please shed some light on this.

Thanks!

In the middle of an ocean, satellite communications is your only option.