SlideShare a Scribd company logo
1 of 44
Download to read offline
PHP, Node.js and Python Deep Dive
Omed Habib, Product Marketing
Agenda
2015
PHP
Node.js
Copyright © 2015 AppDynamics. All rights reserved. 2
Python
Developer Trends
4.2 Sneak Peak
2015 IN REVIEW
4.1 for PHP
Cross App Correlation
Backend Naming Rules
HTTP Data Collectors
PHP 5.6
API Functions
Copyright © 2015 AppDynamics. All rights reserved. 4
4.1 for Node.js
Error Detection Using HTTP Return Codes
Node.js Backends Discovery & Grouping Rules
Object Instance Tracking
Node.js 0.12
API Functions
Copyright © 2015 AppDynamics. All rights reserved. 5
4.1 for Python
Distributed Transaction Correlation
Cross-App Correlation
Custom Match/Exclude Rules
Linux & Mac
OOTB WSGI Framework Support
API Functions
Copyright © 2015 AppDynamics. All rights reserved. 6
PHP DEEP DIVE
Challenge
Multiple PHP “applications” on a
single server
Copyright © 2015 AppDynamics. All rights reserved. 8
api.acme.com
login.acme.com
admin.acme.com
www.acme.com
Copyright © 2015 AppDynamics. All rights reserved. 9
Before
n applications on the same server
=
1 application in AppDynamics
Copyright © 2015 AppDynamics. All rights reserved. 10
Today
n applications on the same server
=
n applications in AppDynamics
Copyright © 2015 AppDynamics. All rights reserved. 11
Copyright © 2015 AppDynamics. All rights reserved. 12
Before
appdynamics_agent.ini
Copyright © 2015 AppDynamics. All rights reserved. 13
Today
appdynamics_agent.ini
httpd.conf
.htaccess
Copyright © 2015 AppDynamics. All rights reserved. 14
More Flexibility with (same) Configs
agent.controller.hostName
agent.controller.port
agent.applicationName
agent.tierName
agent.nodeName
agent.accountName
agent.accountAccessKey
Copyright © 2015 AppDynamics. All rights reserved. 15
Two Separate Apps, Same Server
<VirtualHost *:80>
DocumentRoot "/Library/WebServer/Documents"
ServerName localhost
ErrorLog "/private/var/log/apache2/error_log"
CustomLog "/private/var/log/apache2/access_log" common
php_value agent.applicationName FrontEnd
php_value agent.tierName FrontTier
php_value agent.nodeName front-node1
</VirtualHost>
Copyright © 2015 AppDynamics. All rights reserved. 16
<VirtualHost *:80>
DocumentRoot "/var/www"
ServerName test.local
<Directory "/var/www">
Options FollowSymLinks Multiviews
AllowOverride Options
Require all granted
</Directory>
ErrorLog "/private/var/log/apache2/error_log"
CustomLog "/private/var/log/apache2/access_log" common
php_value agent.applicationName API
php_value agent.tierName APItier
php_value agent.nodeName api-node1
</VirtualHost>
Copyright © 2015 AppDynamics. All rights reserved. 17
Copyright © 2015 AppDynamics. All rights reserved. 18
Copyright © 2015 AppDynamics. All rights reserved. 19
Multi-Node Support for PHP
Few points to consider…
•  Available for beta after AppSphere
•  4.2 Controller is recommended
•  All apps will share same proxy on server
•  Licenses will stay same (per node) until adjusted
•  Currently in beta, hoping to GA in 4.2
•  Proxy functionality will be replaced with LibAgent in 2016
Copyright © 2015 AppDynamics. All rights reserved. 21
NODE.JS DEEP DIVE
Challenge
Heavy Memory Consumption by
the Node.js Application
Copyright © 2015 AppDynamics. All rights reserved. 23
Memory Leak Diagnostics
V8 Manages Memory
Pro
•  You don’t have to worry
about it.
•  You don’t have to write
code to manage it.
Con
•  You don’t have control
over it.
•  You have to find a way to
find your memory leak.
Copyright © 2015 AppDynamics. All rights reserved. 25
Copyright © 2015 AppDynamics. All rights reserved. 26
Copyright © 2015 AppDynamics. All rights reserved. 27
Copyright © 2015 AppDynamics. All rights reserved. 28
“I can actually say we've had no outages
in production on a Node.js cluster, since
we've been porting over, and I can credit
a large part of that due to the monitoring
of AppDynamics.”
Stace Baal, Director of Engineering
@ eHarmony
Copyright © 2015 AppDynamics. All rights reserved. 29
PYTHON DEEP DIVE
Challenge
A Python Application Executing
Jobs in an Infinite While Loop
Copyright © 2015 AppDynamics. All rights reserved. 31
The Loop
setup()
while (true):
do_work()
teardown()
Copyright © 2015 AppDynamics. All rights reserved. 32
Python Agent API Functions
Copyright © 2015 AppDynamics. All rights reserved. 33
Functions made available
to the application code to
further tailor your APM
solution.
Copyright © 2015 AppDynamics. All rights reserved. 34
from	
  appdynamics.agent	
  import	
  api	
  as	
  appd	
  	
  	
  	
  	
  	
  	
  	
  	
  
setup()	
  
	
  	
  	
  
while	
  (true):	
  
bt_handle	
  =	
  appd.start_bt('do	
  work’)	
  
try:	
  
	
  	
  	
  	
  do_work()	
  
except	
  Exception	
  as	
  exc:	
  
	
  	
  	
  	
  raise	
  
finally:	
  
	
  	
  	
  	
  appd.end_bt(bt_handle,	
  exc)	
  
	
  	
  
