This slideshow from a recent JavaOne session by Daniel Bryant was posted that elaborates on some of the obstacles for developing in the cloud. Bryant is a principal consultant at OpenCredo, and he has a lot to say about cloud development, useful tools, and helpful techniques. Right out the gate he identifies some of the problems in not respecting the underlying environment, a lack of application/platform monitoring, bizarre failure nodes, difficulty understanding the architecture, and not testing in the cloud.
A core focus of Bryant's session was the creation of a cloud development checklist that centers on the principles of "DHARMA:"
- Highly cohesive/loosely coupled
- Automated from commit to cloud
- Resource aware
- Monitored thoroughly
You can see the full slideshow below.