desired quality characteristics in cloud application development leah riungu-kalliosaari

22
Desired Quality Characteristics in Cloud Application Development Leah Riungu- Kalliosaari

Upload: george-reynolds

Post on 25-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Desired Quality Characteristics in Cloud Application Development

Leah Riungu-Kalliosaari

Contents

Introduction Research process Findings Conclusion Standardization of Cloud Computing

Introduction

Software quality: functional and non-functional requirements

Software quality is an elusive target (Blaine and Cleland-Huang, 2008)

Achieving quality in software requires balancing between many factors e.g. budget, time, communication, outsourcing,

Introduction

Cloud computing: on-demand access to computing resources.

Three service layers: software-as-a-service (SaaS), platform-as-a-service (PaaS), infrastructure-as-a-service (IaaS) (Mell and Grance, 2011)

Cost reduction, increase scalability, improve efficiency

Cloud-based environments for developing and hosting applications

Cloud applications are applications built, deployed and hosted in cloud environments (Hobfield, et. al, 2012)

Introduction

Cloud application development

Pre-defined architectural structures, resources, interfaces, service access and discovery mechanisms.

Emphasis on certain requirements e.g. need for strict conformance, high interoperability

Introduction

Aim: evaluate important product quality characteristics as perceived by organizations developing cloud applications

ISO/IEC 25010 Product quality model: functional suitability,

reliability, performance efficiency, usability, security, compatibility, maintainability, portability

Quality in use model: effectiveness, efficiency, satisfaction, freedom from risk and context coverage

Research Process

Research questions What quality characteristics do developers consider to

be important for cloud-based applications? What activities support developers in achieving these

quality characteristics?

Qualitative case study Grounded Theory for analysis

Five organizations: 1 Large, 1 Medium and 3 Micro

Categories

Five categories

Life-cycle model and tools: describes the software development life-cycle model and the tools used to produce the software. Waterfall, incremental, agile

Software application: the type of software that the organization is developing.

Case A Case B Case C Case D Case E

Software application

Cloud based test management service (SaaS)

Web-based system for managing IT resources

Amazon web services-based value adding service for Infrastructure as a Service (IaaS)

Cloud-based application for an international social website integrated with the world’s most popular networks (SaaS)

Web-based applications

Categories

Important quality characteristics: most desirable aspects of quality These varied, but usability was common among all the

cases

Practices for handling requirements: mechanisms for handling requirements. Origin: From the developers themselves (Case B, C &

D) and from the customer (Case A & E) Some problems

Case D Functional system at first User preferences might affect the built-in

functionality.

Categories

Customer involvement: effect of the customer during the development life cycle. Case A & E: High levels of flexibility to accommodate

different customer needs Case B & C: Customer not involved in developing the

first product. Considered customer feedback to improve the applications

Case D: Developing first version, customer not involved, (yet)

Observations

Observation 1: The most important quality characteristics vary among the organizations, but usability was important in all the organizations Case A: Reliability, availability (quality of service) Case B: Usability, security when hosting in the cloud

Security as well data integrity and confidentiality Conformance to and interoperability with cloud platforms “Because I'm using the [cloud] APIs … if the security could be breached, then

that would first of all break the whole service, and second of all compromise my relationship with the platform [provider]. And that's the key quality issue that I'm worried about before I release the product” – Owner Case C

Usability All organizations stated usability to be important.

Observations

Observation 2: Agile development methods are preferred when developing cloud-based applications.

Changes in the cloud platforms and user preferences affect the software applications

Agile methods help in reacting to changes, and keeping up with evolving quality expectations

Focus on most important features first Surprising: Customers more tolerant to errors. (Case C)

Observations

Observation 3: Customer input is valued at different stages of the development.

This depends on where the requirements come from. From customer (Case A & E): customer is involved from

the start Customers not able to clearly state their needs

From the developers (Case B & C), steady interaction with the customer after releasing the software

Case D expects some changes after releasing the application

Observations

Observation 4: The developers choose development tools according to their knowledge, skills and familiarity with the tools.

Additional tools are chosen based on learnability, usability and appropriateness for the intended use.

Case B: Improve the development process test management tool Case C: Cloud APIs conforming to platform-specific security

requirements Case E: Drupal appropriate for building web-based applications

Conclusions

Desired quality varied among the organizations Depends on the application Usability was important in all cases Good first impression

Three activities employed to support the development Selecting a suitable life-cycle model Engaging the customer Applying the most suitable tools

Cloud application development is a complex process. Interaction amongst stakeholders Requires aligning the development activities with the targeted quality

Standardization of Cloud Computing

Standardization of Cloud Computing

Distributed application platforms and services ISO/IEC JTC1 / SC 38

WG 1 Web services WG 2 Service Oriented Architecture (SOA) WG 3 Cloud computing Study group on cloud computing http://www.iso.org/iso/jtc1_sc38_home

Finnish Standards Association SFS Mirror committee SR310 Chair: Tuomas Nurmela Secretary: Elina Huttunen (contact at [email protected], if interested) Currently 25 members, most active 5-6 persons

Cloud Computing Reference Architecture

The aim of the CCRA is to:

Illustrate and understand cloud services in the context of an overall conceptual methodology

Provide a technical reference to enable the international community to understand, discuss, categorize and compare cloud services

Facilitate the analysis of candidate standards in areas such as security, interoperability, portability and service management and support analysis of reference architecture

Views of the Reference Architecture

Relationship: User / Functional view

Core Roles

Layering of the Functional view