teardown()	
  
Custom Exit Calls
Copyright © 2015 AppDynamics. All rights reserved. 35
start_exit_call()
…
end_exit_call()
API Functions
Copyright © 2015 AppDynamics. All rights reserved. 36
•  init(environ=None, timeout_ms=NO_TIMEOUT)
•  shutdown(timeout_ms=None)
•  start_bt(name, correlation_header=None)
•  end_bt(bt_handle, exc=None)
•  add_snapshot_data(bt_handle, key, value)
•  get_active_bt_handle(request)
•  start_exit_call(bt_handle, exit_type, display_name,
identifying_properties, optional_properties=None)
•  end_exit_call(exit_call_handle, exc=None)
•  make_correlation_header(bt_handle, exit_call_handle)
•  bt(name, correlation_header=None)
•  exit_call(bt_handle, exit_type, display_name, identifying_properties,
optional_properties=None)
Copyright © 2015 AppDynamics. All rights reserved. 37
By The Way...
API Functions Are Available Today For
“The new Python agent by AppDynamics
brought the visibility that we’ve come to
expect from the AppDynamics Platform. It
didn't take long for us to qualify that this was
the solution for our deployments of over 3,000
Python instances”
Albert Kemner, Principal Engineer @ Gannett
Copyright © 2015 AppDynamics. All rights reserved. 38
Copyright © 2015 AppDynamics. All rights reserved. 39
DEVELOPER TRENDS
Decoupling Architecture
+
Mindset
=
Merging Teams
Copyright © 2015 AppDynamics. All rights reserved. 41
WHAT’S COMING IN 4.2?
4.2 Roadmap Goal
•  Multi-Node Support
•  SELinux
•  NuSOAP Exit Calls
•  PostgreSQL
Copyright © 2015 AppDynamics. All rights reserved. 43
•  Node.js 4.0 & 5.0
•  Allocation Snapshots
•  Transaction Analytics
•  Heroku Support
•  Windows Support
•  EUM Correlation
•  API Functions
•  Data Collectors
•  MongoDB
Thank You

More Related Content

What's hot

Android 5.0 internals and inferiority complex droidcon.de 2015
Android 5.0 internals and inferiority complex droidcon.de 2015Android 5.0 internals and inferiority complex droidcon.de 2015
Android 5.0 internals and inferiority complex droidcon.de 2015Aleksander Piotrowski
 
Why your APIs should fly first class
Why your APIs should fly first classWhy your APIs should fly first class
Why your APIs should fly first classLibbySchulze
 
apidays LIVE New York 2021 - API tool chain for low budget programs by Paul K...
apidays LIVE New York 2021 - API tool chain for low budget programs by Paul K...apidays LIVE New York 2021 - API tool chain for low budget programs by Paul K...
apidays LIVE New York 2021 - API tool chain for low budget programs by Paul K...apidays
 
OpenAPI Spec at Google (Open API Initiative Meetup on 2016-09-15)
OpenAPI Spec at Google (Open API Initiative Meetup on 2016-09-15)OpenAPI Spec at Google (Open API Initiative Meetup on 2016-09-15)
OpenAPI Spec at Google (Open API Initiative Meetup on 2016-09-15)Open API Initiative (OAI)
 
Kasten securing access to your kubernetes applications
Kasten securing access to your kubernetes applicationsKasten securing access to your kubernetes applications
Kasten securing access to your kubernetes applicationsLibbySchulze
 
Integrating consumers IoT devices into Business Workflow
Integrating consumers IoT devices into Business WorkflowIntegrating consumers IoT devices into Business Workflow
Integrating consumers IoT devices into Business WorkflowYakov Fain
 
Android Develpment vol. 2, MFF UK, 2015
Android Develpment vol. 2, MFF UK, 2015Android Develpment vol. 2, MFF UK, 2015
Android Develpment vol. 2, MFF UK, 2015Tomáš Kypta
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2
 
A friend in need - A JS indeed
A friend in need - A JS indeedA friend in need - A JS indeed
A friend in need - A JS indeedYonatan Levin
 
RESTful services and OAUTH protocol in IoT
RESTful services and OAUTH protocol in IoTRESTful services and OAUTH protocol in IoT
RESTful services and OAUTH protocol in IoTYakov Fain
 
Hands on react native
Hands on react nativeHands on react native
Hands on react nativeJay Nagar
 
Build Android App using GCE & GAE
Build Android App using GCE & GAEBuild Android App using GCE & GAE
Build Android App using GCE & GAELove Sharma
 
A Tour of Swagger for APIs
A Tour of Swagger for APIsA Tour of Swagger for APIs
A Tour of Swagger for APIsAllen Dean
 
Building maintainable app #droidconzg
Building maintainable app #droidconzgBuilding maintainable app #droidconzg
Building maintainable app #droidconzgKristijan Jurković
 
EuroPython 2017 - How to make money with your Python open-source project
EuroPython 2017 - How to make money with your Python open-source projectEuroPython 2017 - How to make money with your Python open-source project
EuroPython 2017 - How to make money with your Python open-source projectMax Tepkeev
 
Vitaliy Makogon: Migration to ivy. Angular component libraries with IVY support.
Vitaliy Makogon: Migration to ivy. Angular component libraries with IVY support.Vitaliy Makogon: Migration to ivy. Angular component libraries with IVY support.
Vitaliy Makogon: Migration to ivy. Angular component libraries with IVY support.VitaliyMakogon
 
Designing APIs with OpenAPI Spec
Designing APIs with OpenAPI SpecDesigning APIs with OpenAPI Spec
Designing APIs with OpenAPI SpecAdam Paxton
 
