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 [email protected]
3
Agile Methods
Tools
12 Factor + App
Frameworks
DevOps Automation
Microservices Continuous Delivery
Cloud Agnostic
Becoming Cloud Native
Cloud Native
DevOps Continuous Delivery
Containers Micro 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 16
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 VM VM VM CONTAINER CONTAINER
APP APP
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
Ser
vice
Bro
ker
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
Top Related