I made this while preparing lessons for my '3D Animation in Blender" course. Everything is done in Blender by myself. Rendered in Cycles.
I used Rigid body and Fluid physics in Blender for this.