50
Monitoring Cloud Native Apps Nima Badiey, Head of Business Development, Pivotal

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

Embed Size (px)

Citation preview

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

Monitoring Cloud Native Apps Nima Badiey, Head of Business Development, Pivotal

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

> 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]

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

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

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

Copyright © 2015 AppDynamics. All rights reserved. 4

Why is Cloud Native Important?

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

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

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

Easy as…

Copyright © 2015 AppDynamics. All rights reserved. 6

Source: Seth Godin

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

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

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

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

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

PIVOTAL CLOUD FOUNDRY Cloud Native at Your Service

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

•  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

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

Copyright © 2015 AppDynamics. All rights reserved. 11

Cloud Foundry Foundation

PLATINUM

GOLD

SILVER

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

Cloud Foundry Powers Multiple Clouds

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

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

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

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

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

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

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

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

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

Pivotal Cloud Foundry and Pivotal Web Services

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

How it Works: Just “Push” Your App

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

True Polyglot! Deploy Immediately!

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

Scale Seamlessly

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

Automate Your Ops

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

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

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

Polyglot Agility

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

CLI and Easy to Use Web Console

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

Vibrant Marketplace and User Created Services

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

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

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

Copyright © 2015 AppDynamics. All rights reserved. 27

And many more...

Pivotal Cloud Foundry: Worldwide Cross Industry Adoption

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

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

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

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

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

APPDYNAMICS INTEGRATION How We Built It

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

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)

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

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

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

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?

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

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

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

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

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

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

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

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

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

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

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

Download AppD Tile from PivNet. Install AppD Tile via Ops Manager

Copyright © 2015 AppDynamics. All rights reserved. 39

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

Service Broker Configuration

Copyright © 2015 AppDynamics. All rights reserved. 40

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

Machine Agent Configuration

Copyright © 2015 AppDynamics. All rights reserved. 41

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

AppDynamics in Services Marketplace

Copyright © 2015 AppDynamics. All rights reserved. 42

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

AppDynamics Service Plans

Copyright © 2015 AppDynamics. All rights reserved. 43

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

App Monitoring Dashboard

Copyright © 2015 AppDynamics. All rights reserved. 44

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

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

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

LEARN MORE

Free e-book from O’Reilly http://bit.ly/cloud-native-book

Application Framework +

Platform Runtime +

Infrastructure Automation

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

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

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

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

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

Copyright © 2015 AppDynamics. All rights reserved. 49

Q&A

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

Thank You