Monitoring Cloud Native Apps
Nima Badiey, Head of Business Development, Pivotal
> sudo whoami
Copyright © 2015 AppDynamics. All rights reserved. 2
Last login: Tuesday Dec 1 14:15:00 on appsphere
> Which twitter
@badnima
> History
Pivotal – Cloud Foundry
Vmware – Cloud Foundry (v1)
Joyent – Node.js and
Six Apart – TypePad and Moveable Type
Flickr - APIs
Deloitte – PPT + XLS
Sun – Desktops and Servers
Boeing - 777
> Finger
nbadiey@pivotal.io
3
Agile
Methods
Tools
12 Factor
+ App
Frameworks
DevOps
Automation
Microservices Continuous
Delivery
Cloud
Agnostic
Becoming Cloud Native
Cloud Native
DevOps Continuous
Delivery
ContainersMicro services
Copyright © 2015 AppDynamics. All rights reserved. 4
Why is Cloud Native Important?
Copyright © 2015 AppDynamics. All rights reserved. 5
…high performing organizations ship code 30
times faster (and complete these deployments
8,000 times faster), have 50% fewer failed
deployments, and restore service 12 times
faster than their peers.
Time is Money
Easy as…
Copyright © 2015 AppDynamics. All rights reserved. 6
Source: Seth Godin
Extreme
Programming
Scrum
Kanban
Codebase
Dependencies
Configuration
Backing
Services
Build/Release/
Run
Processes
Port Binding
Concurrency
Disposability
Dev/Prod Parity
Logs
Admin
Processes
Eureka
Hystrix
Turbine
Ribbon
Zuul
Spinnaker
How Do We Apply It?
Copyright © 2015 AppDynamics. All rights reserved. 7
Agile 12 Factor
Micro
services
Continuous
Delivery
Cloud DevOps
Vertical vs
Horizontal Scale
App Server
Configuration
Buildpacks
External
Backing
Services
Integration
Contracts
API Controls
The Innovation Cycle
Copyright © 2015 AppDynamics. All rights reserved. 8
1. Design
2. Build
3. Configure
5. Deploy
6. Run
1. Provision
2. Authorize
3. Integrate
4. Monitor
4. Audit
5. Scale
6. Recover
7. Upgrade
 Dev Loop
