Top Banner
Infrastructure as a Sevice for MTaas Group 13 Saurabh Jinturkar <[email protected]> Richa Agrawal <[email protected]> Archana Taparia<[email protected]> Akanksha Jain<[email protected]>
28

Infrastructure as a service for Mobile Testing as a Service

Apr 14, 2017

Download

Software

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Infrastructure as a service for Mobile Testing as a Service

Infrastructure as a Sevice forMTaas

Group 13Saurabh Jinturkar <[email protected]>Richa Agrawal <[email protected]>Archana Taparia<[email protected]>Akanksha Jain<[email protected]>

Page 2: Infrastructure as a service for Mobile Testing as a Service

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

Page 3: Infrastructure as a service for Mobile Testing as a Service

Features of MIaaS

Scalability Billing and Metering service Various OS versions Various hardware configurations such as RAM Support multiple screen sizes

Page 4: Infrastructure as a service for Mobile Testing as a Service

Technologies

Page 5: Infrastructure as a service for Mobile Testing as a Service

Components

Dashboard-Horizon Resource Allocation Resource provisioning Billing

Page 6: Infrastructure as a service for Mobile Testing as a Service

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

Page 7: Infrastructure as a service for Mobile Testing as a Service

Customization of Horizon

Dashboard

Instances Mobile instances

Page 8: Infrastructure as a service for Mobile Testing as a Service
Page 9: Infrastructure as a service for Mobile Testing as a Service
Page 10: Infrastructure as a service for Mobile Testing as a Service
Page 11: Infrastructure as a service for Mobile Testing as a Service

OpenstackDashboards

Billing Dashboard

Bills Billeditems

Payment method

New Addition

Page 12: Infrastructure as a service for Mobile Testing as a Service
Page 13: Infrastructure as a service for Mobile Testing as a Service
Page 14: Infrastructure as a service for Mobile Testing as a Service
Page 15: Infrastructure as a service for Mobile Testing as a Service
Page 16: Infrastructure as a service for Mobile Testing as a Service

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

Page 17: Infrastructure as a service for Mobile Testing as a Service

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 .

Page 18: Infrastructure as a service for Mobile Testing as a Service

Resource Allocation Algorithm1GB

Emulator Request

Page 19: Infrastructure as a service for Mobile Testing as a Service

Resource Allocation 1GB

Emulator Request

Page 20: Infrastructure as a service for Mobile Testing as a Service

AndriodVirtual device

AndriodSDK

AVD Manager

(RPC Server)

AndriodEmulator

<RPC Call>Emulator request

Nova Ubuntu instance

RestAPI

Deployment Diagram

Page 21: Infrastructure as a service for Mobile Testing as a Service

Pexpect Script AVD Manager

Page 22: Infrastructure as a service for Mobile Testing as a Service

Customizable Propertieshw.ramSizehw.touchScreenhw.trackBallhw.keyboardhw.dPadhw.gsmModemhw.camerahw.camera.maxHorizontalPixelshw.camera.maxVerticalPixelshw.gpshw.batteryhw.accelerometerhw.audioInputhw.audioOutputhw.sdCarddisk.cachePartitiondisk.cachePartition.sizehw.lcd.density

Page 23: Infrastructure as a service for Mobile Testing as a Service

Emulator API

Method Operation Description

POST /os-emulators/ Create emulator

GET /os-emulators Get emulators for tenant

DELETE /os-emulators/{id} Delete emulator

Page 24: Infrastructure as a service for Mobile Testing as a Service

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.

Page 25: Infrastructure as a service for Mobile Testing as a Service

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

Page 26: Infrastructure as a service for Mobile Testing as a Service

Usage MetricUsage Metric NameMetric DescriptionOpenstack Service NameEntity Name

CurrencyNameShortFormSymbolConversion Rate

PolicyUsage MetricCurrencyUnit Usage Currency Ratio

Billing policy

Page 27: Infrastructure as a service for Mobile Testing as a Service

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

Page 28: Infrastructure as a service for Mobile Testing as a Service

Thank you!