tosca overview and update for e3c 2016-08-03 · an important open standard, that is enabling a...

25
Overview and update for the E3C Wednesday, 3 August, 2016 Matt Rutkowski IBM STSM, Cloud Open Technologies Editor, CoChair, Simple Profile WG, Presenting on behalf of the TOSCA TC:

Upload: others

Post on 27-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

Overview  and  update  for  the  E3CWednesday,   3  August,   2016

Matt  RutkowskiIBM  STSM,  Cloud  Open  TechnologiesEditor,   Co-­‐Chair,   Simple  Profile  WG,  

Presenting  on  behalf  of  the  TOSCA  TC:

Page 2: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

2

▪What  is  TOSCA?

▪What  Makes  TOSCA  Unique?

▪ Key  Modeling  Concepts

§ Topology,  Composition,  Portability,  Lifecycle  (management),  Policy

▪ TOSCA’s  Growing  Eco-­System

▪ in  open  source  &  standards

▪Work  Group  Activities  &  What’s  Next

Page 3: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

An important Open standard, that is enabling a unique Cloud eco-systemsupported by a large and growing number of international industry leaders…

TOSCA  uses  a  domain-­specific   language  (DSL)  to  define  interoperable  descriptions  of  :

• Cloud  applications,  services,  platforms,  infrastructure  and  data  components,  along  with  their  relationships,  requirements,  capabilities,  configurations and  operational  policies…

• …thereby  enabling  portability and  automated managementacross  cloud  providers  regardless  of  underlying  platform  or  infrastructure  thus  expanding  customer  choice,  improving  reliability and  time-­to-­value  while  reducing costs.  

3

Page 4: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

Associated  Companies• TOSCA  Version  1.0  Specification  approved  as  an  OASIS  Standard

— published  Nov  2013,  XML  format

• TOSCA  Simple  Profile  v1.0  Specification  (YAML  format)  

— TC-­‐approved,   implementable;  June  2016;    

— TOSCA  Simple  Profile  v1.1  Spec  (TC-­‐approved  Public  draft,  June2016)

§ Supports  Domain-­‐Specific  Profile  Specifications:  

– Network  Function  Virtualization  (NFV)  Profile  v1.0  (Revision  3  approved)

• Government  and  Corporate  Awareness:  

– OASIS:    600+  participant  organizations.  5000+  participants  spanning  65+  countries

– TOSCA  Committee:  175+  people    45+  companies/organizations

– International  Standards  &  Research:  ISO/IEC  JTC  1  liaison,  EU  FP7,  ETSI  NFV  liaison,  etc.  

• Multi-­‐company  Interoperability  Demonstrated:  

– EuroCloud  2013,  Open  Data  Center  Alliance  2014,  OSCON   2015,  OpenStack  Summit  2016  (Indigo  DataCloud) 4

Only  contributors,   reviewers,  implementers,  users,  and  supporters  of  the  TOSCA  Standard  within  OASIS  are  listed

Page 5: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

incorporates  both  Data and  InformationModel features  and  concepts  …

…  but  brings  unique orchestration concepts focus  in  Lifecycle  mgmt.  and  State

Information  ModelsTypically,  used  to  model  a  constrained  domain  that  can  be  described  by  a  closed  set  of  entity  

types,  properties,  relationships and  operations.

Data  ModelsTypically,  describe  the  structure  (format),  enabling  manipulation   (via  interfaces)  of  the  data  stored  in  data  management  systems  assuring   integrity.

• Topology• Composition  • Requirements  -­‐ Capabilities• State  (Nodes,  Relationships)• Lifecycle (Management)• Policy

Intent  Model  Adds:

TOSCA  is  an  Intent  Model which  is  declarative  (integration  points  for  imperative)

• Structure  • Format• interfaces

• Types,  Relationships• Properties• Operations

ü TOSCA  is  can  work  with  imperative  scripts            (e.g.,  Ansible,  Chef,  Bash,  Ant,  etc.)  

ü TOSCA  can  include  other  data  models  (e.g.,  JSON,  YANG)

Page 6: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

•Topology• Composition

• Portability

• Lifecycle

• Policy

Page 7: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

Tier  (Group  Type)

TOSCA  is  used  first  and  foremost  to  describe    the  topology  of  the  deployment view for  cloud  applications  and  services

7

source_resource

Node_Type_A

target_resource

Node_Type_B

Requirement

connect_relationship

ConnectsToCapability

Nodes -­‐ are  the  resources  or  components  that  will  be  materialized  or  consumed  in  the  deployment  topology

Relationshipsexpress  the  dependencies  between  the  nodes  (not  the  traffic   flow)

ü Node  templates to  describe  components  in  the  topology  structure

