tosca - OASIS Open

HostedOn. Example: Java Web Application using Node.js and Mongo Database. Enabled by: TOSCA Nodes, Relationships, Requirements, and Capabilities.

1.TOSCA How TOSCA Adds Value and Portability in a Container-Centric World Topology and Orchestration Specification for Cloud Applications (TOSCA) Standard

2.Agenda What and why TOSCA? Definition Addressing critical Cloud challenges for different roles, e.g., Cloud provider/platform, d eveloper/modeler (DevOps), etc. TOSCA eco-system and status How : a use case driven technical walk-thru of TOSCA Q&A and open discussion 2

3.TOSCA is an important new open cloud standard, that is enabling a unique eco-system, supported by a large and growing number of international industry leaders… What is TOSCA? TOSCA is a machine and human readable, domain specific language, that defines the interoperable description of applications; including their components, relationships, dependencies, requirements, and c apabilities …. …thereby enabling portability and automated management across cloud providers regardless of underlying platform or infrastructure thus expanding customer choice , improving reliability , and reducing cost and time-to-value . 3

4.4 TOSCA Application Model Web Server Tier Web Server Web App PHP Script Module Database Server Tier DB Server Database These concepts lead to an application-centric, holistic, unified model Reusable models extend investments by making it easy to compose more valuable and complex apps from existing apps Models can be validated by automation to ensure app-aware, policy-aligned configuration, deployment and operational semantics Containment and Connectivity concepts support Composition & Reuse The collective knowledge of application and infrastructure experts are captured as reusable TOSCA models Containment Connectivity

5.5 TOSCA enables an eco-system where service providers can Compete and Differentiate to add value to Your Applications Each cloud provider competes by offering their “best fit” of unique capabilities, features, and services that match the application’s requirements Cloud Provider C Cloud Provider B TOSCA supports automated matching of application requirements to provider capabilities Portable Choice of Provider that “best fits” your application Avoid the “lowest-common denominator” approach… Choice Best Fit TOSCA App TOSCA Apps can be designed to be portable to any cloud (including hybrid) that meets the application’s requirements Cloud Provider A

6.6 TOSCA Templates Agnostic to Cloud Infrastructure Changes TOSCA enables holistic application lifecycle automation while ensuring integrity, security and c ompliance Architects Model services, policies & requirements Development Teams Develop, unit test scripts, plans & artifacts for planned releases, patches, fixes QA Teams Build & Test releases, updates & configurations Operations Deploy, manage & monitor application lifecycle Cloud Provider A Cloud Provider C Cloud Provider B Design TOSCA Template Cloud Application Lifecycle with TOSCA TOSCA Template Develop TOSCA Template Test Build TOSCA Template TOSCA Template Deploy Infrastructure Changes Hot Packs Strategic Requests Operational Requests External Influences Business Conditions TOSCA templates communicate and drive app-centric Dev-Ops and continuous delivery

7.7 TOSCA Portable Cloud Application TOSCA reduces application complexity Enabling TOSCA applications to be portable to different infrastructures Application Requirements TOSCA Orchestration TOSCA Service Template Storage Compute1 DB Compute2 App Network Scaling Policy Ring Network KVM KVM KVM KVM KVM KVM Cloud Provider C Cloud Provider B PowerVM SSD PowerVM SSD PowerVM SSD PowerVM SSD PowerVM PowerVM RDMA Network Cloud Provider A 10 Gb Network X86 VM HDD X86 VM HDD X86 VM Infrastructure Capabilities by expressing application requirements… independently from cloud provider Capabilities… & Optimization Automatic Matching