Business
Ops Loop
PIVOTAL CLOUD FOUNDRY
Cloud Native at Your Service
•  2011 - Founded the OSS project at VMware
•  2013 - Formed Pivotal with Cloud Foundry as base platform
•  2013 - Pivotal Cloud Foundry 1.0
•  2014 - Launched Cloud Foundry Foundation
•  Today - Pivotal leadership:
–  Employs 17 of 20 Open Source Project Leads
–  70% of the full-time Open Source Engineers
–  Drives release process and continuous integration
–  Main influencer of roadmap, new feature development and project
leadership
Copyright © 2015 AppDynamics. All rights reserved. 11
Cloud Foundry Foundation
PLATINUM
GOLD
SILVER
Cloud Foundry Powers Multiple Clouds
Copyright © 2015 AppDynamics. All rights reserved. 13
Spring Cloud Spring Boot
Dev
Spring Boot
From 0 to app in < 5 min
Spring Cloud
Designed for fragile infrastructure in
partnership with Netflix
Application Framework
Copyright © 2015 AppDynamics. All rights reserved. 14
Cloud Foundry
Dev IT Ops
Self healing
Container
management
Integrated logging
Auto scaling
Application Performance
Management
Runtime Platform
Self service
Copyright © 2015 AppDynamics. All rights reserved. 15
Infrastructure Automation
Infrastructure
BOSH
AWS VMware OpenStack
manage services
not servers
zero downtime
no maintenance
windows
infra as code
multi cloud support
IT Ops
IT Ops
embedded OS
Copyright © 2015 AppDynamics. All rights reserved. 16
1
Cloud Native Framework
Contract: 12 Factor App
Contract: BOSH Release
Contract: Cloud Provider Interface
Culture
Dev
Dev IT Ops
Tools
Spring Cloud Spring Boot
BOSH
AWS VMware OpenStack
Application Framework
Runtime Platform
Infrastructure Automation
Infrastructure
IT Ops
IT Ops
Pivotal Cloud Foundry and Pivotal Web Services
How it Works: Just “Push” Your App
True Polyglot! Deploy Immediately!
Scale Seamlessly
Automate Your Ops
Software Developers Spend Too Much Time NOT
Writing Software
0! 3.25! 6.5! 9.75! 13! 16.25!
Administrative tasks
Design and Coding
Brainstorming
Waiting for Test/Build
Managing Environments
Average Hours/Week
Polyglot Agility
CLI and Easy to Use Web Console
Vibrant Marketplace and User Created Services
Let’s Test This Out: Developer Haiku
Copyright © 2015 AppDynamics. All rights reserved. 26
Here is my source code
Run it in the cloud for me
I do not care how
Copyright © 2015 AppDynamics. All rights reserved. 27
And
many
more...
Pivotal Cloud Foundry:
Worldwide Cross Industry Adoption
Mercedes-Benz (Daimler AG)
Driving Digital Differentiation
Copyright © 2015 AppDynamics. All rights reserved. 28
“With Pivotal we have minimized our
innovation cycles and can now respond to
changing market demands faster than ever
before, both of which allowed us to develop
a profound software culture in our
transformational journey into a digital
company… ”
Christoph Hartung
Head of Connected Cars
Mercedes-Benz
AllState
Enabling IT Transformation
Copyright © 2015 AppDynamics. All rights reserved. 29
“The growing variety of programming languages
and frameworks supported by Pivotal Cloud
Foundry offers developers at Allstate the choice
they require. The platform takes care of the details
of application container scheduling, cluster
management, and scaling, greatly reducing the
operational burden to reliably run Cloud Native
applications.”
Matt Curry
Director of Platform Engineering
Allstate Insurance
APPDYNAMICS INTEGRATION
How We Built It
PLATFORM
HOST
What Needs to be Measured?
Copyright © 2015 AppDynamics. All rights reserved. 31
NETWORKING (Connectivity)
VM VM
VMVMVMCONTAINER CONTAINER
APPAPP
ROUTES (Traffic)
Why Not Build Our Own APM?
•  APM is a solved problem
•  Information vs. Intelligence
•  PaaS is NOT a black box
•  Frees us to focus on instrumentation
Copyright © 2015 AppDynamics. All rights reserved. 32
APM: It’s Good, But…
There Are Many Repeatable Steps
•  RTFM
•  Create Account
•  Download Agent(s)
•  Manage Keys
•  Instrument App Server
•  Log-In to dashboard
Copyright © 2015 AppDynamics. All rights reserved. 33
Turning on APM is a repeatable
pattern (e.g., light switch) so why
not automate the pattern?
The Key Components
Copyright © 2015 AppDynamics. All rights reserved. 34
Machine Agent
Service Broker
An AppDynamics Machine Agent is a Java application that can consume
system and runtime information from a JMX Endpoint. It can be configured
to consume and relay information about runtime statistics and vm instance
information of the various Cloud Foundry components, exposed by the
Pivotal Ops Metrics Tile, back to the AppDynamics monitoring dashboard.
This information does not pertain the application specific performance
metrics but more of general runtime state of Cloud Foundry like number of
apps running, number of DEA instances, memory, cpu, disk usage of
various vms hosting the different subsystems of CF like Cloud Controller,
UAA, NATS etc. The Machine Agent would be deployed as an application
on Cloud Foundry.
Service Broker +
Machine Agent
Tile
The Key Components
Copyright © 2015 AppDynamics. All rights reserved. 35
Machine Agent
Service Broker
The AppDynamics Service Broker would be a Java Service Broker that
provides the endpoint information about the AppDynamics Controller
(running on the Cloud) along with License keys or other information relevant
to the AppDynamics application agent and would be deployed as a Java
Application on Cloud Foundry. The Broker would expose the AppDynamics
service on the Marketplace and allow users to directly create service
instance and bind it to the application either from the Pivotal App Manager
Console or from the command line. The service broker would be a static
one in the sense that no new service would be really provisioned and only a
static data about the AppDynamics collector required by the AppDynamics
agent would be provided as part of the credential when an application binds
to the service.
Service Broker +
Machine Agent
Tile
The Key Components
Copyright © 2015 AppDynamics. All rights reserved. 36
Machine Agent
Service Broker
The Cloud Administrator would utilize the AppDynamics Pivotal Tile to
properly install and manage the Service Broker and Machine Agent on
Pivotal Cloud Foundry. The Machine Agent application would be configured
with the connectivity information to the AppDynamics SaaS Controller via
the configuration settings on the Tile. The Tile would install the
AppDynamics Service Broker as an application on Cloud Foundry and
register it as a Service Broker while exposing its service plans on the
Marketplace. Information about the AppDynamics Controller endpoint and
license keys would be provided to the Service Broker at time of install and
this data would then be relayed to the AppDynamics Agents when the
AppDynamics service is bound to the application. The agent would then
communicate with the SaaS Controller to instrument and provide back
performance metrics. The Machine agent would relay the various runtime
metrics of Cloud Foundry back to its Controller. This would allow users to
monitor the application performance as well as the runtime status of various
Cloud Foundry components from the AppDynamics Monitoring Dashboard.
Service Broker +
Machine Agent
Tile
HOST
VM
How it Works From Developer’s Perspective
Copyright © 2015 AppDynamics. All rights reserved. 37
CONTAINER
My App (*.war)
Buildpack
+
=
DEA
(Containerized App Code)
Developer’s compiled app is “pushed” to CF
https://blog.pivotal.io/pivotal-cloud-foundry/products/monitoring-java-apps-appdynamics
ServiceBroker
The containerized app is then automatically
instrumented and will begin publishing via the APM
agent directly to AppDynamics upon completion of
staging
Buildpacks are a convenient way of packaging
framework and/or runtime support for an app. In the
buildpack, we added “detect logic” to identify if
AppDynamics was running as a service, and to
automatically instrument apps
The Service Broker automates the connectivity
between apps and any add-on service such as
AppDynamics via GUI, CLI or Scripts
Copyright © 2015 AppDynamics. All rights reserved. 38
FLOW:
1.  Deploy AppD Machine App to CF
2.  Deploy AppD Service Broker to CF
3.  Register Service Broker
4.  Publicize service plans on Marketplace
5.  App Binds to AppD Service
6.  Agent pulled in by Buildpack
7.  App Agent communicated with AppD
Controller
8.  Machine Agent retransmits Ops metrics
to AppD Controller
Download AppD Tile from PivNet.
Install AppD Tile via Ops Manager
Copyright © 2015 AppDynamics. All rights reserved. 39
Service Broker Configuration
Copyright © 2015 AppDynamics. All rights reserved. 40
Machine Agent Configuration
Copyright © 2015 AppDynamics. All rights reserved. 41
AppDynamics in Services Marketplace
Copyright © 2015 AppDynamics. All rights reserved. 42
AppDynamics Service Plans
Copyright © 2015 AppDynamics. All rights reserved. 43
App Monitoring Dashboard
Copyright © 2015 AppDynamics. All rights reserved. 44
In Conclusion
Pivotal is working with AppDynamics on Cloud Foundry
integration. Pivotal Cloud Foundry customers will be able to
run AppDynamics APM agents/solution within their
applications on Pivotal Cloud Foundry, and this solution will
be supported by AppDynamics. Pivotal is very interested in
working with AppDynamics customers to make sure that this
solution meets their needs.
Copyright © 2015 AppDynamics. All rights reserved. 45
LEARN MORE
Free e-book from O’Reilly
http://bit.ly/cloud-native-book
Application Framework
+
Platform Runtime
+
Infrastructure Automation
Useful Links
pivotal.io/paas
network.pivotal.io
docs.pivotal.io
cloudfoundry.org
bosh.io
github.com/cloudfoundry
Copyright © 2015 AppDynamics. All rights reserved. 47
Many Thanks to:
•  Ryan Morgan
•  Ben Hale
•  Sabha Parameswaran
•  Josh McKenty
•  Scott Frederick
Copyright © 2015 AppDynamics. All rights reserved. 48
•  Matt Polly
•  Mahesh Gandhe
•  Dustin Whittle
•  Sri Dharmasanam
•  Nikhil Katre
•  Pranta Das
•  Naveen Kondapalli
Copyright © 2015 AppDynamics. All rights reserved. 49
Q&A
Thank You