ü Relationship  templates to  describe  connections,  dependencies,  deployment  ordering

Requirement  -­‐ CapabilityRelationships  can  be  customized  to  match  specific  source  requirements  to  target  capabilities

GroupsCreate  Logical,  Management  or  Policy  groups  (1  or  more  nodes)

Page 8: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

8

TOSCA  Service  Template(container)Application  Tier  

(container)

Web  Server(container)

Web  App

PHP  Module

Database  Tier  (container)

DB  Server(container)

Database

Service  Templates  provide  the  “container”  to  exchange  and  reuse   topologies:  • Reusable  models extend  investments  by  making  it  easy  to  compose  more  valuable  

and  complex  apps  from  existing  apps• Determines   dependency  boundaries   to  maximize parallelism of  deployments  • Models   (dependencies)   can  be  validated  by  automation to  ensure  application-­‐aware,  

policy-­‐aligned  configuration,  deployment  and  operational  semantics

Containm

ent

Connectivity

Example:  a  simple,  2-­‐Tier  Cloud  application  expressed  in  a  TOSCA  Service  Template

Page 9: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

• Topology

•Composition• Portability

• Lifecycle

• Policy

Page 10: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

Application  Tier  (container)

Database  Tier  (container)

10

Logging/Monitoring  Tier  (ELK)

nodejs

WebServer

app_server

Compute

paypal_pizzastore

WebApplication

collectd

logstashSoftwareComponent

Requirements

Container

Capabilitieslog_endpoint

logstash_server

Compute

CapabilitiesContainer

elasticsearchSoftwareComponent

RequirementsContainer

Capabilitiessearch_endpoint

elasticsearch  _server

Compute

Capabilities

kibanaSoftwareComponent

Requirements

Container

kibana_server

Compute

Capabilities

search_endpoint

ConnectsTo

HostedOn HostedOn HostedOn

ConnectsTo

mongo_dbms

DBMS

mongo_server

Compute

mongo_db

Database

rsyslog

search_endpoint

ContainerContainer

ConnectsTo

Example:  Connect  a  Logging  /  Monitoring  Service  composed  of  ElasticSearch,  LogStash  and  Kibana  (ELK)  

Enabling  the  description  of  complex,  multi-­‐tier  (hybrid)  Cloud  applications

Page 11: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

AnalyticsService

(Topology)

Cloud  Application(Topology)

Orchestrators  can  “substitute”  for  abstract  nodes……  as  long  as  all  declared  “requirements”  are  met:

• Monitoring  Service  can  be  substituted in  Cloud Application  • Analytics  Service  can  be  substituted in  Monitoring  Service  

Abstract  nodes  in  one  TOSCA  topology  can  be  substituted  with  another  topology

MonitoringService(Abstract)

JavaApplication

WebApplication

Server

SQLDatastore

Monitoring  Service(Topology)

Collector

Logger

MonitoringFramework

AnalyticsService(Abstract)

AnalyticsEngine

HadoopService  Template  1

Service  Template  2

Service  Template  3

Page 12: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

• Topology

• Composition

•Portability• Lifecycle

• Policy

Page 13: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

TOSCA  Service  Template

Storage

Compute1

DB

Compute2

App

Network

ScalingPolicy

§ TOSCA’s  defines  Normative  Types for  different  domains,  for  example:  ü Application,  IaaS  Types  are  part  of  

“core”  specificationü e.g.,  Web  Server,  Database,  Compute,  

Block  Storage,  Network

§ Cloud  Application’s  declarative  modelled  from  these  normative  types  …

§ …  Can  be  understood  by  any  Cloud  Provider

unfulfilledApplication   Requirements

can  be  exportedfor  Orchestrators  to  fulfill

Templates  include  (or  reference)  all  necessary  configuration  and  Infrastructure  requirements

TOSCA  applications,  using  normative  types,  are  portable  to  different  Cloud  infrastructures

TOSCA  Meta-­‐Model Normative  Types

Nodes• Properties• Attributes  

Relationships• Properties• Attributes

Capabilities

Interfaces(Operations)

Groups

Policies

Requirements

Interfaces

compo

sed  from

based  up

on

Page 14: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

Example:  TOSCA  applications  are  portable  to  different  Cloud  infrastructures

Application   Requirements  

TOSCAOrchestration

TOSCA  Service  Template

Storage

Compute1

DB

Compute2

App

Network

ScalingPolicy

Cloud  Provider  C

Cloud  Provider  A

Cloud  Provider  B

by  expressing  application  Requirements…

independently  from  cloud  provider  Capabilities…

&  OptimizationAutomatic  Matching

Infrastructure   Capabilities

Orchestrators  concern  themselves  dealing  with  disparate  cloud  APIs   14

