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