Learn how to use the Java instrumentation API to instrument your application and its external libraries to monitor transactions and visualize trends in your application. This tutorial starts by introducing transaction monitoring and ends with a complete, running transaction monitoring system. You learn every step along the way: instrument Java code in a running Java server, log SQL queries as the database sees them, visualize high-volume servlet performance as your users experience it, and expose statistics with JMX. The tutorial shows you how these techniques enable you to not just detect but also but predict outages on large-scale systems.

Day 2

teaching java programming to next generation

volunteer

be careful with kids’ teamwork skills

25% of MIT income come from robot compeition reward http://www.usfirst.org/

performance – constantly measures performance, every week, the 6 busiest minutes for each market is identified to used as baseline (window doesn’t want to be too long; uptime is 24×7, shutdown on the weekend; just enough interval for repetivie tests)

performance – orders MAY have cascading effects – such cascading side effects must be processed before handling the next incoming order – measuring order queuing and latency

benchmarking

0-1 ms: good

1-5 ms: ok

5-30 ms: slow

more than 30: very slow – 41ms = time of a standard (24fps) video frame

commands – statement caching (retains previously parsed statement in shared pool, cursor stays open on the client side for faster re-use, no additional lookup needed on server; metadata remains on the client/caches most recently used statements – works with SQl and PL/SQL statements

Cloud computing – use of computing resources (hw, sw, peripherals) that are deliverd as a service over a network

Software as a service – gmail

PaaS –

Storage as a service

cloud compueting for embedded devices – use of mbedded device resources that are delivered as a service over netowrk, embedded device services (becomes a mini-server) – device as a service, concentrator (collection of devices) as a Service

tracking – track the path of user entering into ebay through different channel (affiliates, direct traffic, marketing emails, site emails, portals, social media, paid search, nature search) – marketing emails are sent by ebay, site emails

experimentation –

users go to the site,

experimentation platform(EP) identifies the user,

EP determines what treatment should be served based on user profile and experiments that are live in the EP system (persistent cookie)

applications serve the correct experience to the user based on the treatment selected by EP.

user experience is logged for analysis

personalization – share and leverage combined personalization data – ebay does see an opportunity to provide more custom info to customers through rea-time personalization by using dynamic site and apps to delivery targted content. Personalization filters out the noise consumers, helping them avoid info overload. highly targeted info!!

challenges – capturing the most important data as it happens (real-time), scalability, performance, cost effectiveness

best practices – sometimes it’s appropriate to have exactly one instance of a class (singleton pattern) – typically those types of objects are accessed by disparate objects throughout a software system and therefore require a global point of access

best practices – decouple sender and receiver of a request by interposing a chain of objects between them

best practices – command design pattern. substitute a proxy for an object. letting app framework make requests of app-specific objects, without the framework knowing the objects

Application deployment has been considered a bottleneck in our SDLC pipeline. In this talk we will share our story about achieving deployment automation in WebMD: from case studies, identifying requirements, process simplification and standardization, tool evaluation/selection to implementation. We’ll finish with a live demo – how we use the automation system to promote the code across SDLC.

Session type: 40-minute session

Topics: Operations

Abstract

WebMD started a CI (Continuous Integration) initiative back in October 2011 to deal with the excessive demand for application deployment as a result of:

Increasing number of applications supported

Diversity of the infrastructure

Majority of release pipelines adopt agile approach

This presentation is meant to help organizations like us to prepare and deal with challenges by sharing our complete story with them.

History lesson – how deployment process evolves in WebMD; from ‘cvs -d’ to python scripts, big name deployment tool to what we have today

What we are facing – diversity of infrastructure, number of applications/agile approach which yields high demand for application deployment, configuration management, complexity of deployment procedures

Case studies – deployment procedures as of 2012 and corresponding time analysis and maintenance cost

CI (Continuous Integration) team in WebMD – how we organize a cross-functional task force

Leadership and guidelines How we deal with politics and meet everyone’s need including QA, Dev, Ops, and PMO