This document discusses the design and implementation of a service monitoring console within eBay's service oriented architecture framework. It proposes moving from the existing slow and outdated monitoring console (SMC) to a new monitoring console based on Turmeric, eBay's open source SOA framework. The new monitoring console architecture includes a metrics logging framework and metrics handler framework as independent web services. It aims to address issues with the SMC like speed, scalability, and extensibility. Finally, it proposes expanding the monitoring capabilities into a broader services portal.
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Third review presentation
1. Design and Implementation of a Service
Monitoring Console within a Service Oriented
Architecture Framework
Arvind Krishnaa .J
31508104017
Guided By
Dr. Chitra Babu
HOD/CSE
SSN College of Engineering
Third Review - 04th April, 2012
2. Ebay’s SOA Framework
1 Client Runtime - Client application code written by the
consumers of the service. Service Invocation
Framework(SIF)
3. Ebay’s SOA Framework
1 Client Runtime - Client application code written by the
consumers of the service. Service Invocation
Framework(SIF)
2 Server Runtime - Deployment platform for developers to
publish web services. Service Provider Framework (SPF)
4. Ebay’s SOA Framework
1 Client Runtime - Client application code written by the
consumers of the service. Service Invocation
Framework(SIF)
2 Server Runtime - Deployment platform for developers to
publish web services. Service Provider Framework (SPF)
3 CodeGen - Generate boiler-plate code for deploying services as
well as their consumers.
5. Architecture of the SOA framework
Figure 1: Architecture of the SOA framework
6. Where does services monitoring fit in?
1 Develop a service or a consumer to a service using the Eclipse
SOA plugin
7. Where does services monitoring fit in?
1 Develop a service or a consumer to a service using the Eclipse
SOA plugin
2 Deploy the service on an application server
8. Where does services monitoring fit in?
1 Develop a service or a consumer to a service using the Eclipse
SOA plugin
2 Deploy the service on an application server
3 The service logs the metrics onto the Central Application
Logging Framework
9. Where does services monitoring fit in?
1 Develop a service or a consumer to a service using the Eclipse
SOA plugin
2 Deploy the service on an application server
3 The service logs the metrics onto the Central Application
Logging Framework
4 CAL - an aggregator for critical metrics, acting as the focal
point for generating custom reports
12. Issues in SMC
1 Outdated V4 technology for constructing the GUI
2 Very slow!
3 Code is highly monolithic with several metric parameters
hard-wired into the code
4 Difficult to develop further, as well as difficult to move it to a
more efficient mechanism
13. Design goals for the services dashboard
1 Monitoring metrics of services in a modular and loosely
coupled-manner
14. Design goals for the services dashboard
1 Monitoring metrics of services in a modular and loosely
coupled-manner
2 Fast response time of the UI layer
15. Design goals for the services dashboard
1 Monitoring metrics of services in a modular and loosely
coupled-manner
2 Fast response time of the UI layer
3 UI design using a scalable framework
16. Design goals for the services dashboard
1 Monitoring metrics of services in a modular and loosely
coupled-manner
2 Fast response time of the UI layer
3 UI design using a scalable framework
4 Ability to handle large number of services
17. Design goals for the services dashboard
1 Monitoring metrics of services in a modular and loosely
coupled-manner
2 Fast response time of the UI layer
3 UI design using a scalable framework
4 Ability to handle large number of services
5 Continuous availability of the service
18. Design goals for the services dashboard
1 Monitoring metrics of services in a modular and loosely
coupled-manner
2 Fast response time of the UI layer
3 UI design using a scalable framework
4 Ability to handle large number of services
5 Continuous availability of the service
6 Real-time metrics gathering
19. Design goals for the services dashboard
1 Monitoring metrics of services in a modular and loosely
coupled-manner
2 Fast response time of the UI layer
3 UI design using a scalable framework
4 Ability to handle large number of services
5 Continuous availability of the service
6 Real-time metrics gathering
7 Extensibility over exhaustive features
20. What is Turmeric? What is TMC?
Turmeric: Part of the eBay SOA framework is open-sourced, and
this environment is called Turmeric
Services and consumers can be created uing the open-source
plugin
Define type libraries, error libraries for re-use across
applications
Turmeric Monitoring Console: The open-source equivalent of
SMC
21. Architecture of the Monitoring Console
1 Can be abstracted to two frameworks running in parallel -
metrics logging framework and metrics handler framework
22. Architecture of the Monitoring Console
1 Can be abstracted to two frameworks running in parallel -
metrics logging framework and metrics handler framework
2 Both frameworks are web services deployed on an application
server
23. Architecture of the Monitoring Console
1 Can be abstracted to two frameworks running in parallel -
metrics logging framework and metrics handler framework
2 Both frameworks are web services deployed on an application
server
3 SOA Query Metrics Service (sqms) - Logging logging handler
framework
24. Architecture of the Monitoring Console
1 Can be abstracted to two frameworks running in parallel -
metrics logging framework and metrics handler framework
2 Both frameworks are web services deployed on an application
server
3 SOA Query Metrics Service (sqms) - Logging logging handler
framework
4 SPFServlet is the main servlet which handles the requests to
the Turmeric runtime.
5 Initializes the metrics logger for logging metrics published by
Turmeric services.
25. Architecture of the Monitoring Console
1 Can be abstracted to two frameworks running in parallel -
metrics logging framework and metrics handler framework
2 Both frameworks are web services deployed on an application
server
3 SOA Query Metrics Service (sqms) - Logging logging handler
framework
4 SPFServlet is the main servlet which handles the requests to
the Turmeric runtime.
5 Initializes the metrics logger for logging metrics published by
Turmeric services.
6 Monitoring Console (console) - Metrics handler framework
27. Look at the future - Services Portal
SOA framework at a good maturity level; it is now necessary to
have a single portal for monitoring several aspects of the
framework.
1 Ad-hoc querying: Using the data aggregator script
2 Detailed View: Pre-built reports from ad-hoc queries on the
metrics, such as
Dependent services across multiple levels
Dependent SQL queries
The respective pools on which the consumer/service reside
Performance trends of the individual services/URLs hosted on
the given pool in terms of their throughput/hits and
response-time over a period of time
System metrics trends (e.g., CPU, memory, garbage collection,
errors, and etc.)
28. Other contributions at eBay
1 SifRouting Web : Determine the physical locations of a logical
URL, displaying details about it like the pool the service is
deployed in, its namespace and so on.
2 Identifying list of services depending on JAXB : Parsing the
XML file containing the list of projects across all pools, and
examining each project individually
3 Determining Service URLs for services from invoker
configuration bean: To enable an unconventional
load-balancing feature