Capabilities

Requirements

Page 15: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

• Topology

• Composition

• Portability

•Lifecycle• Policy

Page 16: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

my_resource_name

My_Resource_Type

Lifecycle.Standard

create

configure

start

stop

delete

Node  Lifecycle

Operations

Implementations (e.g.,  imperative  scripts)  can  be  bound  to  operations.

source_resource

Type_A

A

target_resource

Type_B

B

my_relationship

ConnectsTo

Lifecycle.Configure

pre_config_target

post_config_target

add_target

remove_target

pre_config_source

post_config_source

add_source

remove_source

Operations

The  Orchestrator moves  the  nodes  through  their  Lifecycle States by  executing  their  LifecycleOperations in  topological  order• Orchestrators  can  work  to  deploy  nodes  in  parallel  based  upon  node  relationships

Relationship  LifecycleNodes have  their  own  Lifecycle  

Operations which  are  invoked  in  order  to  achieve  a  target  state

Relationships also  have  their  own  Lifecycle  Operations  to  configure  or  allocate  and  de-­‐configure  or  deallocate  Node related  resources

TOSCA  models  have  a  consistent  view  of  state-­‐based  lifecycle

Page 17: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

• Topology

• Composition

• Portability

• Lifecycle

•Policy

Page 18: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

v1.0  includes  the  groundwork  for  Placement  (Affinity),  Scaling  and  Performance  Policies‒ Orchestrators  can  evaluate  Conditions based  on  Events that  trigger  Automatic  or  Imperative  Actions

Policies  can  be  declared  independently  and  ttached to  various  points  in  your  models1. That  can  be  attached  to  Interfaces or  specific  Operations,  2. Nodes and    3. Groups of  Nodes  

my_app_1

Compute

Capabilities

Container

...Lifecycle

create

configure

...

Policy• Type• Event, Condition• Action

my_scaling_group

backend_app

Compute

Policy• Type• Event, Condition• Action

my_database

Computeweb-­‐app

ComputePolicy• Type• Event, Condition• Action

1

2

3

Scaling

“Policies  are  non-­‐functional  Requirements  independent  of  nodes”  

Page 19: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

• Reference  by  other  Standards

• Open  Source• OpenStack

Page 20: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

20

Topology,  Type  &  LCM  Designhttp://alien4cloud.github.io/

alien4cloud

Service  Orchestration  &  Managementhttp://getcloudify.org/

Data/computing  platform  targeted  at  scientific  communities

http://information-­‐technology.web.cern.ch/about/projects/eu/indigo-­‐datacloud

https://wiki.openstack.org/

Heat-­‐Translator(IaaS,  App  Orchestration)Tacker(Network  Function  Orchestration)

http://ariatosca.org//

Multi-­‐Cloud  Orchestration(Amazon,  Azure,  VMware,  OpenStack)

Open  Sourced  from  Cloudify

www.seaclouds-­‐project.eu/media.htmlOpen,  Multi-­Cloud  Management

ParserDeployment  Template  Translation

https://wiki.opnfv.org/display/parser/Parser

Note:  ETSI  NFV  ack.  TOSCA  can  be  used  as  aninput  model/format

Page 21: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

• Interoperability  (Conformance)• Goal:  Conformance   test  suite  for  v1.0;  includes   tests  for  each  section  of  Simple  Profile  v1.0  specification.

• Each  test  is  a  TOSCA  Service  Templates  with  metadata  describing  test  using  the  OASIS  Test-­‐Assertion  (TAG)  Standard• Work  underway  to  publish   in  new  GitHub repo.,  announcement   (target  ~Sept  2016)

• Container  (Clustering)• Goal:  Finish   new  Cluster  capability  definitions,   Data  Cluster  use  cases.  for  Simple   Profile  v1.2

• Instance  Model• Goal:  new  schema  for  an  Instance  Model  (reuse  existing  schema  where  possible)

• Discussing  API  potentially  enabling  capture,  export and  management of  deployed   application

• Monitoring• Goal:  Create  normative  event  types  for  basic  operational  events

• Focus  on  events  types  for  Health,  Scaling &  Performance• Support   basic  “Red-­‐Yellow-­‐Green”  and  Percentage-­‐based  monitoring  for  dashboards

• Network  Function  Virtualization  (NFV)• Expanded   Scope:  include  Software-­‐Defined  Network  (SDN)  use  cases• Goal:  Complete  v1.0  Specification,   v1.0  Public  Review  Draft  3    Published   (17  March  2016)

• Can  model  complete  ETSI  MANO  specification:  Network  Services,  Virtual  Network  Functions  (NFV)s,  Virtual  Links,  with  Forwarding  Paths,    • Orchestration  demonstrated  with  OpenStack  Tacker  Project,  multi-­‐VNF  use  cases  for  next  release

