19
CloudMDE @ MODELS, València, Spain, 2014-09-30 Ta‘id HOLMES Products & Innovation, Deutsche Telekom AG Automated Provisioning of Customized Cloud Service Stacks using Domain-Specific Languages

CloudMDE @ MODELS, València, Spain, 2014-09-30 Ta‘id H OLMES Products & Innovation, Deutsche Telekom AG Automated Provisioning of Customized Cloud Service

Embed Size (px)

Citation preview

  • Slide 1

Slide 2 CloudMDE @ MODELS, Valncia, Spain, 2014-09-30 Taid H OLMES Products & Innovation, Deutsche Telekom AG Automated Provisioning of Customized Cloud Service Stacks using Domain-Specific Languages Slide 3 Business Intelligence Publish/Subscribe Dashboard Vision: Rapid Prototyping of Cloud-Based Applications How to instantiate entire cloud stacks? 2 Broker Subscribers Data Warehouse Web Server Slide 4 Practical Burdens and Tasks defining service topology: complex setup of infrastructure: cumbersome (basic) provisioning: time-consuming Finally: Development and Deployment of a Proof-of-Concept 3 repeat for, e.g., test preproduction production Slide 5 Relating to the Workshop Calls Call for Papers CloudMDE is an international workshop that aims to bring together researchers and practitioners working in MDE or cloud computing [] We aim to identify opportunities for using MDE to support the development of cloud-based applications (MDE for the cloud) [] We also are interested in novel results of adoption of MDE in cloud- related domains, that provide insight into early adoption of MDE for building cloud-based applications [] 4 Slide 6 Targeted Topics of Interest Call for Papers Metamodels and novel domain-specific languages to support development of cloud-based applications. Model transformation for cloud-based applications. Model-to-text transformations for specific cloud platforms. Cloud-specific development scenarios enabled by or enriched by use of MDE. Case studies and experience reports. 5 Slide 7 Principle Approach: Model-Driven Engineering! proofed to be effective in managing complexity; establishes a high-degree of automation while incorporating different stakeholders, capturing expert knowledge, realizing best-practices, and building on conventions (over configurations) 6 Slide 8 How to enable end-users in specifying entire cloud stacks? How to accelerate their provisioning? How to facilitate development of comprised cloud services? Research Questions 7 [EDOCW 2014, pp. 422-425] Slide 9 Motivation and requirements automate provisioning simplify specification of cloud stacks no-compromise regarding flexibility conformance with intended service topology facilitate agile development permit to fail fast / fail cheap 8 Slide 10 Concrete Approach: Domain-Specific Languages! syntax highlighting, code-completion, validators, transformations tailored towards end-users (domain-experts) precise levels of abstraction automated transformation of programs 9 Vlter, M., Benz, S., Dietrich, C., Engelmann, B., Helander, M., Kats, L.C.L., Visser, E., Wachsmuth, G. DSL Engineering - Designing, Implementing and Using Domain-Specific Languages. dslbook.org (2013) Slide 11 Relating Software Building Blocks to Infrastructure 10 PROD TEST DEV Hosting Unit PostgreSQL PoC Part 2 MQTT Broker MQTT Broker Apache HTTP Apache HTTP PoC Part 3 PoC Part 1 Slide 12 using the motivation example Infrastructure Members Volumes Security Groups Server Infrastructure Members Volumes Security Groups Server IaaS Provider Software PoC for the M2M Scenario Software PP oC for the M2M Scenario Platform Mosquitto PostgreSQL Apache HTTP Platform MM osquitto PP ostgreSQL AA pache HTTP Software PoC for the M2M Scenario Software PoC for the M2M Scenario Platform Mosquitto PostgreSQL Apache HTTP Platform Mosquitto PostgreSQL Apache HTTP Approach Overview 11 IaaS Client (generated) Execution IaaS Client (generated) Execution CM Server install platform deploy SW CM Server install platform deploy SW Cloud-Init Code Cloud-Init Code CM Manifests (generated) CM Manifests (generated) CM Modules EC2 IaaS Model (Sect. 2.1) Abstract IaaS Model (Sect. 2.2) DSL Program (Sect. 2.3, Fig. 2) W7 urEnvironment project M2M_PoC costCenter "123456789" profile ThreeStage hostingUnit sensor stage DEVTEST service PoC_part1 hostingUnit broker service Mosquitto Model Transformation Slide 13 Results basic concepts and transformation chain Users may specify a Cloud Stack in terms of a tailored DSL. For this they select a profile and specify hosting units with services. The model is transformed to an abstract IaaS model (PIM). subsequent transformation to an IaaS model (PSM) subsequent generation of a shell script (IaaS consumer) execution creates the cloud services 12 Slide 14 Profiles and ServiceType Definitions standard library W7 urEnvironment globals profile ThreeStage stages DEV TEST PROD serviceType LAMP implies { service Apache internal service MySQL } serviceType SIP TCP 5060,5061 UDP 5060,5061 serviceType Git serviceType Apache TCP 80,443 serviceType MySQL TCP 3306 UDP 3306 three security groups will be created when selecting the profile ThreeStage a technology stack the service will not be exposed to public listening ports 13 Slide 15 Binding of Stages to different Cloud Regions standard library W7 urEnvironment globals region DE99 EC2http://10.11.13.4:8773/services/Cloud Novahttp://10.11.13.123:5000/v2.0 S3http://s3.t-online.example.org region DE01 EC2http://10.12.26.9:8773/services/Cloud profile ThreeStage DEV@ DE99 TEST@ DE99 PROD@ DE01 Production is hosted at a different location in a different cloud. 14 Slide 16 Results further concepts and some mappings ServiceTypes specify listening ports and dependencies The ports are considered when generating firewall rules. Dependencies are resolved for provisioning. Services can be specified as internal ; i.e., will not be exposed to public. Security groups are created according to the selected profile (e.g., development, testing, production) Services can be bound to (only) certain of these stages. 15 Slide 17 16 profile TwoStage hostingUnit db service MySQL hostingUnit broker service Mosquitto hostingUnit subscriber1 service MosquittoClient Mapping to a Cloud Infrastructure Model-Transformation to Security Groups and Rules DSL Program (extract) securityGroup DEV TCP src net "0.0.0.0/0" dst 1883,8883,3306 server db server broker server subscriber1 securityGroup PROD TCP src net "0.0.0.0/0" dst 1883,8883,3306 server db server broker server subscriber1 Abstract IaaS Program (extract) Slide 18 reported on industrial adoption of MDE in a cloud context scientific contributions DSLs are suitable for defining entire cloud stacks enables end-users to specify customized cloud stacks full automation; no manual task required reverse-engineered from this industrial application report Contributions & Conclusions 17 best of two worlds: configuration management & MDE Slide 19 Acknowledgements 18 Slide 20 Dr.techn. Taid H OLMES, DEA Software Developer Computer Scientist MDE Strategy Products & Innovation, Deutsche Telekom AG T: +49 6151 680-5763 | M: +49 151 467-54018 | E: [email protected] | W: http://[email protected]://t.holmes.info THANK YOU! Questions? Slide 21 IaaS (PSM) metamodel 20 Slide 22 Abstract IaaS (PIM) metamodel 21 Slide 23 Cloud Stack metamodel 22