towards quality-aware development of big data applications with dice

17
DICE Horizon 2020 Project Grant Agreement no. 644869 http://www.dice-h2020.eu Funded by the Horizon 2020 Framework Programme of the European Union Towards Quality-Aware Development of Big Data Applications with DICE Pooyan Jamshidi Imperial College London, UK Project Coordinator: Giuliano Casale Imperial College London, UK

Upload: pooyan-jamshidi

Post on 22-Jan-2017

417 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Towards Quality-Aware Development of Big Data Applications with DICE

DICE Horizon 2020 Project Grant Agreement no. 644869http://www.dice-h2020.eu Funded by the Horizon 2020

Framework Programme of the European Union

Towards Quality-Aware Development of Big Data Applications with DICE

Pooyan JamshidiImperial College London, UK

Project Coordinator:Giuliano Casale

Imperial College London, UK

Page 2: Towards Quality-Aware Development of Big Data Applications with DICE

DICE RIA - Overview 2

DICE Projecto Horizon 2020 Research & Innovation Action (RIA)

Quality-Aware Development for Big Data applications Feb 2015 - Jan 2018, 4M Euros budget 9 partners (Academia & SMEs), 7 EU countries

©DICE 05/01/2023

Page 3: Towards Quality-Aware Development of Big Data Applications with DICE

DICE RIA - Overview 3

o Software market rapidly shifting to Big Data 32% compound annual growth rate in EU through 2016 35% Big data projects are successful [CapGemini 2015]

o ICT-9 call focused on SW quality assurance (QA) ISTAG: call to define environments “for understanding the

consequences of different implementation alternatives (e.g. quality, robustness, performance, maintenance, evolvability, ...)”

o QA evolving too slowly compared to the technology trends (Big data, Cloud, DevOps ...) DICE aims at closing the gap

Motivation

©DICE 05/01/2023

Page 4: Towards Quality-Aware Development of Big Data Applications with DICE

4

o Reliability

o Efficiency

o Safety &Privacy

DICE RIA - Overview

Quality Dimensions

Availability Fault-tolerance

Performance Costs

©DICE 05/01/2023

Verification (e.g., deadlines) Data protection

Page 5: Towards Quality-Aware Development of Big Data Applications with DICE

DICE RIA - Overview 5

High-Level Objectiveso Tackling skill shortage and steep learning curves

Data-aware methods, models, and OSS toolso Shorter time to market for Big Data applications

Cost reduction, without sacrificing product qualityo Decrease development and testing costs

Select optimal architectures that can meet SLAso Reduce number and severity of quality incidents

Iterative refinement of application design

©DICE 05/01/2023

Page 6: Towards Quality-Aware Development of Big Data Applications with DICE

DICE RIA - Overview 6

Some Challenges in Big Data…o Lack of quality-aware development for Big Data

o How to described in MDE Big Data technologies o Spark, Hadoop/MapReduce, Storm, Cassandra, ...oCloud storage, auto-scaling, private/public/hybrid, ...

o Today no QA toolchain can help reasoning on data-intensive applications

oWhat if I double memory? oWhat if I parallelize more the application?

©DICE 05/01/2023

Page 7: Towards Quality-Aware Development of Big Data Applications with DICE

DICE RIA - Overview 7

… in a DevOps fashion

o Software development methods are evolvingo DevOps closes the gap between Dev and Ops

From agile development to agile delivery Lean release cycles with automated tests and tools Deep modelling of systems is the key to automation

©DICE 05/01/2023

AgileDevelopment DevOps

Business Dev Ops

Page 8: Towards Quality-Aware Development of Big Data Applications with DICE

DICE RIA - Overview 8

Demonstrators

©DICE 05/01/2023

Case study Domain Features & ChallengesDistributed data-intensive media system (ATC)

• News & Media• Social media

• Large-scale software• Data velocities• Data volumes• Data granularity• Multiple data sources and channels• Privacy