8.8 TOSCA eco-system is rapidly growing with support from industry leaders TOSCA Version 1.0 Specification approved as an OASIS Standard (Nov 2013) Government and Corporate Awareness : OASIS : 600+ participant organizations . 5000+ participants spanning 65+ countries TOSCA Committee : 170+ people 45 + companies/orgs International Standards & Research : ETSI NFV liaison, EU FP7, etc. Industry Analysts : Forrester names TOSCA as a top four cloud open standard (Mar 2014) Multi-company Interoperability Demonstrated : EuroCloud 2013 (Oct 2013) : IBM, SAP, Fujitsu, Huawei, HP, Vnomic, Zenoss and others Open Data Center Alliance : TOSCA Application Portability in the Enterprise Cloud PoC (Jan 2014) Open Source : OpenStack, Eclipse,, celar Associated Companies Open Source Projects … and open source partners

9.We Covered the What and Why… How: A Use Case Driven Technical Walk-Thru of TOSCA

10.nodejs WebServer Requirements Container app_server Compute Capabilities Container Capabilities Container paypal_pizzastore WebApplication Requirements Container DBMS Requirements Container Capabilities Container Database Requirements Container HostedOn Capabilities Endpoint.DB Endpoint.DB Compute Capabilities Container ConnectsTo Application Tier Database Tier HostedOn HostedOn mongo_db mongo_dbms mongo_server HostedOn Example: Java Web Application using Node.js and Mongo Database Enabled by: TOSCA Nodes, Relationships, Requirements, and Capabilities TOSCA Abstraction describing Application, Container & I n frastructure Node PayPal Sample App Node Node.js Node Mongo DBMS Node MongoDB Relationship ConnectsTo can be orchestrated in parallel Relationship HostedOn Relationship HostedOn Requirements Endpoint DB Container Capabilities Container Capabilities Endpoint DB

11.Logging/Monitoring Tier (ELK) Application Tier nodejs WebServer app_server Compute paypal_pizza store WebApplication TOSCA Model for a C omplex Multi-Tier Cloud Service collectd logstash SoftwareComponent Artifacts Create Config Start Requirements Container Capabilities log_endpoint logstash_server Compute Capabilities Container elasticsearch SoftwareComponent Artifacts Create Config Start Requirements Container Capabilities search_endpoint elasticsearch _server Compute Capabilities kibana SoftwareComponent Artifacts Create Config Start Requirements Container kibana_server Compute Capabilities search_endpoint ConnectsTo HostedOn HostedOn HostedOn ConnectsTo Database Tier mongo_dbms DBMS mongo_server Compute mongo_db Database rsyslog search_endpoint Container Container ConnectsTo Example: Logging/Monitoring Service for the Webshop using Kibana

12.Attach same volume to server_2 my_web_server_2 (Compute) storage_attach_2 (AttachesTo) volume_id for my_storage location: /another_location storage_attach_2 Properties location: /another_location AttachesTo my_web_server_2 Compute Attributes private_address public_address networks ports Capabilities Container OperatingSystem Requirements Attachment ... Create new volume and attach to server_1 my_web_server_1 (Compute) storage_attach_1 (AttachesTo) location: /some_location my_storage (BlockStorage) storage_attach_1 Properties location: /some_location AttachesTo my_storage BlockStorage Capabilities Attachment Properties size volume_id snapshot_id my_web_server_1 Compute Attributes private_address public_address networks ports Capabilities Container OperatingSystem Requirements Attachment ... TOSCA Model for Block & Object Cloud Storage Scenario: different servers use the same storage at different mount points

13.BindsTo BindsTo my_app_1 Compute Attributes private_address public_address networks ports Capabilities Container ... Bindable LinksTo port_2 Port Capabilities Linkable Requirements Bindable public_net_1 Network Capabilities Linkable LinksTo port_1 Port Capabilities Linkable Requirements Bindable private_net_1 Network Capabilities Linkable TOSCA Model for Logical Public & Private Cloud Networks Application Model separate from Network Model Connected via logical Ports nodes ( via LinksTo and BindsTo) Allows developers to model JUST the application bind to existing tenant networks