AppSphere 15 - Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics

  • 1.
    Monitoring Cloud NativeApps Nima Badiey, Head of Business Development, Pivotal
  • 2.
    > sudo whoami Copyright© 2015 AppDynamics. All rights reserved. 2 Last login: Tuesday Dec 1 14:15:00 on appsphere > Which twitter @badnima > History Pivotal – Cloud Foundry Vmware – Cloud Foundry (v1) Joyent – Node.js and Six Apart – TypePad and Moveable Type Flickr - APIs Deloitte – PPT + XLS Sun – Desktops and Servers Boeing - 777 > Finger nbadiey@pivotal.io
  • 3.
    3 Agile Methods Tools 12 Factor + App Frameworks DevOps Automation MicroservicesContinuous Delivery Cloud Agnostic Becoming Cloud Native Cloud Native DevOps Continuous Delivery ContainersMicro services
  • 4.
    Copyright © 2015AppDynamics. All rights reserved. 4 Why is Cloud Native Important?
  • 5.
    Copyright © 2015AppDynamics. All rights reserved. 5 …high performing organizations ship code 30 times faster (and complete these deployments 8,000 times faster), have 50% fewer failed deployments, and restore service 12 times faster than their peers. Time is Money
  • 6.
    Easy as… Copyright ©2015 AppDynamics. All rights reserved. 6 Source: Seth Godin
  • 7.
    Extreme Programming Scrum Kanban Codebase Dependencies Configuration Backing Services Build/Release/ Run Processes Port Binding Concurrency Disposability Dev/Prod Parity Logs Admin Processes Eureka Hystrix Turbine Ribbon Zuul Spinnaker HowDo We Apply It? Copyright © 2015 AppDynamics. All rights reserved. 7 Agile 12 Factor Micro services Continuous Delivery Cloud DevOps Vertical vs Horizontal Scale App Server Configuration Buildpacks External Backing Services Integration Contracts API Controls
  • 8.
    The Innovation Cycle Copyright© 2015 AppDynamics. All rights reserved. 8 1. Design 2. Build 3. Configure 5. Deploy 6. Run 1. Provision 2. Authorize 3. Integrate 4. Monitor 4. Audit 5. Scale 6. Recover 7. Upgrade Dev Loop Business Ops Loop
  • 9.
    PIVOTAL CLOUD FOUNDRY CloudNative at Your Service
  • 10.
    •  2011 -Founded the OSS project at VMware •  2013 - Formed Pivotal with Cloud Foundry as base platform •  2013 - Pivotal Cloud Foundry 1.0 •  2014 - Launched Cloud Foundry Foundation •  Today - Pivotal leadership: –  Employs 17 of 20 Open Source Project Leads –  70% of the full-time Open Source Engineers –  Drives release process and continuous integration –  Main influencer of roadmap, new feature development and project leadership
  • 11.
    Copyright © 2015AppDynamics. All rights reserved. 11 Cloud Foundry Foundation PLATINUM GOLD SILVER
  • 12.
    Cloud Foundry PowersMultiple Clouds
  • 13.
    Copyright © 2015AppDynamics. All rights reserved. 13 Spring Cloud Spring Boot Dev Spring Boot From 0 to app in < 5 min Spring Cloud Designed for fragile infrastructure in partnership with Netflix Application Framework
  • 14.
    Copyright © 2015AppDynamics. All rights reserved. 14 Cloud Foundry Dev IT Ops Self healing Container management Integrated logging Auto scaling Application Performance Management Runtime Platform Self service
  • 15.
    Copyright © 2015AppDynamics. All rights reserved. 15 Infrastructure Automation Infrastructure BOSH AWS VMware OpenStack manage services not servers zero downtime no maintenance windows infra as code multi cloud support IT Ops IT Ops embedded OS
  • 16.
    Copyright © 2015AppDynamics. All rights reserved. 16 1 Cloud Native Framework Contract: 12 Factor App Contract: BOSH Release Contract: Cloud Provider Interface Culture Dev Dev IT Ops Tools Spring Cloud Spring Boot BOSH AWS VMware OpenStack Application Framework Runtime Platform Infrastructure Automation Infrastructure IT Ops IT Ops
  • 17.
    Pivotal Cloud Foundryand Pivotal Web Services
  • 18.
    How it Works:Just “Push” Your App
  • 19.
  • 20.
  • 21.
  • 22.
    Software Developers SpendToo Much Time NOT Writing Software 0! 3.25! 6.5! 9.75! 13! 16.25! Administrative tasks Design and Coding Brainstorming Waiting for Test/Build Managing Environments Average Hours/Week
  • 23.
  • 24.
    CLI and Easyto Use Web Console
  • 25.
    Vibrant Marketplace andUser Created Services
  • 26.
    Let’s Test ThisOut: Developer Haiku Copyright © 2015 AppDynamics. All rights reserved. 26 Here is my source code Run it in the cloud for me I do not care how
  • 27.
    Copyright © 2015AppDynamics. All rights reserved. 27 And many more... Pivotal Cloud Foundry: Worldwide Cross Industry Adoption
  • 28.
    Mercedes-Benz (Daimler AG) DrivingDigital Differentiation Copyright © 2015 AppDynamics. All rights reserved. 28 “With Pivotal we have minimized our innovation cycles and can now respond to changing market demands faster than ever before, both of which allowed us to develop a profound software culture in our transformational journey into a digital company… ” Christoph Hartung Head of Connected Cars Mercedes-Benz
  • 29.
    AllState Enabling IT Transformation Copyright© 2015 AppDynamics. All rights reserved. 29 “The growing variety of programming languages and frameworks supported by Pivotal Cloud Foundry offers developers at Allstate the choice they require. The platform takes care of the details of application container scheduling, cluster management, and scaling, greatly reducing the operational burden to reliably run Cloud Native applications.” Matt Curry Director of Platform Engineering Allstate Insurance
  • 30.
  • 31.
    PLATFORM HOST What Needs tobe Measured? Copyright © 2015 AppDynamics. All rights reserved. 31 NETWORKING (Connectivity) VM VM VMVMVMCONTAINER CONTAINER APPAPP ROUTES (Traffic)
  • 32.
    Why Not BuildOur Own APM? •  APM is a solved problem •  Information vs. Intelligence •  PaaS is NOT a black box •  Frees us to focus on instrumentation Copyright © 2015 AppDynamics. All rights reserved. 32
  • 33.
    APM: It’s Good,But… There Are Many Repeatable Steps •  RTFM •  Create Account •  Download Agent(s) •  Manage Keys •  Instrument App Server •  Log-In to dashboard Copyright © 2015 AppDynamics. All rights reserved. 33 Turning on APM is a repeatable pattern (e.g., light switch) so why not automate the pattern?
  • 34.
    The Key Components Copyright© 2015 AppDynamics. All rights reserved. 34 Machine Agent Service Broker An AppDynamics Machine Agent is a Java application that can consume system and runtime information from a JMX Endpoint. It can be configured to consume and relay information about runtime statistics and vm instance information of the various Cloud Foundry components, exposed by the Pivotal Ops Metrics Tile, back to the AppDynamics monitoring dashboard. This information does not pertain the application specific performance metrics but more of general runtime state of Cloud Foundry like number of apps running, number of DEA instances, memory, cpu, disk usage of various vms hosting the different subsystems of CF like Cloud Controller, UAA, NATS etc. The Machine Agent would be deployed as an application on Cloud Foundry. Service Broker + Machine Agent Tile
  • 35.
    The Key Components Copyright© 2015 AppDynamics. All rights reserved. 35 Machine Agent Service Broker The AppDynamics Service Broker would be a Java Service Broker that provides the endpoint information about the AppDynamics Controller (running on the Cloud) along with License keys or other information relevant to the AppDynamics application agent and would be deployed as a Java Application on Cloud Foundry. The Broker would expose the AppDynamics service on the Marketplace and allow users to directly create service instance and bind it to the application either from the Pivotal App Manager Console or from the command line. The service broker would be a static one in the sense that no new service would be really provisioned and only a static data about the AppDynamics collector required by the AppDynamics agent would be provided as part of the credential when an application binds to the service. Service Broker + Machine Agent Tile
  • 36.
    The Key Components Copyright© 2015 AppDynamics. All rights reserved. 36 Machine Agent Service Broker The Cloud Administrator would utilize the AppDynamics Pivotal Tile to properly install and manage the Service Broker and Machine Agent on Pivotal Cloud Foundry. The Machine Agent application would be configured with the connectivity information to the AppDynamics SaaS Controller via the configuration settings on the Tile. The Tile would install the AppDynamics Service Broker as an application on Cloud Foundry and register it as a Service Broker while exposing its service plans on the Marketplace. Information about the AppDynamics Controller endpoint and license keys would be provided to the Service Broker at time of install and this data would then be relayed to the AppDynamics Agents when the AppDynamics service is bound to the application. The agent would then communicate with the SaaS Controller to instrument and provide back performance metrics. The Machine agent would relay the various runtime metrics of Cloud Foundry back to its Controller. This would allow users to monitor the application performance as well as the runtime status of various Cloud Foundry components from the AppDynamics Monitoring Dashboard. Service Broker + Machine Agent Tile
  • 37.
    HOST VM How it WorksFrom Developer’s Perspective Copyright © 2015 AppDynamics. All rights reserved. 37 CONTAINER My App (*.war) Buildpack + = DEA (Containerized App Code) Developer’s compiled app is “pushed” to CF https://blog.pivotal.io/pivotal-cloud-foundry/products/monitoring-java-apps-appdynamics ServiceBroker The containerized app is then automatically instrumented and will begin publishing via the APM agent directly to AppDynamics upon completion of staging Buildpacks are a convenient way of packaging framework and/or runtime support for an app. In the buildpack, we added “detect logic” to identify if AppDynamics was running as a service, and to automatically instrument apps The Service Broker automates the connectivity between apps and any add-on service such as AppDynamics via GUI, CLI or Scripts
  • 38.
    Copyright © 2015AppDynamics. All rights reserved. 38 FLOW: 1.  Deploy AppD Machine App to CF 2.  Deploy AppD Service Broker to CF 3.  Register Service Broker 4.  Publicize service plans on Marketplace 5.  App Binds to AppD Service 6.  Agent pulled in by Buildpack 7.  App Agent communicated with AppD Controller 8.  Machine Agent retransmits Ops metrics to AppD Controller
  • 39.
    Download AppD Tilefrom PivNet. Install AppD Tile via Ops Manager Copyright © 2015 AppDynamics. All rights reserved. 39
  • 40.
    Service Broker Configuration Copyright© 2015 AppDynamics. All rights reserved. 40
  • 41.
    Machine Agent Configuration Copyright© 2015 AppDynamics. All rights reserved. 41
  • 42.
    AppDynamics in ServicesMarketplace Copyright © 2015 AppDynamics. All rights reserved. 42
  • 43.
    AppDynamics Service Plans Copyright© 2015 AppDynamics. All rights reserved. 43
  • 44.
    App Monitoring Dashboard Copyright© 2015 AppDynamics. All rights reserved. 44
  • 45.
    In Conclusion Pivotal isworking with AppDynamics on Cloud Foundry integration. Pivotal Cloud Foundry customers will be able to run AppDynamics APM agents/solution within their applications on Pivotal Cloud Foundry, and this solution will be supported by AppDynamics. Pivotal is very interested in working with AppDynamics customers to make sure that this solution meets their needs. Copyright © 2015 AppDynamics. All rights reserved. 45
  • 46.
    LEARN MORE Free e-bookfrom O’Reilly http://bit.ly/cloud-native-book Application Framework + Platform Runtime + Infrastructure Automation
  • 47.
  • 48.
    Many Thanks to: • Ryan Morgan •  Ben Hale •  Sabha Parameswaran •  Josh McKenty •  Scott Frederick Copyright © 2015 AppDynamics. All rights reserved. 48 •  Matt Polly •  Mahesh Gandhe •  Dustin Whittle •  Sri Dharmasanam •  Nikhil Katre •  Pranta Das •  Naveen Kondapalli
  • 49.
    Copyright © 2015AppDynamics. All rights reserved. 49 Q&A
  • 50.