At AppDynamics, we pride ourselves on making it easier to monitor complex applications. This is why we are excited to announce our partnership with Pivotal to make it easier to deploy built-in application performance monitoring to the cloud.
Getting started with Pivotal’s Cloud Foundry Web Service
Cloud Foundry is the open platform as a service, developed and operated by Pivotal. You can deploy applications to the hosted Pivotal Web Services (much like you host apps on Heroku) or you can run your own Cloud Foundry PaaS on premise using Pivotal CF. Naturally, Cloud Foundry is an open platform that is used and operated by many companies and service providers.
1) Sign up for a Pivotal CF account and AppDynamics Pro SaaS account
In the future, Pivotal Web Services will include the AppDynamics SaaS APM services, so you’ll only need to sign up for Pivotal Web Services and it will automatically create an AppDynamics account.
2) Download the Cloud Foundry CLI (Command Line Interface)
Pivotal Web Services has both a web based GUI as well as a full featured linux style command line interface (CLI). Once you have a PWS account, you can download a Mac, Windows or Unix CLI from the “Tools” tab in the PWS dashboard or directly for OSX, Linux, and Windows.
3) Sign in with your Pivotal credentials
Using the CLI, log in to your Pivotal Web Services account. Remember to preface all commands given to Cloud Foundry with “cf”. Individual Cloud Foundry PaaS clouds are identified by their domain API endpoint. For PWS, the endpoint is api.run.pivotal.io. The system will automatically target your default org (you can change this later) and ask you to select a space (a space is similar to a project or folder where you can keep a collection of app(s).
$ cf login
Monitoring Cloud Foundry apps on Pivotal Web Services
Cloud Foundry uses a flexible approach called buildpacks to dynamically assemble and configure a complete runtime environment for executing a particular class of applications. Rather than specifying how to run applications, your developers can rely on buildpacks to detect, download and configure the appropriate runtimes, containers and libraries. The AppDynamics agent is built-in to the Java buildpack for easy instrumentation so if you have AppDynamics monitoring running, the Cloud Foundry DEA will auto-detect the service and enable the agent in the buildpack. If you start the AppDynamics monitoring for an app already running, just restart the app and the DEA will autodetect the new service.
1) Clone the Spring Trader demo application
The sample Spring Trader app is provided by Pivotal as a demonstration. We’ll use it to show how monitoring works. First git clone the app from the Github repository.
$ git clone https://github.com/cloudfoundry-samples/rabbitmq-cloudfoundry-samples
2) Create a user provided service to auto-discover the AppDynamics agent
$ cf create-user-provided-service demo-app-dynamics-agent -p “host-name,port,ssl-enabled,account-name,account-access-key”
Find out more about deploying on PWS in the Java buildpack docs.
3) Use the Pivotal Web Services add-on marketplace to add a cloud based AMQP + PostgreSQL database instance
$ cf create-service elephantsql turtle demo-db
$ cf create-service cloudamqp lemur demo-amqp
4) Bind PostgreSQL, AMQP, and AppDynamics services to app
$ git clone https://github.com/cloudfoundry-samples/rabbitmq-cloudfoundry-samples
$ cd rabbitmq-cloudfoundry-samples/spring
$ mvn package
$ cf bind-service demo-app demo-app-dynamics-agent
$ cf bind-service demo-app demo-amqp
$ cf bind-service demo-app demo-db
5) Push the app to production using the Cloud Foundry CLI (Command Line Interface)
$ cf push demo-app -i 1 -m 512M -n demo-app -p target/rabbitmq-spring-1.0-SNAPSHOT.war
Spring AMQP Stocks Demo App
Pivotal Web Services Console
Production monitoring with AppDynamics Pro
Monitor your critical cloud-based applications with AppDynamics Pro for code level visibility into application performance problems.
Pivotal is the proud sponsor of Spring and the related open-source JVM technologies Groovy and Grails. Spring helps development teams build simple, portable, fast, and flexible JVM-based systems and applications. Spring is the most popular application development framework for enterprise Java. AppDynamics Java agent supports the latest Spring framework and Groovy natively. Monitor the entire Pivotal stack including TC server and Web Server, GreenPlum, RabbitMQ, and the popular Spring framework:
Take five minutes to get complete visibility into the performance of your production applications with AppDynamics today.