14.TOSCA Model for Containers leveraging Repositories Hosted On PaaS Subsystem (hidden) PaaS Modeling Template author chooses to expose or hide runtime topology & implementation Container Application Modeling Agnostic of PaaS Cloud Provider PaaS on OpenStack, Cloud Foundry, Azure, etc. Docker Hub (Repository) Docker Image for mysql docker_mysql Container.App.Docker Artifacts - my_image: type: Image.Docker URI: mysql repository: docker Requirements ... Runtime.Docker Container my_PaaS_platform Container.Runtime Capabilities Runtime.Docker Container Runtime.Nodejs Runtime.J2EE ... PaaS Layer exposes “runtimes” as TOSCA Capabilities Docker, Nodejs, JSP, J2EE, etc. Orchestrators could automatically retrieve and deploy a Docker image from a declared Repository TOSCA Templates can model repositories Orchestrators could dynamically “pull” from multiple repositories

15.Supported areas: Placement (Affinity), Scaling and Performance with Rules that are evaluated to execute Automatic and Imperative Triggers TOSCA Direction to model Policies Policies modeled as Requirements using Capability Types that can be attached to Interfaces or specific Operations Nodes and Groups of Nodes my_app_1 Compute Capabilities Container ... Lifecycle create configure ... Policy Type Rule Trigger my_scaling_group backend_app Compute Policy Type Rule Trigger my_database Compute web-app Compute Policy Type Rule Trigger 1 2 3

16.TOSCA Direction to model Network Functions Virtualization Planning work with OpenStack Neutron related OpenNFV projects TOSCA liaising with ETSI NFV and OpenNFV standards work groups Support for NFV graph constructs : TOSCA Profile Drafts model SDN on OpenStack Network Service Descriptors (NSD) Virtual Network Function Descriptors (VNFD) Forwarding Graphs as sequences of Connection Points (CPs)

17.Automated TOSCA-based Orchestration Now P art of OpenStack TOSCA-to-Heat-Translator now part of OpenStack Heat Latest TOSCA features integrated: Networking , Block & Object Storage... Implemented TOSCA relationship templates, custom types Availability to use on command line & user input param support Plans for next OpenStack release (“ Liberty ”) include Murano ( Application catalog integration) with OpenStack client TOSCA parser available as independent Python library TOSCA Policy schema and Group schema TOSCA Types TOSCA Template TOSCA Nodes Validation Tests Map Generate Validation Tests TOSCA Parser HOT Generator HOT - Heat Orchestration Template Heat Deploy OpenStack Services Orch

18.TOSCA templates rendered in YAML Both TOSCA Templates and Heat HOT Templates use YAML as DSL H uman readable and crisp Popular in open source projects E asy to integrate TOSCA YAML HOT YAML

19.TOSCA Benefits Summary Human readable and easy to integrate Domain Specific Language An Open Standard that models the right application abstractions Manipulate the orchestration declaratively instead of dealing with disparate cloud APIs (leave that to the TOSCA Orchestrator) Covers the full complexity of applications   All levels and tiers : Application, Middleware, Container, Infrastructure Group software components and attach TOSCA policies to convey important QoS & placement requirements Aligns with future work on monitoring Leverage pre-built TOSCA Templates, models, and definitions from distributed repositories Portable automatic orchestration (works with OpenStack now)

20.TOSCA Resources – Learn More TOSCA Technical Committee Public Page (latest documents, updates, and more) https :// OASIS Channel (all standards) or TOSCA YouTube Playlist https:// or TOSCA Simple Profile in YAML v1.0 (latest committee approved draft) http:// TOSCA Simple Profile for NFV v1.0 (latest committee approved draft) http :// TOSCA v1.0 Specification (2013 ) http :// TOSCA v1.0 Primer http :// Contact the Technical Committee Co-Chairs: Paul Lipton, Simon Moser, 20

21.21 Q&A TOSCA An Open Standard for Business Application Agility and Portability in the Cloud Start Blueprinting Your Cloud Apps in TOSCA now!