The JCatascopia Monitoring System: is a fully automated, multi-layer, interoperable cloud monitoring system suitable for monitoring elastically adaptive cloud services. JCatascopia runs in a non-intrusive and transparent manner to any underlying virtualized infrastructure and can even monitor services distributed across multiple cloud platforms. JCatascopia can be utilized to collect monitoring metrics from multiple levels of the underlying cloud infrastructure as well as performance metrics from cloud applications and subsequently distribute them to subscribed users and platform operators. The JCatascopia Probe API can be utilized by application developers to create their own custom monitoring probes in an easy and straightforward manner. Furthermore, JCatascopia is enhanced with a metric subscription rule mechanism where application developers can subscribe to aggregated metrics and also compose high-level metrics from low-level metrics. Users and platform operators can monitor the performance of their services and the underlying platform by accessing metrics through the JCatascopia REST API or via the JCatascopia web interface which generates for each metric real-time graphs.
JCatascopia novel features, design and analysis, architecture and evaluation experiments are presented in two scientific publications [C1], [C2] while in other works [C3] , [C4], JCatascopia was used to provision and manage cloud service deployments and to support an elasticity controller while scaling a number of elastic cloud services respectively. As the contractual development of JCatascopia is shortly coming to an end (October '14), v2.0 will be released and the JCatascopia Probe Library [D2] will be enriched with a number of application-specific monitoring probes. Most importantly, JCatascopia will continue its lifespan as a standalone system after its contractual obligations have been fulfilled, as we seek to increase its user-base by introducing to the community the JCatascopia website (currently under development) which will exhibit JCatascopia current and past releases, source code, tutorials, documentation and contact form for users in need of support. The complete source code [D1] of JCatascopia is open-source and available to the community under the Apache 2.0 licence and anyone is welcome to contribute to either the JCatascopia core or to share their Monitoring Probes as the list of available Probes grows larger.
As we can observe from JCatascopia web interface, the initial deployment is comprised of 3 VMs: (i) a load balancer; (ii) an application server; and (iii) a Cassandra DB node.
To stress the video service, we have developed a client request workload generator where the workload form (i.e. sinusoidal, linear), type (i.e. read-heavy, write-heavy, combination) and parameters (i.e. intensity, max execution time) are all configurable. Attendees will be able to configure the workload, in order to observe how the workload imposed, affects the overall system. The following figure depicts a sinusoidal client request rate as shown in JCatascopia.
The following figure shows the current number of busy threads (active client connections) of an application server which runs the video streaming web application when a sinusoidal workload is utilized. The current number of busy threads, as well as, memory utilization are key indicators of when a resizing action should be enforced. When the number of busy threads is too high (low) then a new application server is automatically added (or removed).
Imposing a significant workload to the video service will result in instantiating a number of Cassandra Database nodes to facilitate the high number of client requests to download/upload videos. In the following figure, we observe that 6 Cassandra nodes are up and running and we can see the average CPU utilization imposed to the Cassandra ring. The average CPU utilization is exposed by creating in JCatascopia, at runtime, a new metric which aggregates CPU utilization throughout the Cassandra ring.
Finally, in the following figure we can see the deployment after an hour which we can see that currently 9 nodes (1 load balancer, 2 application servers and 6 cassandra nodes) are up and running.
Once the application is up and running, JCatascopia collects the specified low level and application level performance metrics and displays them to the user through intuitive graphs. Users can also create at runtime aggregated monitoring metrics which are also presented graphically through the JCatascopia web interface. Finally, the deployment scales at runtime by adding and removing virtual machines, based on the elasticity strategies specified by the user in c-eclipse and the monitoring metrics reported by JCatascopia. JCatascopia monitoring agents are added and removed automatically to satisfy the new deployment resulted by the scaling actions.
More information for this demonstration can be found on: http://linc.ucy.ac.cy/CELAR/icwe2014/
- [A1] "Monitoring Elastic Cloud Services", D. Trihinas, Advanced School on Service Oriented Computing (SummerSoc 2014), 30 June 05 July, 2014, Hersonissos, Crete, Greece (presentation available in pdf and video available online).
- [J1] "Evaluating cloud service elasticity behavior", G. Copil and D. Trihinas and H.L Truong and D. Moldovan and G. Pallis and S. Dustdar and M. D. Dikaiakos, International Journal of Cooperative Information Systems 2015 pdf.
- [B1] "On Controlling Elasticity of Cloud Applications in CELAR", Georgiana Copil, Daniel Moldovan, Duc-Hung Le, Hong-Linh Truong, Schahram Dustdar, Chrystalla Sofokleous, Nicholas Loulloudes, Demetris Trihinas, George Pallis, Marios D. Dikaiakos, Craig Sheridan, Evangelos Floros, Christos KK Loverdos, Kam Star, Wei Xing, "Emerging Research in Cloud Distributed Computing Systems" (Advances in Systems Analysis, Software Engineering, and High Performance Computing (ASASEHPC) book series), Oakland University, USA 2014.
- [C1] "JCatascopia: Monitoring Elastically Adaptive Applications in the Cloud", D. Trihinas and G. Pallis and M. D. Dikaiakos,"14th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing" (CCGRID 2014), Chicago, IL, USA, 27-29 May 2014, pdf, presentation.
- [C2] "Managing and Monitoring Elastic Cloud Applications [Demo Paper]", D. Trihinas and C. Sofokleous and N. Loulloudes and A. Foudoulis and G. Pallis and M. Dikaiakos, "14th International Conference on Web Engineering" (ICWE 2014), Toulouse, France, 1-4 July 2014, pdf, poster.
- [C3] "c-Eclipse: An Open-Source Management Framework for Cloud Applications", C. Sofokleous and N. Loulloudes and D. Trihinas and G. Pallis and M. Dikaiakos, European Conference on Parallel Processing (EuroPar 2014), Porto, Portugal, 25-29 August 2014, pdf, presentation.
- [C4] "ADVISE: Evaluating Cloud Service Elasticity Behavior [Best Paper Award]", G. Copil, D. Trihinas, D. Moldovan, H.-L. Truong, G. Pallis, S. Dustdar, M. Dikaiakos, "12th International Conference on Service Oriented Computing" (ICSOC 2014), Paris, France, 3-6 November 2014,pdf.