Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
DICE Horizon 2020 Project Grant Agreement no. 644869 http://www.dice-h2020.eu Funded by the Horizon 2020
Framework Programme of the European Union
DICE: Quality-Aware DevOps For Big Data Applications
Giuliano Casale Imperial College London
The Rapid Growth of Big Data
©DICE 01/16/2018
o Software market rapidly shifting to Big data 27% compound annual growth rate through 2017 (IDC) Popular technologies such as Spark, Hadoop, and NoSQL
boost Big Data adoption and revenues from new services
Business issue: 65% of Big data projects still fail (CapGemini)
Source: IDC Source: Wikibon
2
What problems EU SMEs face? An example from our consortium
©DICE 01/16/2018
Traditional market: Legacy software systems
Customers with legacy data now ask for Big Data technologies Growth in sight, but …
Learning curves
Initial prototype
Risk of failure
(+ others…)
Fast-paced market
3
DICE: DevOps for DIAs Horizon 2020 research project (4M€, 2015-18) 9 partners (Academia & SMEs), 7 EU countries
©DICE 01/16/2018
Mission: support SMEs in developing high-quality cloud-based data-intensive applications (DIAs)
4
Prototype
Deploy
Monitor
Enhance
Design
DICE: Quality-Aware DevOps for Big Data
©DICE 01/16/2018 5
How to support DIA development?
©DICE 01/16/2018
Characterize Data Properties
Location
Velocity Volume
Variety Privacy
Big Data Technologies
NoSQL Hadoop
Spark Storm
Development Methods & Tools
UML
Delivery DevOps
Kafka
Integration QA
6
o Reliability
o Efficiency
o Correctness
What do we mean by Quality?
Availability Fault-tolerance
Performance Costs
©DICE 01/16/2018
Privacy & security Temporal metrics
7
Big Data Technologies
Cloud (Priv/Pub) `
DICE Framework
©DICE 01/16/2018
DICE IDE
Profile
Plugins
Quality Analysis
UML-Based MDE Methodology
Feedback & Iterative
Enhancement
Data Intensive Application (DIA)
Continuous Delivery & Testing
8
Cloud (Priv/Pub)
DICE Framework
DICE IDE
DICE Profile
Plugins
Sim Ver Opt
DPIM
DTSM
DDSM TOSCA Code
Mon
Anomaly Trace
Enhance
Big Data Technologies
Data Intensive Application (DIA)
Deploy Config Test Cont.Int Fault Inj.
©DICE 01/16/2018 9
DICE Workflow - Dev
©DICE 01/16/2018
“Will the DIA meet SLAs and costs?”
Design Transform to Formal Models
Simulate & Verify Optimize
Enhance DICE Eclipse IDE
“I want to design for Big data”
10
DICE Workflow - Ops
©DICE 01/16/2018
“I want to quickly deploy and tune the DIA”
Deploy Quality Testing Fault injection
Configuration Optimization
“I want an integrated DevOps toolchain”
Enhance
11
DICE Workflow: Unified Toolchain
©DICE 01/16/2018
Design Transform to Formal Models
Simulate & Verify Optimize
Enhance DICE Eclipse IDE
Deploy Quality Testing Fault
injection Configuration Optimization
Enhance
Following the DevOps paradigm, DICE delivers a unified toolchain for the enterprise team
12
DICE Horizon 2020 Project Grant Agreement no. 644869 http://www.dice-h2020.eu Funded by the Horizon 2020
Framework Programme of the European Union
DICE Approach, Tools, Architecture and Methodology
Ingredients of technical approach
o DevOps
o Model-Driven Engineering
©DICE 01/16/2018
Dev Ops Dev Ops
Analysis
Deployment blueprint
14
DICE incremental modeling and analysis
©DICE 01/16/2018
DICE Platform Independent Model (DPIM)
DICE Technology Specific Model (DTSM)
DICE Deployment Specific Model (DDSM)
is implemented by
is deployed onto
TOSCA blueprint
Analysis
Analysis
Analysis & Optimization
M2T transformation
DICE Methodology
15
DICE deployment, monitoring and testing
©DICE 01/16/2018
Deployment
Testbed
Monitoring
Fault Injection
Quality Testing
Trace Checking
Enhancement
Anomaly
Detection
Running DIA
Comp
MW
VM
Running DIA
Comp
MW
VM
Configuration optimization
TOSCA blueprint DICE M
ethodology
16
Modeling in the IDE
©DICE 01/16/2018
I’m defining the DPIM model for my application
17
DPIM-level simulation
©DICE 01/16/2018
A two VMs configuration will not be acceptable for this application
18
The verification step
©DICE 01/16/2018
I want to check if critical bolts could create problems at runtime
19
The optimization step
©DICE 01/16/2018
Max>> Everything seems to be ok. Let’s focus on optimization…
Let’s identify the optimal configuration for Amazon reserved instances
20
Deployment step– creating the TOSCA YAML
©DICE 01/16/2018
I have got all I need to create the blueprint!
21
Deployment step – sending the TOSCA YAML to the deployment service
©DICE 01/16/2018
… and now let’s deploy!
22
Monitoring and detecting anomalies
©DICE 01/16/2018
Everything is fine today!
23
Txt/JSON/ MongoDB/…
Quality testing
4. Test results in DMon
Features: • Load generation for stream processing systems • Load replay • Load scaling (via Hidden Markov Model representation)
Load injection into the DIA
QT Tool workflow:
QT-LIB QT-GEN
Generates load w/given parameters
Makes load an input to custom spout
Deployment
DICE IDE
1. Max & Ophra add QT tool as a spout, provide (initial) load & deploys DIA
2. QT tool starts simultaneously with DIA
3. Injects load
Load file
DIA
©DICE 01/16/2018
Let’s stress our DIA!
24
Fault injection
©DICE 01/16/2018
Ophra&Max>> And now let’s check robustness!
25
Enhancement tool
o Objective: designed for iteratively enhancing the DIA quality o Functions:
o Providing a performance and reliability analysis o Updating UML models with analysis results o Anti-patterns Detection o Refactoring the design model
©DICE 01/16/2018
let’s consider the proposed improvements!
26
Summing up
©DICE 01/16/2018
Design Transform to Formal Models
Simulate & Verify Optimize
Enhance DICE Eclipse IDE
Deploy Quality Testing Fault
injection Configuration Optimization
Enhance
Following the DevOps paradigm, DICE delivers a unified toolchain for the enterprise team
27
Demonstrators
©DICE 01/16/2018
News&Media Market
e-Government Market
Maritime Sector
Tax Fraud Detection Application
Posidonia Operations News Asset
28
News analysis demonstrator
©DICE 01/16/2018 29
!
Configuring a Big data system
©DICE 01/16/2018 30
DICE configuration optimization
©DICE 01/16/2018 31
DICE configuration optimization
©DICE 01/16/2018 32
Applying Bayesian Optimization to DevOps
DICE configuration optimization
©DICE 01/16/2018 33
Thanks!
©DICE 01/16/2018 34