Big Data for e-Government(Netfective)

• E-Gov application

• Data volumes• Legacy data• Data consolidation • Data stores• Privacy• Forecasting and data analysis

Geo-fencing (Prodevelop)

• Maritime sector

• Vessels movements• Safety requirements• Streaming & CEP• Geographical information

Page 9: Towards Quality-Aware Development of Big Data Applications with DICE

Bringing QA and DevOps together

05/01/20239

Requirements

SLAs

Compare Alternatives

Load testing

Cost Tradeoffs

Monitoring

Capacity Management

Incident AnalysisDeployment

ProfilingSPE Testing

APM

Regression

Bottleneck Identification

Root CauseAnalysis

Feedbacks

DICE

User behaviour

Adaptation

DICE RIA - Overview©DICE 05/01/2023

Page 10: Towards Quality-Aware Development of Big Data Applications with DICE

DevOps in DICE: Measurement

10

MySQL

NoSQL

S3

DIA Node 1

DIA Node 2UsersDev

jenkins

chef

monitoring and incident report

release

Ops

incident report

(performanceunit tests)

Deployment & CI

DICE RIA - Overview©DICE 05/01/2023

Page 11: Towards Quality-Aware Development of Big Data Applications with DICE

11

MySQL

NoSQL

S3

DIA Node 1

DIA Node 2UsersDev

jenkins

chef

monitoring and incident report

early-stage quality

assessment

Ops

incident report

release

(performanceunit tests)

DevOps in DICE: Early-stage MDE

Deployment & CI

DICE RIA - Overview©DICE 05/01/2023

Page 12: Towards Quality-Aware Development of Big Data Applications with DICE

Quality-Aware MDE• UML MARTE profile, UML DAM profile, Palladio, …

05/01/2023 G. Casale – Performance Aware DevOps 12

FailureProbability

UsageProfile System

Behaviour

Page 13: Towards Quality-Aware Development of Big Data Applications with DICE

13

Platform-Indep. Model

Domain Models

Quality-Aware MDE

QAModels

ArchitectureModel

Platform-Specific Model

Code stubgeneration

PlatformDescription

MARTE

Simulation Tools

Cost Optimization Tools

Data Intensive Application

DICE RIA - Overview©DICE 05/01/2023

Page 14: Towards Quality-Aware Development of Big Data Applications with DICE

14

MySQL

NoSQL

S3

DIA Node 1

DIA Node 2UsersDev

jenkins

chef

incident report& model correlation

continuousquality engineering

(“shared system view” via MDE)

Ops

incident report

continuous monitoring and enhancement

release

(performanceunit tests)

DevOps in DICE: Enhancement

Deployment & CI

DICE RIA - Overview©DICE 05/01/2023

Page 15: Towards Quality-Aware Development of Big Data Applications with DICE

15

Platform-Indep. Model

Domain Models

DICE Integrated Solution

ContinuousEnhancement

ContinuousMonitoring

DataAwareness

ArchitectureModel

Platform-Specific Model

PlatformDescription

DICE MARTE

Deployment &Continuous Integration

DICE IDEQA

Models

Data Intensive Application

DICE RIA - Overview©DICE 05/01/2023

Page 16: Towards Quality-Aware Development of Big Data Applications with DICE

DICE RIA - Overview 16

Year 1 Milestones

©DICE 05/01/2023

Milestone DeliverablesBaseline andRequirements -July 2015 [COMPLETED]

• State of the art analysis• Requirement specification• Dissemination, communication,

collaboration and standardisation report• Data management plan

ArchitectureDefinition -January 2016

• Design and quality abstractions• DICE simulation tools• DICE verification tools• Monitoring and data warehousing tools• DICE delivery tools• Architecture definition and integration plan• Exploitation plan

Page 17: Towards Quality-Aware Development of Big Data Applications with DICE

DICE RIA - Overview 17

Thankswww.dice-h2020.eu

©DICE