App funnel project status silver boot camp
App funnel project status silver boot campApp funnel project status silver boot camp
App funnel project status silver boot campBethany Rentz
 

What's hot (20)

Advanced angular
Advanced angularAdvanced angular
Advanced angular
 
Android 5.0 internals and inferiority complex droidcon.de 2015
Android 5.0 internals and inferiority complex droidcon.de 2015Android 5.0 internals and inferiority complex droidcon.de 2015
Android 5.0 internals and inferiority complex droidcon.de 2015
 
Why your APIs should fly first class
Why your APIs should fly first classWhy your APIs should fly first class
Why your APIs should fly first class
 
apidays LIVE New York 2021 - API tool chain for low budget programs by Paul K...
apidays LIVE New York 2021 - API tool chain for low budget programs by Paul K...apidays LIVE New York 2021 - API tool chain for low budget programs by Paul K...
apidays LIVE New York 2021 - API tool chain for low budget programs by Paul K...
 
OpenAPI Spec at Google (Open API Initiative Meetup on 2016-09-15)
OpenAPI Spec at Google (Open API Initiative Meetup on 2016-09-15)OpenAPI Spec at Google (Open API Initiative Meetup on 2016-09-15)
OpenAPI Spec at Google (Open API Initiative Meetup on 2016-09-15)
 
Kasten securing access to your kubernetes applications
Kasten securing access to your kubernetes applicationsKasten securing access to your kubernetes applications
Kasten securing access to your kubernetes applications
 
Integrating consumers IoT devices into Business Workflow
Integrating consumers IoT devices into Business WorkflowIntegrating consumers IoT devices into Business Workflow
Integrating consumers IoT devices into Business Workflow
 
Android Develpment vol. 2, MFF UK, 2015
Android Develpment vol. 2, MFF UK, 2015Android Develpment vol. 2, MFF UK, 2015
Android Develpment vol. 2, MFF UK, 2015
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
 
A friend in need - A JS indeed
A friend in need - A JS indeedA friend in need - A JS indeed
A friend in need - A JS indeed
 
Google cloud endpoints
Google cloud endpointsGoogle cloud endpoints
Google cloud endpoints
 
RESTful services and OAUTH protocol in IoT
RESTful services and OAUTH protocol in IoTRESTful services and OAUTH protocol in IoT
RESTful services and OAUTH protocol in IoT
 
Hands on react native
Hands on react nativeHands on react native
Hands on react native
 
Build Android App using GCE & GAE
Build Android App using GCE & GAEBuild Android App using GCE & GAE
Build Android App using GCE & GAE
 
A Tour of Swagger for APIs
A Tour of Swagger for APIsA Tour of Swagger for APIs
A Tour of Swagger for APIs
 
Building maintainable app #droidconzg
Building maintainable app #droidconzgBuilding maintainable app #droidconzg
Building maintainable app #droidconzg
 
EuroPython 2017 - How to make money with your Python open-source project
EuroPython 2017 - How to make money with your Python open-source projectEuroPython 2017 - How to make money with your Python open-source project
EuroPython 2017 - How to make money with your Python open-source project
 
Vitaliy Makogon: Migration to ivy. Angular component libraries with IVY support.
Vitaliy Makogon: Migration to ivy. Angular component libraries with IVY support.Vitaliy Makogon: Migration to ivy. Angular component libraries with IVY support.
Vitaliy Makogon: Migration to ivy. Angular component libraries with IVY support.
 
Designing APIs with OpenAPI Spec
Designing APIs with OpenAPI SpecDesigning APIs with OpenAPI Spec
Designing APIs with OpenAPI Spec
 
App funnel project status silver boot camp
App funnel project status silver boot campApp funnel project status silver boot camp
App funnel project status silver boot camp
 

Viewers also liked

Spcoutono 160927172653
Spcoutono 160927172653Spcoutono 160927172653
Spcoutono 160927172653Maria Correia
 
Ammonia Wastewater Treatment: Wastewater Treatment Plant (WWTP) Centrate & La...
Ammonia Wastewater Treatment: Wastewater Treatment Plant (WWTP) Centrate & La...Ammonia Wastewater Treatment: Wastewater Treatment Plant (WWTP) Centrate & La...
Ammonia Wastewater Treatment: Wastewater Treatment Plant (WWTP) Centrate & La...Saltworks Technologies Inc.
 
Presentación lorena gonzalez blog 2016
Presentación lorena gonzalez blog 2016Presentación lorena gonzalez blog 2016
Presentación lorena gonzalez blog 2016alejaenriqueznarvaez
 
Milieuoverzicht: oktober & november 2015
Milieuoverzicht: oktober & november 2015Milieuoverzicht: oktober & november 2015
Milieuoverzicht: oktober & november 2015Adviesbureau pH7
 
Template basics
Template basicsTemplate basics
Template basicsPat Beebe
 
