Testing in a multi-cloud environment presents unique challenges. This presentation reviews some of these challenges and includes some examples of how they can be addressed
9. Examples of challenging cloud behavior
1. Requiring paperwork / manual processing
2. Requiring calling support to create private images
3. Requiring a new account for new API versions, thus forgetting
backward compatibility
4. Using same API version, but continuing to make changes
5. Taking hours to launch a server or launching server requests
serially
6. Having a ridiculously low cut-off for throttling API requests e.g.
dozens of API calls per second
7. Not providing a way for the VM to discover its own ID
10. Each is able to do different
things in different ways
11. Partial Cloud Feature Matrix
Feature AWS Rackspace Terremark Joyent
Launch Server S S S S
Pause Server S NS S S
Make Image S S S NS
Create Snapshot S S NS NS
Create Volume S S NS NS
Create Loadbalancer S S NS NS
Create/ Reserve IP S NS S NS
12. Examples of the cloud nuances
1.Make Image
CloudSigma requires server to be stopped before making an image
2.Attaching a volume
e.g. Terremark requires the server to be stopped for for volume to
be attached
3.Creating a snapshot
e.g. Make a snapshot from the volume fails in CloudCentral if the
Volume is not attached to a server
4.Connecting via ssh
CloudSigma requires users to access a centos server via vnc ïŹrst
to enable ssh
16. How is this different?
Customers expect cloud failure
but also
Expect recovery from cloud behavior to be transparent. They
donât care about root cause infrastructure issues
Test for failure , auto-recovery , MTTR
17. How is this different?
Customers expect cloud failure
But donât expect it to impact their business
Test for cloud failure and its impact on customer application
performance.
23. Cloud account
access keys, test
configs
HeaderConfig.xml
Cloud specific
resource/method
exclusions
JSON/XML Inputs for
REST Calls common
to all clouds
Setup Test bed on Cloud under test
Tear Down Test bed on Cloud under test
UpdateAdd Delete List
Atomic Tests
Cloud Specific Inputs
for REST Calls (if any)
estrov
25. The extra steps
1. Not all functions are supported by all clouds. An exclusion list
needs to be maintained.
2. Cloud speciïŹc behavior needs to be coded
e.g. Terremark requires the server to be stopped for for volume to be
attached
3. Sanity check - Issues found must be veriïŹed directly using cloud
console / cloud API