Page 22: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

22

• TOSCA  Technical  Committee  (TC)  Public  Page  (TC  approved  updates  on  documents,  strategy,  and  more)  — https://www.oasis-­‐open.org/committees/tc_home.php?wg_abbrev=tosca

• OASIS  TOSCA  LinkedIn  Group:  (latest  news,  community  and  eco-­‐system  updates,  etc.  Join  now  to  stay  informed!)  — https://www.linkedin.com/groups/8505536

• OASIS  YouTube  Channel,  TOSCA  Playlist  — https://www.youtube.com/user/OASISopen ,http://bit.ly/1BQGGHm

• TOSCA  Simple  Profile  in  YAML  v1.0   (TC-­‐approved  Committee  Spec,  implementable;  12,  June  2016)— http://docs.oasis-­‐open.org/tosca/TOSCA-­‐Simple-­‐Profile-­‐YAML/v1.0/cs01/TOSCA-­‐Simple-­‐Profile-­‐YAML-­‐v1.0-­‐cs01.zip

• TOSCA  Simple  Profile  for  NFV  v1.0  (latest  public  review  draft,  17  March  2016)– http://docs.oasis-­‐open.org/tosca/tosca-­‐nfv/v1.0/tosca-­‐nfv-­‐v1.0.html

• Contact  the  Technical  Committee  Co-­‐Chairs  (also  part  of  TOSCA  TC  Panel):– Paul  Lipton,  [email protected]; John  Crandall,  [email protected]

• Today’s  TOSCA  TC  Panel  also  Included:  Karsten Beins,  Karsten  [email protected];  Lowell  Higley,  [email protected];  Chris  Lauwers,  [email protected];  Derek  Palma,  [email protected];  Matt  Rutkowski,  [email protected]

Page 23: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

Q&A

Page 24: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

Version  1.0• Approved  Committee  Specification,  12  June  2016

• Target  Fall  2016  for  full  OASIS  Standard• http://docs.oasis-­‐open.org/tosca/TOSCA-­‐Simple-­‐Profile-­‐YAML/v1.0/cs01/TOSCA-­‐Simple-­‐Profile-­‐YAML-­‐v1.0-­‐cs01.html

Version  1.1• Approved  Public  Draft  01,  June  2016• Metadata (completed)

• now  supported   in  all  Types  (Node,   Relationship,   Capability,   Data,  etc.)• Conformance   Testing  metadata

• Group Type  (completed)• Expanded  Group   Type  to  allow  management  of  member  resources  (i.e.,  Lifecycle)  • Has  its  own  Capabilities   and  Requirements

• Policy Definition (completed)• Event-­‐Condition-­‐Action   model  • Includes  Event  Filters and  Triggers

• Workflow (completed)• Intermix  declarative  with   Imperative   (e.g.,  Ansible,  Chef,  Ant,  Bash)• Preserve   investment   in  existing  scripts  for  complex  installations  /  configurations

Version  1.2• Target  Sept.  2016,  public  draft.• Improve  import  of  Service  Templates  

• Using  template  naming  /  versions  (expressions)   to  be  used  with  Catalogs  /  Repostiories• Allow  Composition  of  Group  Type

• Provide  use  cases  using  Clusters   Differentiate   from  Abstract  Node   Types

• Cluster Type (75%  completed)• Add  support   for  Cluster  normative   type;  based  upon  new  Group   Type• Will  support   new  normative  LoadBalancer ,  Scalable and  Router Capability  Types• Data  Clusters   (e.g.,  Cassandra,  MongoDB,  etc.)  – In-­‐Progress

24

Page 25: TOSCA Overview and Update for E3C 2016-08-03 · An important Open standard, that is enabling a unique Cloud eco-system supported by a large and growing number of international industry

Complete  Source:  https://github.com/openstack/heat-­‐translator/blob/master/translator/toscalib/tests/data/tosca_single_server.yaml

tosca_definitions_version:  tosca_simple_yaml_1_0

description:  >Template  for  deploying  a  single  server  with  predefined  properties  and  input  parameter

topology_template:inputs:

cpus:type:  integerdescription:  Number  of  CPUs  for  the  server.constraints:-­‐ valid_values:  [  1,  2,  4,  8  ]

node_templates:my_server:type:  tosca.nodes.Computecapabilities:host:properties:num_cpus:  {  get_input:  cpus }disk_size:  10  GBmem_size:  512  MB

os:properties:architecture:  x86_64  type:  linux    distribution:  rhel    

outputs:server_address:description:  IP  address  of  server  instance.value:  {  get_attribute:  [server,  private_address]  }