Book Image

Cloud Development and Deployment with CloudBees

By : Nicolas De loof
Book Image

Cloud Development and Deployment with CloudBees

By: Nicolas De loof

Overview of this book

CloudBees offers a Platform as a Service (PaaS) to build, run, manage web applications, and support the entire application lifecycle right from development to deployment.The development and deployment of web- and mobile-based Java applications are the basic services that CloudBees has to offer. With these services you can efficiently build and enhance applications, and connect them to existing networks and systems. Cloud Development and Deployment with CloudBees introduces you to the concept of Platform as a Service. It talks about the services in detail that developers can leverage in order to build, manage, and deploy their applications with ease onto the cloud. You will learn the intricacies of the CloudBees ecosystem and how it can be extended to match your specific requirements. Cloud Development and Deployment with CloudBees will get you started with the concepts of PaaS and why it is considered better than other forms of services. You will then learn to create and manage your account, understand the CloudBees ecosystem, and subscribe to the wide array of services available. After this, you will use the clickStart feature that will enable you to set up, run, and host your application on the cloud. You will also venture out into the development phase by understanding Jenkins and how it would help you to build, maintain, and integrate your project build. You will then learn how to use the RUN@CLOUD platform to host your application, and you will also delve into cloud concepts, and understand the architectural constraints and how to monitor the application. Finally, you will deep dive into the extensive capabilities of using clickStack to create or customize your own stack.
Table of Contents (15 chapters)
Cloud Development and Deployment with CloudBees
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

So, which platform?


With the previous definition of platform, you just have a faint idea; your understanding about PaaS is more than IaaS and less than SaaS. The missing definition is to know what the platform is about.

A platform is a standardization of the runtime for which a developer is waiting to do his/her job. This depends on the software ecosystem you're considering. For a Java EE developer, a platform means having at least a servlet container, managing DataSource to access the database, and having few comparable resources wrapped as standard Java EE APIs. A Play! framework developer will consider this as overweight and only ask for a JVM with web socket's support. A PHP developer will expect a Linux/Apache/MySQL/PHP (LAMP) stack, similar to the one he/she has been using for years, with a traditional server hosting service.

So, depending on the development ecosystem you're considering, platforms don't have the exact same meaning, but they all share a common principle. A platform is the common denominator for a software language ecosystem, where the application is all that a specific developer will write or choose on their own. Java EE developers will ask for a container, and Ruby developers will ask for an RVM environment. What they run on top is their own choice.

With this definition, you understand that a platform is about the standardization of runtime for a software ecosystem. Maybe some of you have patched OpenJDK to enable some magic features in the JVM (really?), but most of us just use the standard Oracle Java distribution. Such a standardization makes it possible to share resources and engineering skills on a large scale, to reduce cost, and provide a reliable runtime.