Cloud computing and the Java EE platform have evolved to provide a runtime environment for Java EE applications with minimal architectural interference. This evolution is addressing issues from the application server and cloud infrastructure point of view. However, design decisions and best practices for the conception of an architecture can influence the choice of a cloud environment. This session presents some tips and tricks for avoiding the traps that prevent effective use of a cloud infrastructure during development of a typical Java EE application. Each tip and trick is evaluated in terms of its impact on the performance, scalability, distribution, elasticity, and cost of some clouds on the market.