model driven continuous
play

Model-Driven Continuous Deployment for Quality DevOps D. A. - PowerPoint PPT Presentation

Model-Driven Continuous Deployment for Quality DevOps D. A. Tamburri , E. Di Nitto, M. Guerriero, M. Artac , T. Borov s ak DICE Horizon 2020 Research & Innovation Action Grant Agreement no. 644869 Funded by the Horizon 2020


  1. Model-Driven Continuous Deployment for Quality DevOps D. A. Tamburri , E. Di Nitto, M. Guerriero, M. Artac ˇ , T. Borov s̍ ak DICE Horizon 2020 Research & Innovation Action Grant Agreement no. 644869 Funded by the Horizon 2020 Framework Programme of the European Union http://www.dice-h2020.eu

  2. Roadmap o Intro: The Rise of Big Data o Research Solution: Project DICE o DICE Meta-models o M2M and TOSCA in DICE 2

  3. Intro: The Rise of Big Data o Software market rapidly shifting to Big data  Expected 32% compound annual growth rate in EU through 2016  Just 35% of Big data projects are successful [CapGemini’15] - 3 -

  4. Intro: Building blocks for DIAs today Distributed storage … … … HDFS Data streaming Distributed Cloud infrastructure computation Lambda architecture Data Coordinator (Kafka) Source Data Serving Serving Serving Speed Batch Data Source Layer Layer Layer Layer Layer Store Orchestrator (Hadoop Cluster) 4

  5. Intro: example challenges! Legacy Systems and Big Data Analytics Processes Adoption (+ others…) Learning curves Initial prototype Risk of failure - 5 -

  6. DICE Objectives o Tackling skill shortage and steep learning curves  High-degree of MDE automation via DICE tools o Shorten time to market for DIAs  Push out new products, without sacrificing quality o Decrease development and testing costs  Fast iterative definition of application prototypes o Reduce number and severity of quality incidents  DevOps-fashioned Iterative refinement of application design 6

  7. DICE incremental modeling and analysis [6] o To provide sound DICE Platform Independent Model (DPIM) Analysis abstractions and UML is implemented by M2M transformation Profile for DIA DICE Technology Specific Model (DTSM) Analysis o To provide a sound method for: is deployed onto M2M transformation o DICE-based Analysis & DICE Deployment Specific Model (DDSM) Continuous DIA Optimization Architecting M2T transformation o DICE-based TOSCA blueprint Continuous DIA Deployment 7

  8. DICE incremental modeling and analysis [6] o To provide sound DICE Platform Independent Model (DPIM) Analysis abstractions and UML is implemented by M2M transformation Profile for DIA DICE Technology Specific Model (DTSM) Analysis o To provide a sound method for: is deployed onto M2M transformation o DICE-based Analysis & DICE Deployment Specific Model (DDSM) Continuous DIA Optimization Architecting M2T transformation Re- Architec o DICE-based Deploy t TOSCA blueprint Continuous DIA Deployment Analyse Deploy In a DevOps Fashion! Monitor 8

  9. Where does this come from? Dev Area Views (Development structure, business logic, quality verification) Ops Area Views (Deployment, process, monitoring) - 9 -

  10. Where does this come from? DICE! Dev Area Views (Development structure, business logic, … ) Ops Area Views (Deployment, … ) Featuring the DICE H2020 EU Project 10

  11. Where does this come from? DICE! Deployment and Operations area of our architecture framework Featuring the DICE H2020 EU Project 11

  12. Where does this come from? DICE! … Featuring the DICE H2020 EU Project 12

  13. Where does this come from? DICE! … Featuring the DICE H2020 EU Project 13

  14. DICE Meta-models - DTSM Storm Package <<Uses>> HadoopMR Package <<Uses>> Core DTSM Spark Package Package <<Uses>> Oryx 2 <<Uses>> Package ... DICE extensibility *Metamodels here are illustrative mockups – You can think of using ADOxx to reproduce them! 14

  15. DICE Meta-models* - DTSM Core 1. Common to all DICE tech-packs; 2. Distinguishing analysable elements; 3. Distinguishing properties; 4. Simplified property definition; *Metamodels here are illustrative mockups – You can think of using ADOxx to reproduce them! 15

  16. DICE Meta-models – DDSM [5] MODACloudsML4DICE DICER M2T Tool DDSM MODA4DICE:: Metamodel HadoopMR Automated transformation TOSCA4DICE MODACloudsML Specification Specification Automated MODA4DICE:: transformation Oryx2 DDSM TOSCA Blueprint *.yaml Metamodels ... 16

  17. Where does this come from? DICE! … Featuring the DICE H2020 EU Project 17

  18. DICE Meta-models – DDSMTOSCA “ Topology and Orchestration Specification for Cloud Applications ” 1. OASIS Standard; 2. Cloud Infrastructure- as-code language; 1. Type-strength Intent modeling; 2. In DICE? Big-Data TOSCA “ profile ” ; Service template 18

  19. DICE Meta-models – DDSMTOSCA  Node templates to describe components in the “TOSCA is used to describe the topology structure deployment view for cloud  Relationship templates to describe connections, applications” dependencies, deployment ordering Nodes - are the Groups resources or Create Logical, components that will Management or Tier (Group Type) be materialized or source_resource Policy groups (1 or target_resource consumed in the connect_relationship more nodes) Node_Type_A Node_Type_B deployment topology ConnectsTo Requirement Capability Requirement - Capability Relationships Relationships can be express the dependencies customized to match between the nodes (not specific source the traffic flow) requirements to target capabilities 19

  20. With M2M a TOSCA blueprint happens! ……….. "storm_nimbus_host": { "relationships": [ { "type": "cloudify.openstack.server_connected_to_floating_ip", "target": "storm_floating_ip" }, { "type": "cloudify.openstack.server_connected_to_security_group", "target": "storm_security_group" } "zookeeper": { ], "relationships": [ "type": "dice.medium_host" { }, "type": "cloudify.relationships.contained_in", "target": "zookeeper_host", "source_interfaces": { "cloudify.interfaces.relationship_lifecycle": { "preconfigure": "scripts/connect_zookeeper_servers.sh" } } } ], ……….. 20

  21. And after that … DevOps! TOSCA! TOSCA Deployment! Re- Architec Deploy t Analyse Deploy In a DevOps Fashion! Monitor 21

  22. Back to basics … DICE Views and Tools! 4. Deploy improved-by-verification architecture 19

  23. Back to basics … DICE Views and Tools! 5. Monitor and continuously enhance/architect/deploy DIA 20 - 23 -

  24. Conclusions, take-home messages o MDE+TOSCA = DevOps Synergy! o Big-Data and TOSCA are fit for each other …  but technologies are not mature, yet! 24

  25. Bibliography o [1] A. Rajbhoj, V. Kulkarni, and N. Bellarykar. Early experience with model-driven development of mapreduce based big data application. In Software Engineering Conference (APSEC), 2014 21st Asia-Pacific, volume 1, pages 94 – 97, Dec 2014. o [2] S. Santurkar, A. Arora, and K. Chandrasekaran. Stormgen - a domain specific language to create ad-hoc storm topologies. In Computer Science and Information Systems (FedCSIS), 2014 Federated Conference on, pages 1621 – 1628, Sept 2014. o [3] Abel Gô mez, Josê Merseguer, Elisabetta Di Nitto, Damian A. Tamburri “ Towards a UML Profile for Data Intensive Applications ” , Proceedings of 2 nd “ Quality Aware DevOps ” (QUDOS) workshop, to appear o [4] Elisabetta Di Nitto, Pooyan Jamshidi, Michele Guerriero, Ilias Spais, Damian A. Tamburri “ A Software Architecture Framework for Quality-Aware DevOps ” , Proceedings of 2 nd “ Quality Aware DevOps ” (QUDOS) workshop, to appear o [5] Matej Artac ˇ, Tadej Borov s̍ ak, Elisabetta Di Nitto, Michele Guerriero, Damian A. Tamburri, “ Model-Driven Continuous Deployment for Quality DevOps ” , Proceedings of 2 nd “ Quality Aware DevOps ” (QUDOS) workshop, to appear o [6] Guerriero, Michele; Tajfar, Saeed; Tamburri, Damian A. & Di Nitto, Elisabetta (2016), “ Towards a model- driven design tool for big data architectures. ” , in 'BIGDSE@ICSE' , ACM, , pp. 37-43 . - 25 -

Recommend


More recommend