infrastructure as a service for mobile testing as a service
TRANSCRIPT
Infrastructure as a Sevice forMTaas
Group 13Saurabh Jinturkar <[email protected]>Richa Agrawal <[email protected]>Archana Taparia<[email protected]>Akanksha Jain<[email protected]>
MIaasMobile Infrastructure as a Service
Why Mobile Application Testing?In Mobile world , diversity is a problem- Hardware diversity- OS diversity- Screen size diversity Why to Buy when you can rent itProviding Mobile Device / Emulator as a Service can solve this issue
Features of MIaaS
Scalability Billing and Metering service Various OS versions Various hardware configurations such as RAM Support multiple screen sizes
Dashboard Why Horizon?
Built Dashboard Using Django framework
Community support
Benefits of Django over other web application framework:
Scalability
Reusability of code
Flexibility
MVC Architecture
Largest python based web framework
Rest API used for communication between Components
Functionality of Dashboard
Mobile instance Billing• User can launch Mobile
Instance• User can get information
of mobile instance
• Add new Payment method
• View Existing method• View billed items• Delete payment method
Resource allocation
Resources allocation based on Best-fit algorithm On demand self service Exposing RestAPI to resources such as create
emulator , delete emulator, get details about emulator .
AndriodVirtual device
AndriodSDK
AVD Manager
(RPC Server)
AndriodEmulator
<RPC Call>Emulator request
Nova Ubuntu instance
RestAPI
Deployment Diagram
Customizable Propertieshw.ramSizehw.touchScreenhw.trackBallhw.keyboardhw.dPadhw.gsmModemhw.camerahw.camera.maxHorizontalPixelshw.camera.maxVerticalPixelshw.gpshw.batteryhw.accelerometerhw.audioInputhw.audioOutputhw.sdCarddisk.cachePartitiondisk.cachePartition.sizehw.lcd.density
Emulator API
Method Operation Description
POST /os-emulators/ Create emulator
GET /os-emulators Get emulators for tenant
DELETE /os-emulators/{id} Delete emulator
Billling
Following SOA (Service Oriented Architecture) Exposing RestAPI to resources such as bill ,
payment method, policy, payment. Admin can define cost matrix for billing. Instances can be charged against these cost
policies. Ceilometer provides samples.
Supported APIsMethod URI OperationGET bill/([0-9a-f]{32}) Get bill for tenantGET bill/([0-9]+ Get bill for idGET bill/([0-9a-f]{32})/([0-9]{2})/([0-
9]{4})Get bill for tenant_ for month and year
POST payment_method/ Create payment method
GET payment_method/([0-9a-f]{32}) Get payment method for tenant
POST payment_method/([0-9a-f]{32})/([0-9]+)
Make payment
GET payment/([0-9a-f]{32} Get Payments fortenant id
GET Policy/ Get policiesPOST Policy/ Create Policy
Usage MetricUsage Metric NameMetric DescriptionOpenstack Service NameEntity Name
CurrencyNameShortFormSymbolConversion Rate
PolicyUsage MetricCurrencyUnit Usage Currency Ratio
Billing policy
Learning/Gain
Learnt python, Django, openstack, android sdk Communication using REST APIs
Developed extensible code that can be contributed to horizon dashboard project
AVD Creation script and RPC server can be contributed to Nova project