The internet is dead, long live the (new) internet, the Blockchain (Dutch Ver...
The internet is dead, long live the (new) internet, the Blockchain (Dutch Ver...The internet is dead, long live the (new) internet, the Blockchain (Dutch Ver...
The internet is dead, long live the (new) internet, the Blockchain (Dutch Ver...Martijn Zoet
 
Decision Model Canvas
Decision Model CanvasDecision Model Canvas
Decision Model CanvasMartijn Zoet
 
Using HPC to Advance Water Desalination By Electrodialysis
Using HPC to Advance Water Desalination By ElectrodialysisUsing HPC to Advance Water Desalination By Electrodialysis
Using HPC to Advance Water Desalination By Electrodialysisinside-BigData.com
 
Sessie NGI: Back to the future
Sessie NGI: Back to the futureSessie NGI: Back to the future
Sessie NGI: Back to the futureMartijn Zoet
 
AppSphere 2016 - Automate performance testing with AppDynamics using continuo...
AppSphere 2016 - Automate performance testing with AppDynamics using continuo...AppSphere 2016 - Automate performance testing with AppDynamics using continuo...
AppSphere 2016 - Automate performance testing with AppDynamics using continuo...Brad Stoner
 
Optimized Selection of Streaming Servers with GeoDNS for CDN Delivered Live S...
Optimized Selection of Streaming Servers with GeoDNS for CDN Delivered Live S...Optimized Selection of Streaming Servers with GeoDNS for CDN Delivered Live S...
Optimized Selection of Streaming Servers with GeoDNS for CDN Delivered Live S...Zhenyun Zhuang
 
How AppDynamics Saved Garmin's Christmas! - AppSphere16
How AppDynamics Saved Garmin's Christmas! - AppSphere16How AppDynamics Saved Garmin's Christmas! - AppSphere16
How AppDynamics Saved Garmin's Christmas! - AppSphere16AppDynamics
 
How DixonsCarphone uses AppDynamics Application Analytics to Influence Busine...
How DixonsCarphone uses AppDynamics Application Analytics to Influence Busine...How DixonsCarphone uses AppDynamics Application Analytics to Influence Busine...
How DixonsCarphone uses AppDynamics Application Analytics to Influence Busine...AppDynamics
 
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16AppDynamics
 

Viewers also liked (16)

Staffing MS | Leadership | Samenwerken
Staffing MS | Leadership | SamenwerkenStaffing MS | Leadership | Samenwerken
Staffing MS | Leadership | Samenwerken
 
Spcoutono 160927172653
Spcoutono 160927172653Spcoutono 160927172653
Spcoutono 160927172653
 
Ammonia Wastewater Treatment: Wastewater Treatment Plant (WWTP) Centrate & La...
Ammonia Wastewater Treatment: Wastewater Treatment Plant (WWTP) Centrate & La...Ammonia Wastewater Treatment: Wastewater Treatment Plant (WWTP) Centrate & La...
Ammonia Wastewater Treatment: Wastewater Treatment Plant (WWTP) Centrate & La...
 
Equipa
EquipaEquipa
Equipa
 
Presentación lorena gonzalez blog 2016
Presentación lorena gonzalez blog 2016Presentación lorena gonzalez blog 2016
Presentación lorena gonzalez blog 2016
 
Milieuoverzicht: oktober & november 2015
Milieuoverzicht: oktober & november 2015Milieuoverzicht: oktober & november 2015
Milieuoverzicht: oktober & november 2015
 
Template basics
Template basicsTemplate basics
Template basics
 
The internet is dead, long live the (new) internet, the Blockchain (Dutch Ver...
The internet is dead, long live the (new) internet, the Blockchain (Dutch Ver...The internet is dead, long live the (new) internet, the Blockchain (Dutch Ver...
The internet is dead, long live the (new) internet, the Blockchain (Dutch Ver...
 
Decision Model Canvas
Decision Model CanvasDecision Model Canvas
Decision Model Canvas
 
Using HPC to Advance Water Desalination By Electrodialysis
Using HPC to Advance Water Desalination By ElectrodialysisUsing HPC to Advance Water Desalination By Electrodialysis
Using HPC to Advance Water Desalination By Electrodialysis
 
Sessie NGI: Back to the future
Sessie NGI: Back to the futureSessie NGI: Back to the future
Sessie NGI: Back to the future
 
AppSphere 2016 - Automate performance testing with AppDynamics using continuo...
AppSphere 2016 - Automate performance testing with AppDynamics using continuo...AppSphere 2016 - Automate performance testing with AppDynamics using continuo...
AppSphere 2016 - Automate performance testing with AppDynamics using continuo...
 
Optimized Selection of Streaming Servers with GeoDNS for CDN Delivered Live S...
Optimized Selection of Streaming Servers with GeoDNS for CDN Delivered Live S...Optimized Selection of Streaming Servers with GeoDNS for CDN Delivered Live S...
Optimized Selection of Streaming Servers with GeoDNS for CDN Delivered Live S...
 
How AppDynamics Saved Garmin's Christmas! - AppSphere16
How AppDynamics Saved Garmin's Christmas! - AppSphere16How AppDynamics Saved Garmin's Christmas! - AppSphere16
How AppDynamics Saved Garmin's Christmas! - AppSphere16
 
How DixonsCarphone uses AppDynamics Application Analytics to Influence Busine...
How DixonsCarphone uses AppDynamics Application Analytics to Influence Busine...How DixonsCarphone uses AppDynamics Application Analytics to Influence Busine...
How DixonsCarphone uses AppDynamics Application Analytics to Influence Busine...
 
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
 

Similar to AppSphere 15 - PHP, Node.js and Python Deep Dive

Add Apache Web Server to your Unified Monitoring Toolkit
Add Apache Web Server to your Unified Monitoring ToolkitAdd Apache Web Server to your Unified Monitoring Toolkit
Add Apache Web Server to your Unified Monitoring ToolkitAppDynamics
 
Next-Gen Business Transaction Configuration, Instrumentation, and Java Perfor...
Next-Gen Business Transaction Configuration, Instrumentation, and Java Perfor...Next-Gen Business Transaction Configuration, Instrumentation, and Java Perfor...
Next-Gen Business Transaction Configuration, Instrumentation, and Java Perfor...AppDynamics
 
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge WorkshopI Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge WorkshopApigee | Google Cloud
 
AppSphere 15 - AppDynamics: Beyond APM - Building an Operations Center
AppSphere 15 - AppDynamics: Beyond APM - Building an Operations CenterAppSphere 15 - AppDynamics: Beyond APM - Building an Operations Center
AppSphere 15 - AppDynamics: Beyond APM - Building an Operations CenterAppDynamics
 
Device Independent API design
Device Independent API designDevice Independent API design
Device Independent API designAmrita jain
 
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamicsMonitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamicsNima Badiey
 
Webinar - Building Custom Extensions With AppDynamics
Webinar - Building Custom Extensions With AppDynamicsWebinar - Building Custom Extensions With AppDynamics
Webinar - Building Custom Extensions With AppDynamicsTodd Radel
 
Introduction to Serverless on AWS
Introduction to Serverless on AWSIntroduction to Serverless on AWS
Introduction to Serverless on AWSAmazon Web Services
 
Better Bug Stomping with Zend Studio and Zend Server
Better Bug Stomping with Zend Studio and Zend ServerBetter Bug Stomping with Zend Studio and Zend Server
Better Bug Stomping with Zend Studio and Zend ServerZend by Rogue Wave Software
 
Advanced REST API Scripting With AppDynamics
Advanced REST API Scripting With AppDynamicsAdvanced REST API Scripting With AppDynamics
Advanced REST API Scripting With AppDynamicsTodd Radel
 
Developing Serverless Application on AWS
Developing Serverless Application on AWSDeveloping Serverless Application on AWS
Developing Serverless Application on AWSAmazon Web Services
 
Platform 4.0 Meetup Launch Event
Platform 4.0 Meetup Launch EventPlatform 4.0 Meetup Launch Event
Platform 4.0 Meetup Launch EventFokke Zandbergen
 
Mulesoft Connections to different companies, and different services
Mulesoft Connections to different companies, and different servicesMulesoft Connections to different companies, and different services
Mulesoft Connections to different companies, and different servicesByreddy Sravan Kumar Reddy
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsApigee | Google Cloud
 
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16AppDynamics
 
N api-node summit-2017-final
N api-node summit-2017-finalN api-node summit-2017-final
N api-node summit-2017-finalMichael Dawson
 
I Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
I Love APIs 2015 API Lab Design-first API Development Using Node and SwaggerI Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
I Love APIs 2015 API Lab Design-first API Development Using Node and SwaggerApigee | Google Cloud
 

Similar to AppSphere 15 - PHP, Node.js and Python Deep Dive (20)

Sst hackathon express
Sst hackathon expressSst hackathon express
Sst hackathon express
 
Add Apache Web Server to your Unified Monitoring Toolkit
Add Apache Web Server to your Unified Monitoring ToolkitAdd Apache Web Server to your Unified Monitoring Toolkit
Add Apache Web Server to your Unified Monitoring Toolkit
 
Next-Gen Business Transaction Configuration, Instrumentation, and Java Perfor...
Next-Gen Business Transaction Configuration, Instrumentation, and Java Perfor...Next-Gen Business Transaction Configuration, Instrumentation, and Java Perfor...
Next-Gen Business Transaction Configuration, Instrumentation, and Java Perfor...
 
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge WorkshopI Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
 
AppSphere 15 - AppDynamics: Beyond APM - Building an Operations Center
AppSphere 15 - AppDynamics: Beyond APM - Building an Operations CenterAppSphere 15 - AppDynamics: Beyond APM - Building an Operations Center
AppSphere 15 - AppDynamics: Beyond APM - Building an Operations Center
 
Device Independent API design
Device Independent API designDevice Independent API design
Device Independent API design
 
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamicsMonitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
 
Webinar - Building Custom Extensions With AppDynamics
Webinar - Building Custom Extensions With AppDynamicsWebinar - Building Custom Extensions With AppDynamics
Webinar - Building Custom Extensions With AppDynamics
 
Introduction to Serverless on AWS
Introduction to Serverless on AWSIntroduction to Serverless on AWS
Introduction to Serverless on AWS
 
Better Bug Stomping with Zend Studio and Zend Server
Better Bug Stomping with Zend Studio and Zend ServerBetter Bug Stomping with Zend Studio and Zend Server
Better Bug Stomping with Zend Studio and Zend Server
 
Advanced REST API Scripting With AppDynamics
Advanced REST API Scripting With AppDynamicsAdvanced REST API Scripting With AppDynamics
Advanced REST API Scripting With AppDynamics
 
Developing Serverless Application on AWS
Developing Serverless Application on AWSDeveloping Serverless Application on AWS
Developing Serverless Application on AWS
 
Platform 4.0 Meetup Launch Event
Platform 4.0 Meetup Launch EventPlatform 4.0 Meetup Launch Event
Platform 4.0 Meetup Launch Event
 
Mulesoft Connections to different companies, and different services
Mulesoft Connections to different companies, and different servicesMulesoft Connections to different companies, and different services
Mulesoft Connections to different companies, and different services
 
API Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIsAPI Services: Building State-of-the-Art APIs
API Services: Building State-of-the-Art APIs
 
Api design best practice
Api design best practiceApi design best practice
Api design best practice
 
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16
 
N api-node summit-2017-final
N api-node summit-2017-finalN api-node summit-2017-final
N api-node summit-2017-final
 
N-API NodeSummit-2017
N-API NodeSummit-2017N-API NodeSummit-2017
N-API NodeSummit-2017
 
I Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
I Love APIs 2015 API Lab Design-first API Development Using Node and SwaggerI Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
I Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
 

More from AppDynamics

Good Migrations: APM Essentials For Cloud Success at AppD Global Tour London
Good Migrations: APM Essentials For Cloud Success at AppD Global Tour LondonGood Migrations: APM Essentials For Cloud Success at AppD Global Tour London
Good Migrations: APM Essentials For Cloud Success at AppD Global Tour LondonAppDynamics
 
Top Tips For AppD Adoption Success at AppD Global Tour London
Top Tips For AppD Adoption Success at AppD Global Tour LondonTop Tips For AppD Adoption Success at AppD Global Tour London
Top Tips For AppD Adoption Success at AppD Global Tour LondonAppDynamics
 
How To Create An AppD Centre of Excellence at AppD Global Tour London
How To Create An AppD Centre of Excellence at AppD Global Tour LondonHow To Create An AppD Centre of Excellence at AppD Global Tour London
How To Create An AppD Centre of Excellence at AppD Global Tour LondonAppDynamics
 
Ensure Every Customer Matters With End User Monitoring at AppD Global Tour Lo...
Ensure Every Customer Matters With End User Monitoring at AppD Global Tour Lo...Ensure Every Customer Matters With End User Monitoring at AppD Global Tour Lo...
Ensure Every Customer Matters With End User Monitoring at AppD Global Tour Lo...AppDynamics
 
Just Eat: DevOps at Scale at AppD Global Tour London
Just Eat: DevOps at Scale at AppD Global Tour LondonJust Eat: DevOps at Scale at AppD Global Tour London
Just Eat: DevOps at Scale at AppD Global Tour LondonAppDynamics
 
What’s Next For AppDynamics and Cisco? AppD Global Tour London
What’s Next For AppDynamics and Cisco? AppD Global Tour LondonWhat’s Next For AppDynamics and Cisco? AppD Global Tour London
What’s Next For AppDynamics and Cisco? AppD Global Tour LondonAppDynamics
 
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...AppDynamics
 
Overcoming Transformational Barriers with Ensono - AppD Global Tour London
Overcoming Transformational Barriers with Ensono - AppD Global Tour LondonOvercoming Transformational Barriers with Ensono - AppD Global Tour London
Overcoming Transformational Barriers with Ensono - AppD Global Tour LondonAppDynamics
 
Equinor: What does normal look like?
Equinor: What does normal look like? Equinor: What does normal look like?
Equinor: What does normal look like? AppDynamics
 
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...AppDynamics
 
Top Tips For AppD Adoption Success - AppD Global Tour Stockholm
Top Tips For AppD Adoption Success - AppD Global Tour StockholmTop Tips For AppD Adoption Success - AppD Global Tour Stockholm
Top Tips For AppD Adoption Success - AppD Global Tour StockholmAppDynamics
 
What's next for AppD and Cisco? - AppD Global Tour
What's next for AppD and Cisco? - AppD Global TourWhat's next for AppD and Cisco? - AppD Global Tour
What's next for AppD and Cisco? - AppD Global TourAppDynamics
 
Cisco and AppDynamics: Redefining Application Intelligence - AppD Summit Europe
Cisco and AppDynamics: Redefining Application Intelligence - AppD Summit EuropeCisco and AppDynamics: Redefining Application Intelligence - AppD Summit Europe
Cisco and AppDynamics: Redefining Application Intelligence - AppD Summit EuropeAppDynamics
 
British Medical Journal: Refine Your Metrics For Digital Success - AppD Summi...
British Medical Journal: Refine Your Metrics For Digital Success - AppD Summi...British Medical Journal: Refine Your Metrics For Digital Success - AppD Summi...
British Medical Journal: Refine Your Metrics For Digital Success - AppD Summi...AppDynamics
 
Forrester Research: How To Organise Your Business For Digital Success - AppD ...
Forrester Research: How To Organise Your Business For Digital Success - AppD ...Forrester Research: How To Organise Your Business For Digital Success - AppD ...
Forrester Research: How To Organise Your Business For Digital Success - AppD ...AppDynamics
 
Mastering APM With End User Monitoring - AppD Summit Europe
Mastering APM With End User Monitoring - AppD Summit EuropeMastering APM With End User Monitoring - AppD Summit Europe
Mastering APM With End User Monitoring - AppD Summit EuropeAppDynamics
 
Become an AppDynamics Dashboard Rockstar - AppD Summit Europe
Become an AppDynamics Dashboard Rockstar - AppD Summit EuropeBecome an AppDynamics Dashboard Rockstar - AppD Summit Europe
Become an AppDynamics Dashboard Rockstar - AppD Summit EuropeAppDynamics
 
Business iQ: What It Is and How to Start - AppD Summit Europe
Business iQ: What It Is and How to Start - AppD Summit EuropeBusiness iQ: What It Is and How to Start - AppD Summit Europe
Business iQ: What It Is and How to Start - AppD Summit EuropeAppDynamics
 
Containers: Give Me The Facts, Not The Hype - AppD Summit Europe
Containers: Give Me The Facts, Not The Hype - AppD Summit EuropeContainers: Give Me The Facts, Not The Hype - AppD Summit Europe
Containers: Give Me The Facts, Not The Hype - AppD Summit EuropeAppDynamics
 
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAutomation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAppDynamics
 

More from AppDynamics (20)

Good Migrations: APM Essentials For Cloud Success at AppD Global Tour London
Good Migrations: APM Essentials For Cloud Success at AppD Global Tour LondonGood Migrations: APM Essentials For Cloud Success at AppD Global Tour London
Good Migrations: APM Essentials For Cloud Success at AppD Global Tour London
 
Top Tips For AppD Adoption Success at AppD Global Tour London
Top Tips For AppD Adoption Success at AppD Global Tour LondonTop Tips For AppD Adoption Success at AppD Global Tour London
Top Tips For AppD Adoption Success at AppD Global Tour London
 
How To Create An AppD Centre of Excellence at AppD Global Tour London
How To Create An AppD Centre of Excellence at AppD Global Tour LondonHow To Create An AppD Centre of Excellence at AppD Global Tour London
How To Create An AppD Centre of Excellence at AppD Global Tour London
 
Ensure Every Customer Matters With End User Monitoring at AppD Global Tour Lo...
Ensure Every Customer Matters With End User Monitoring at AppD Global Tour Lo...Ensure Every Customer Matters With End User Monitoring at AppD Global Tour Lo...
Ensure Every Customer Matters With End User Monitoring at AppD Global Tour Lo...
 
Just Eat: DevOps at Scale at AppD Global Tour London
Just Eat: DevOps at Scale at AppD Global Tour LondonJust Eat: DevOps at Scale at AppD Global Tour London
Just Eat: DevOps at Scale at AppD Global Tour London
 
What’s Next For AppDynamics and Cisco? AppD Global Tour London
What’s Next For AppDynamics and Cisco? AppD Global Tour LondonWhat’s Next For AppDynamics and Cisco? AppD Global Tour London
What’s Next For AppDynamics and Cisco? AppD Global Tour London
 
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
 
Overcoming Transformational Barriers with Ensono - AppD Global Tour London
Overcoming Transformational Barriers with Ensono - AppD Global Tour LondonOvercoming Transformational Barriers with Ensono - AppD Global Tour London
Overcoming Transformational Barriers with Ensono - AppD Global Tour London
 
Equinor: What does normal look like?
Equinor: What does normal look like? Equinor: What does normal look like?
Equinor: What does normal look like?
 
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
Unlock The Power Of Real-Time Performance Data With Business iQ - AppD Global...
 
Top Tips For AppD Adoption Success - AppD Global Tour Stockholm
Top Tips For AppD Adoption Success - AppD Global Tour StockholmTop Tips For AppD Adoption Success - AppD Global Tour Stockholm
Top Tips For AppD Adoption Success - AppD Global Tour Stockholm
 
What's next for AppD and Cisco? - AppD Global Tour
What's next for AppD and Cisco? - AppD Global TourWhat's next for AppD and Cisco? - AppD Global Tour
What's next for AppD and Cisco? - AppD Global Tour
 
Cisco and AppDynamics: Redefining Application Intelligence - AppD Summit Europe
Cisco and AppDynamics: Redefining Application Intelligence - AppD Summit EuropeCisco and AppDynamics: Redefining Application Intelligence - AppD Summit Europe
Cisco and AppDynamics: Redefining Application Intelligence - AppD Summit Europe
 
British Medical Journal: Refine Your Metrics For Digital Success - AppD Summi...
British Medical Journal: Refine Your Metrics For Digital Success - AppD Summi...British Medical Journal: Refine Your Metrics For Digital Success - AppD Summi...
British Medical Journal: Refine Your Metrics For Digital Success - AppD Summi...
 
Forrester Research: How To Organise Your Business For Digital Success - AppD ...
Forrester Research: How To Organise Your Business For Digital Success - AppD ...Forrester Research: How To Organise Your Business For Digital Success - AppD ...
Forrester Research: How To Organise Your Business For Digital Success - AppD ...
 
Mastering APM With End User Monitoring - AppD Summit Europe
Mastering APM With End User Monitoring - AppD Summit EuropeMastering APM With End User Monitoring - AppD Summit Europe
Mastering APM With End User Monitoring - AppD Summit Europe
 
Become an AppDynamics Dashboard Rockstar - AppD Summit Europe
Become an AppDynamics Dashboard Rockstar - AppD Summit EuropeBecome an AppDynamics Dashboard Rockstar - AppD Summit Europe
Become an AppDynamics Dashboard Rockstar - AppD Summit Europe
 
Business iQ: What It Is and How to Start - AppD Summit Europe
Business iQ: What It Is and How to Start - AppD Summit EuropeBusiness iQ: What It Is and How to Start - AppD Summit Europe
Business iQ: What It Is and How to Start - AppD Summit Europe
 
Containers: Give Me The Facts, Not The Hype - AppD Summit Europe
Containers: Give Me The Facts, Not The Hype - AppD Summit EuropeContainers: Give Me The Facts, Not The Hype - AppD Summit Europe
Containers: Give Me The Facts, Not The Hype - AppD Summit Europe
 
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAutomation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
 

AppSphere 15 - PHP, Node.js and Python Deep Dive

  • 1. PHP, Node.js and Python Deep Dive Omed Habib, Product Marketing
  • 2. Agenda 2015 PHP Node.js Copyright © 2015 AppDynamics. All rights reserved. 2 Python Developer Trends 4.2 Sneak Peak
  • 4. 4.1 for PHP Cross App Correlation Backend Naming Rules HTTP Data Collectors PHP 5.6 API Functions Copyright © 2015 AppDynamics. All rights reserved. 4
  • 5. 4.1 for Node.js Error Detection Using HTTP Return Codes Node.js Backends Discovery & Grouping Rules Object Instance Tracking Node.js 0.12 API Functions Copyright © 2015 AppDynamics. All rights reserved. 5
  • 6. 4.1 for Python Distributed Transaction Correlation Cross-App Correlation Custom Match/Exclude Rules Linux & Mac OOTB WSGI Framework Support API Functions Copyright © 2015 AppDynamics. All rights reserved. 6
  • 8. Challenge Multiple PHP “applications” on a single server Copyright © 2015 AppDynamics. All rights reserved. 8
  • 10. Before n applications on the same server = 1 application in AppDynamics Copyright © 2015 AppDynamics. All rights reserved. 10
  • 11. Today n applications on the same server = n applications in AppDynamics Copyright © 2015 AppDynamics. All rights reserved. 11
  • 12. Copyright © 2015 AppDynamics. All rights reserved. 12
  • 13. Before appdynamics_agent.ini Copyright © 2015 AppDynamics. All rights reserved. 13
  • 15. More Flexibility with (same) Configs agent.controller.hostName agent.controller.port agent.applicationName agent.tierName agent.nodeName agent.accountName agent.accountAccessKey Copyright © 2015 AppDynamics. All rights reserved. 15
  • 16. Two Separate Apps, Same Server <VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents" ServerName localhost ErrorLog "/private/var/log/apache2/error_log" CustomLog "/private/var/log/apache2/access_log" common php_value agent.applicationName FrontEnd php_value agent.tierName FrontTier php_value agent.nodeName front-node1 </VirtualHost> Copyright © 2015 AppDynamics. All rights reserved. 16 <VirtualHost *:80> DocumentRoot "/var/www" ServerName test.local <Directory "/var/www"> Options FollowSymLinks Multiviews AllowOverride Options Require all granted </Directory> ErrorLog "/private/var/log/apache2/error_log" CustomLog "/private/var/log/apache2/access_log" common php_value agent.applicationName API php_value agent.tierName APItier php_value agent.nodeName api-node1 </VirtualHost>
  • 17. Copyright © 2015 AppDynamics. All rights reserved. 17
  • 18. Copyright © 2015 AppDynamics. All rights reserved. 18
  • 19. Copyright © 2015 AppDynamics. All rights reserved. 19
  • 21. Few points to consider… •  Available for beta after AppSphere •  4.2 Controller is recommended •  All apps will share same proxy on server •  Licenses will stay same (per node) until adjusted •  Currently in beta, hoping to GA in 4.2 •  Proxy functionality will be replaced with LibAgent in 2016 Copyright © 2015 AppDynamics. All rights reserved. 21
  • 23. Challenge Heavy Memory Consumption by the Node.js Application Copyright © 2015 AppDynamics. All rights reserved. 23
  • 25. V8 Manages Memory Pro •  You don’t have to worry about it. •  You don’t have to write code to manage it. Con •  You don’t have control over it. •  You have to find a way to find your memory leak. Copyright © 2015 AppDynamics. All rights reserved. 25
  • 26. Copyright © 2015 AppDynamics. All rights reserved. 26
  • 27. Copyright © 2015 AppDynamics. All rights reserved. 27
  • 28. Copyright © 2015 AppDynamics. All rights reserved. 28
  • 29. “I can actually say we've had no outages in production on a Node.js cluster, since we've been porting over, and I can credit a large part of that due to the monitoring of AppDynamics.” Stace Baal, Director of Engineering @ eHarmony Copyright © 2015 AppDynamics. All rights reserved. 29
  • 31. Challenge A Python Application Executing Jobs in an Infinite While Loop Copyright © 2015 AppDynamics. All rights reserved. 31
  • 32. The Loop setup() while (true): do_work() teardown() Copyright © 2015 AppDynamics. All rights reserved. 32
  • 33. Python Agent API Functions Copyright © 2015 AppDynamics. All rights reserved. 33 Functions made available to the application code to further tailor your APM solution.
  • 34. Copyright © 2015 AppDynamics. All rights reserved. 34 from  appdynamics.agent  import  api  as  appd                   setup()         while  (true):   bt_handle  =  appd.start_bt('do  work’)   try:          do_work()   except  Exception  as  exc:          raise   finally:          appd.end_bt(bt_handle,  exc)       teardown()  
  • 35. Custom Exit Calls Copyright © 2015 AppDynamics. All rights reserved. 35 start_exit_call() … end_exit_call()
  • 36. API Functions Copyright © 2015 AppDynamics. All rights reserved. 36 •  init(environ=None, timeout_ms=NO_TIMEOUT) •  shutdown(timeout_ms=None) •  start_bt(name, correlation_header=None) •  end_bt(bt_handle, exc=None) •  add_snapshot_data(bt_handle, key, value) •  get_active_bt_handle(request) •  start_exit_call(bt_handle, exit_type, display_name, identifying_properties, optional_properties=None) •  end_exit_call(exit_call_handle, exc=None) •  make_correlation_header(bt_handle, exit_call_handle) •  bt(name, correlation_header=None) •  exit_call(bt_handle, exit_type, display_name, identifying_properties, optional_properties=None)
  • 37. Copyright © 2015 AppDynamics. All rights reserved. 37 By The Way... API Functions Are Available Today For
  • 38. “The new Python agent by AppDynamics brought the visibility that we’ve come to expect from the AppDynamics Platform. It didn't take long for us to qualify that this was the solution for our deployments of over 3,000 Python instances” Albert Kemner, Principal Engineer @ Gannett Copyright © 2015 AppDynamics. All rights reserved. 38
  • 39. Copyright © 2015 AppDynamics. All rights reserved. 39
  • 41. Decoupling Architecture + Mindset = Merging Teams Copyright © 2015 AppDynamics. All rights reserved. 41
  • 43. 4.2 Roadmap Goal •  Multi-Node Support •  SELinux •  NuSOAP Exit Calls •  PostgreSQL Copyright © 2015 AppDynamics. All rights reserved. 43 •  Node.js 4.0 & 5.0 •  Allocation Snapshots •  Transaction Analytics •  Heroku Support •  Windows Support •  EUM Correlation •  API Functions •  Data Collectors •  MongoDB