Transcript Slide 1
NORTH DAKOTA STATE UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE Autonomic Self-Testing Of the Cloud, In the Cloud CS-Industry Consortium Outreach: IBM Presenter: Tariq M. King April 21, 2010 © NDSU SOFTWARE TESTING RESEARCH GROUP Outline Motivation Background Position Paper (ICSTW ‘10) Migrating AST to the Cloud Work-In-Progress Conclusion © NDSU SOFTWARE TESTING RESEARCH GROUP 2 Motivation Cloud services deliver computing resources to users via the web, e.g., business process, data store Generally characterized by: High availability and performance requirements Dynamic behavior through service discovery, redirection, load balancing, on-line updates Tailor-made services can be built from existing services, while hiding underlying complexity How can we test stateful, adaptive, remote services in the cloud without excessive degradation of QoS? © NDSU SOFTWARE TESTING RESEARCH GROUP 3 Background CLOUD COMPUTING Cloud offers Everything-as-a-Service (XaaS) Software-as-a-Service – programs designed to help users perform a task, e.g., Google Apps Platform-as-a-Service – development, testing, and execution environments to support applications, e.g., Microsoft Windows Azure. Infrastructure-as-a-Service – computer hardware including servers, network equipment, and the software to support them e.g., Amazon CloudWatch Trend towards virtualization for providing XaaS © NDSU SOFTWARE TESTING RESEARCH GROUP 4 Background AUTONOMIC COMPUTING Autonomic Computing [IBM 2003] aims to reduce the burden of managing complex systems Systems dynamically adapt to changes in their environment, i.e., four self-* features King et. al [2007] introduce an implicit self-test characteristic Regardless of self-* features implemented, system should validate adaptations at runtime © NDSU SOFTWARE TESTING RESEARCH GROUP SelfConfigure SelfHeal SelfTest SelfOptimize SelfProtect 5 Background AUTONOMIC COMPUTING Self-* is realized through Monitor-Analyze-PlanExecute (MAPE) loops in Autonomic Managers Monitor – polls state of managed resource Analyze – determines Sensor Effector Autonomic Manager Analyze Plan if state is undesirable Plan – formulates a plan to address the problem Execute – implements the plan on the resource © NDSU Monitor Execute Knowledge Change Symptoms Change Request Plan Sensor Effector Managed Resource SOFTWARE TESTING RESEARCH GROUP 6 Autonomic Self-Testing TEST MANAGERS Autonomic Test Managers apply the concept of MAPE to runtime testing of adaptive changes Monitor, intercept, and validate change requests generated by AMs AST is supported by: » » » » © NDSU Two General Strategies Detailed Workflows Various Algorithms Object-Oriented Designs Test Manager Sensor Effector Analyze Plan Autonomic Manager Analyze Plan Monitor Execute Monitor Knowledge Execute Knowledge Autonomic Manager Sensor Effector Managed Resource SOFTWARE TESTING RESEARCH GROUP 7 AST (cont’d) VALIDATION STRATEGIES Safe Adaptation with Validation tests changes in-place, directly on managed resource Replication with Validation tests changes using copies of managed resources testing can occur “transparently”Autonomic on a separate node Autonomic Self-Management Self-Testing SYSTEM NODE TESTING NODE Managed Resource © NDSU Copy of Managed Resource SOFTWARE TESTING RESEARCH GROUP 8 Migrating AST to the Cloud OVERVIEW Combine the development of an autonomic selftest harness for a cloud service, with the delivery of Test Support as-a-Service (TSaaS) Each cloud provider develops a self-test harness for validating changes to their hosted services and underlying infrastructure Sub-procedures of automated tests are modeled as operations realized on a separate test bed and exposed via a TSaaS API for cloud partners © NDSU SOFTWARE TESTING RESEARCH GROUP 9 Developing the Self-Test Harness During Emphasis This model theisdevelopment can on the thenuse be of encoded ofReplication a cloud in test service, with scripts Validation a test for in the cloud automated model is generally tools, to address and created linked hightoavailability to validate a self-test itsrequirements behavior harness Test Manager Analyze Plan Execute XaaS Monitor Local Test Bed Knowledge X-as-a-Service Cloud Consumer © NDSU Test Model Cloud Partner SOFTWARE TESTING RESEARCH GROUP 10 Exposing Test Support as-a-Service Virtual Test Environment Analyze XaaS Test Manager Partner Test Bed Plan XaaS Local Hypervisor Test Bed Monitor Execute Knowledge Test Support as-a-Service X-as-a-Service Test Model Virtualization Partners cantest use issetup, used TSaaS to during reduce development the overhead of of tailor maintaining made Automated input, and assertion operations from applications copies enhance and testing and (on-demand for automating testing, regression snapshots) the testand model areservices, used asCloud the basis for developing TSaaStests Cloud Consumer Partner © NDSU SOFTWARE TESTING RESEARCH GROUP 11 Application View SYSTEM-WIDE SELF-TESING Partners generally develop applications by extending existing services (A,B) that are remotely hosted An adaptation manager is used to enable dynamic behavior, and a test manager for validation Now using TSaaS APIs partners can perform integration testing of stateful remote services © NDSU SOFTWARE TESTING RESEARCH GROUP 12 Work-In-Progress PROTOTYPE PLAN Goal: Proof of Concept TSaaS with Virtualization Steps: Define a method and detailed workflows for TSaaS Acquire necessary hardware and software resources Apply the method in the context of a problem-based scenario in the healthcare domain Platform and Tool Support: Windows Server 2008 R2 – WMI and Hyper-V API Visual Studio 2010 – Service Development (Azure) © NDSU SOFTWARE TESTING RESEARCH GROUP 13 Scenario PATIENT-CENTERED HEALTHCARE While abroad you take ill and are admitted to a local hospital. A cloud-based solution provides the admitting doctor at the hospital with services for: Locating and accessing your medical history using a variety of sources, e.g., hospitals, clinics, pharmacies Consulting with other specialists in real-time for a second opinion on your condition (AV, Chat, File) Scheduling an appointment with another specialist on your behalf, or with your regular physician Filing medical claims with your insurance © NDSU SOFTWARE TESTING RESEARCH GROUP 14 Such a System Can Be… Mission Critical In the presence of medical emergencies Self-Configuring New hospitals, clinics, pharmacies, specialists, and services can come up or existing ones go obsolete Automatically realize communication based on user needs and device capabilities Self-Optimizing Balance workloads to maintain throughput ...and more giving rise to the need for AST in the Cloud © NDSU SOFTWARE TESTING RESEARCH GROUP 15 Conclusion Presented a high-level view of Autonomic SelfTesting of Cloud Applications and Services Our approach seeks to improve the testability of the cloud, and enable automated testing in the cloud to cross system boundaries Plans to build a prototype of TSaaS and apply it in the context of patient-centered healthcare Investigation will include using TSaaS during development, and for automated regression testing © NDSU SOFTWARE TESTING RESEARCH GROUP 16 Acknowledgements Annaji Sharma Ganti Dr. Kenneth Magel Mohammed Akour Akanksha Jaidev Dr. Scott Tilley and the STITC Reviewers © NDSU SOFTWARE TESTING RESEARCH GROUP 17 References IBM Autonomic Computing Architecture Team, “An Architectural Blueprint for Autonomic Computing, IBM, Hawthorne NY, Technical Report, June 2006. T. M. King, A. E. Ramirez, R. Cruz, and P. J. Clarke, “An integrated self-testing framework for autonomic computing systems,” JCP, vol. 2, no. 9, pp. 37–49, 2007. T. M. King, “A self-testing approach for autonomic software,” Ph.D. dissertation, Florida International University, Miami, FL, USA, August 2009. A. Weiss, “Computing in the Clouds,” netWorker, vol. 11,no. 4, pp. 16–25, 2007. W. K. Chan, L. Mei, and Z. Zhang, “Modeling and Testing of Cloud Applications,” in APSCC ’09: Proceedings of the 2009 IEEE AsiaPacific Services Computing Conference. Los Alamitos, CAA, USA: IEEE Computer Society, 2009. © NDSU SOFTWARE TESTING RESEARCH GROUP 18 The End. Questions? ¿Preguntas? 問題 Sawwal вопросы 質問 domande ερωτήσεις © NDSU SOFTWARE TESTING RESEARCH GROUP 19