The extraordinary growth of Java during the last decade owed everything to the set of infrastructure services that application servers provided as part of the platform. However, TCO eventually drove the move to the cloud and PaaS (Platform as a Service) is set to deliver a standard run-time for the next generation of applications, replacing the proprietary infrastructure provided by the application server vendors. Now the question is: where do developers of real-world business applications look for a common set of standard infrastructure services? Is there a common framework that can provide essential application services, such as message queueing, push notifications, email integration, in-memory caching and processing? Amazon Web Services (AWS) with their highly-scaleable IaaS (Infrastructure as a Service) model are an obvious answer, but how best to combine Java's rich ecosystem of tools, frameworks and knowledge with the scale and cost-effectiveness of cloud-based web services? This session will help you to understand how you can deliver applications that make effective use of those services by using a Java PaaS, without being forced to support the underlying infrastructure. In this code-rich session, aimed at architects and developers, Mark Prichard of CloudBees will show how you can: Pass Amazon security credentials and configuration parameters to PaaS applications at run-time to provide customized environments; use JDBC and Amazon RDS (Relational Data Service) to provide resilient and performant relational data servicesReplace JMS queues and topics with Amazon SQS (Simple Queue Service) and SNS (Simple Notification Service) to develop cloud-based messaging applications; use Amazon's SES (Simple Email Service) from Java applications. We'll also look at other cloud e-mail services that offer easy integration with the PaaS modelRun distributed caching solutions in the cloud using Amazon ElastiCache's in-memory distributed caching with Java PaaS deployments.