ARTIST Methodology and Tooling Jesus Gorroñogoitia - Atos SOC Crete, 1 st July 2015
Motivation: From SaaP to SaaS So#ware as a Product based Company So#ware as a Service based Company
: Cloud Computing
What does SaaS mean? Single applica0on instance T1 T2 T3 Mul0ple app Instances, shared addresss space Mul0ple app Instances, separate addresss space Mul0ple Virtual Images (Virtualiza0on) Mul0ple app Instances on separate hardware (ASP) Applica0on App 1 App 2 App 3 App 1 App 2 App 3 App 1 App 2 App 3 App 1 App 2 App 3 Middleware Middleware MW 1 MW 2 MW 3 MW 1 MW 2 MW 3 MW 1 MW 2 MW 3 DB DB JVM 1 JVM 2 JVM 3 JVM 1 JVM 2 JVM 3 JVM 1 JVM 2 JVM 3 JVM JVM DB DB DB DB DB DB DB DB DB OS OS OS OS OS OS OS OS OS HW HW HW HW HW HW HW - Applica0on development effort and 0me to market + Scalability and Opera0onal costs + - Adopted from www.ibm.com
ARTIST Methodology
ARTIST Methodology Customisation ARTIST Generic Methodology Results from the Migra0on Feasibilty Analysis ARTIST Methodology Process Tool ARTIST Methodology Project - tailored Methodology Premigra0on Methodology Customiza0on Phase Feasibility outcomes Rules Discipline Task / ac0vi0es Migra0on Goals {Role, Input, output, etc}
ARTIST Methodology Environment Specifica0on Requirements Selec<on Deployment Tes<ng Migra0on Feasibility Assessment Applica0on Discovery & Understanding Moderniza0on Tes0ng, Verifica0on & Cer0fica0on Op<miza<on Cloudifica<on Migra0on Ar0facts Reuse & Evolu0on Business and Organiza0onal aspects
Artifacts Reuse and Evolution ARTIST project A Migra0on feasibility assessment Applica0on discovery and understanding Moderniza0on Verifica0on and Cer0fica0on Community Manage artefacts ARTIST Repository ARTIST Marketplace Foster reuse of artefacts Support evolu<on Migra0on feasibility assessment Applica0on discovery and understanding Moderniza0on ARTIST project B Verifica0on and Cer0fica0on
ARTIST Methodology Environment Specifica0on Requirements Selec<on Deployment Tes<ng Migra0on Feasibility Assessment Applica0on Discovery & Understanding Moderniza0on Tes0ng, Verifica0on & Cer0fica0on Op<miza<on Cloudifica<on Migra0on Ar0facts Reuse & Evolu0on Business and Organiza0onal aspects
Migration: Environment Profiling Offline process Applica0on Artefacts Performance & Usage Profiling Environment Benchmarking Benchmarking Tool Applica0on Artefacts Classifica0on Environment Model Popula0on CloudML@ARTIST Environment Specifica<on
Environment Specification Core profile Common stereotypes and data types IaaS subprofile IaaS Specific stereotypes and data types PaaS subprofile PaaS Specific stereotypes and data types SaaS subprofile SaaS Specific stereotypes and data types
Environment Specification Specific providers profiles (can be extended) Azure Azure stereotypes and data types. Imports PaaS profile. Can import suppor0ng profiles EC2 EC2 stereotypes and data types. Imports IaaS profile. Can import suppor0ng profiles GAE GAE stereotypes and data types. Imports PaaS profile. Can import suppor0ng profiles
Environment Specification Suppor0ng profiles Pricing subprofile Stereotypes and data types related to pricing Security profile Stereotypes and data types related to security Availability subprofile Stereotypes and data types related to availability Benchmark profile Stereotypes and data types related to benchmark
ARTIST Methodology Environment Specifica0on Requirements Selec<on Deployment Tes<ng Migra0on Feasibility Assessment Applica0on Discovery & Understanding Moderniza0on Tes0ng, Verifica0on & Cer0fica0on Op<miza<on Cloudifica<on Migra0on Ar0facts Reuse & Evolu0on Business and Organiza0onal aspects
Pre-migration: Modernization Assessment Metrics & Indicators Technical Dimension Metrics & Indicators Non- cloud So`ware Offering Business Dimension Technical & Business Feasibility Cloud- based Service Moderniza<on Assessment
ARTIST Methodology Environment Specifica0on Requirements Selec<on Deployment Tes<ng Migra0on Feasibility Assessment Applica0on Discovery & Understanding Moderniza0on Tes0ng, Verifica0on & Cer0fica0on Op<miza<on Cloudifica<on Migra0on Ar0facts Reuse & Evolu0on Business and Organiza0onal aspects
Migration: Reverse Engineering - App Model Discovery and Understanding Java, C#, Java- Java model Java model to KDM KDM to UML Querying Tagging Mul0view point Slicing UML (domain) Class models, UML Component models, Java/C# models, XML models SQL, Performance, Security, Proper0es, Build, Reusable code
ARTIST Methodology Environment Specifica0on Requirements Selec<on Deployment Tes<ng Migra0on Feasibility Assessment Applica0on Discovery & Understanding Moderniza0on Tes0ng, Verifica0on & Cer0fica0on Op<miza<on Cloudifica<on Migra0on Ar0facts Reuse & Evolu0on Business and Organiza0onal aspects
Migration: Modernization Forward Engineering Reverse Engineering Process (WP8) Environments (WP7) Cloud Applica0on Model Cloudifica<on Applica0on of SaaS architectural pagerns Model Op<miza<on Applica<on Genera<on Forward Engineering Process (WP9) Applica0on of - M2M op0miza0on transforma0on pagerns (all - Source code layers) genera0on - Reused code injec0on Applica<on Deployment Deployment scripts based on transforma0ons Cloud Storage Cloud Configura0on Valida<on & Cer<fica<on (WP11)
ARTIST Methodology Environment Specifica0on Requirements Selec<on Deployment Tes<ng Migra0on Feasibility Assessment Applica0on Discovery & Understanding Moderniza0on Tes0ng, Verifica0on & Cer0fica0on Op<miza<on Cloudifica<on Migra0on Ar0facts Reuse & Evolu0on Business and Organiza0onal aspects
Post - Migration + + = Test Cases End User Non- cloud So`ware Behaviour Non- func0onal Migra0on Goals + = or Migrated Models, SW and Business issues = or or
ARTIST Methodology Environment Specifica0on Requirements Selec<on Deployment Tes<ng Migra0on Feasibility Assessment Applica0on Discovery & Understanding Moderniza0on Tes0ng, Verifica0on & Cer0fica0on Op<miza<on Cloudifica<on Migra0on Ar0facts Reuse & Evolu0on Business and Organiza0onal aspects
Modernization: Process Related Tasks Development Update So`- ware Custom er Incidence management SLA management Customer request People Manag ement Roles alignment Financial management Cloud provider management Marke0ng
Modernization: Business Model Related Tasks Market Segment Value Proposi0on Defini0on Determine the Channels Customer Rela0onship Cost Structure Key Associa0ons Key Resources Revenue Analysis
Overall Project innovation Step by step and tailorable methodology to cloudify apps Technical, organiza0onal and business aspects Cloudifica0on of apps using an MDE approach v Bergmayr, A., et al., Migra0ng Legacy So`ware to the Cloud with ARTIST. CSMR 2013: 465-468 v Kousiouris, G., et al., Legacy Applica0ons on the Cloud: Challenges and enablers focusing on applica0on performance analysis and providers characteris0cs. CCIS 2012: 603-608
Tooling ARTIST Suite
Tooling ARTIST Eclipse Suite
Questions and feedback
THANKS!