The University of Arizona

Resilient Application as a Service (RAaaS)

PIs: Salim Hariri and Cihan Tunc

In this project, we aim to explore how to use Service Oriented Architecture (SOA) and Autonomic Computing to further advance this research project in collaboration with the NIST Information Technology Laboratory/Advanced Network Technologies Division (ITL/ANTD) so we can offer resilient and adaptive applications as cloud services by leveraging the SOA paradigm. Specifically, the objectives of this projects are: 1) Develop an SOA based architecture to design adaptive and resilient cloud applications. 2) Develop Adaptive Resilient Cloud Algorithms a. Continuous monitoring and analysis to identify existing vulnerabilities b. Develop an analytics/simulation framework to quantify resilience. Based on the vulnerability analysis, common vulnerability scoring system (CVSS), we can quantify the resilience for a given resilient algorithm against the detected vulnerabilities c. Adapt the resilient algorithm by leveraging the SOA paradigm 3) Autonomic Control and Management a. Adopt UA Autonomic Control and Management (AIM) engine to provide automated control and management of all the resources required to implement the resilient cloud services. In this effort, we will leverage the Autonomia and AIM technologies to implement these capabilities. b. Develop techniques to reduce the overhead and improve the performance of the Resilient cloud algorithms and techniques. 4) Experimental Testbed and Evaluation a. Develop a public cloud testbed (Amazon) to experiment with and evaluate the algorithms and software tools developed in the project b. Use the Supercloud testbed to implement the developed resilient cloud services c. Explore the use of multiple technologies to implement the proposed resilient architecture such as Amazon AWS, VMware, Xen, KVM, Microsoft technologies, etc.

Figure 1 shows the architecture to develop resilient and adaptive cloud applications. In this architecture, we leverage the cloud service and SOA paradigms to combine the design stage with the runtime stage. The inseparability between design time and runtime makes it possible to deal with unpredictable events and enable prompt responses to confine and manage mitigation activities.

At the design stage, the SOA Editor helps application developer to describe the main components or services and how they interact with each other to deliver the required functionality. At the runtime stage, the Autonomic Runtime Manager (ARM) transforms the application graph into an application that can be executed by using redundant and diversified services that are provided by the Resilient Middleware Services (RMS). The continuous analysis of the application performance and resilience might suggest changing the services used and how they interact at runtime in a seamless manner without the manual involvement of the application developer. By using SOA, the adaptive change in application services can be done efficiently with little overhead.

go back