A Hands-on Guide to Cloud Development with Java