MySQL Cluster - How the Sharding works?
NDB may be the right solution for you.  Or...

Sharding is splitting up the data -- some rows go here; some go there.  NDB does sharding, and it also does redundancy.  That is, the rows that are going 'here' can be put on 2 servers for redundancy.  So think through whether you want both, and how many servers you want to put into the system.

You have not mentioned anything about running out of CPU or I/O horsepower on your small machine.  16GB/1TB/8-core machines are about the minimum you can buy today; that give you a lot of growth over what you have.

Also, keep in mind that there is a lot of complexity in building and maintaining NDB.  Plus code changes may be necessary.

"2gb ram 2CPUs 40GB" -- Do you run a junk yard?