Upload
zoe-oneal
View
227
Download
4
Tags:
Embed Size (px)
Citation preview
TOSCAHow 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, developer/modeler (DevOps), etc.
• TOSCA eco-system and status
▪How: a use case driven technical walk-thru of TOSCA
▪Q&A and open discussion
2
• 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 capabilities….
…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
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
Cont
ainm
ent
Connectivity
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
PortableChoice of Provider that
“best fits” your application
• Avoid the “lowest-common denominator” approach…
ChoiceBest 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
TOSCA Templates Agnostic to Cloud Infrastructure Changes
TOSCA enables holistic application lifecycle automation whileensuring integrity, security and compliance
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
TOSCATemplate
Cloud Application Lifecycle with TOSCA
TOSCATemplate
TOSCATemplate
TOSCATemplate
TOSCATemplate
Infrastructure Changes
Hot Packs
Strategic Requests
Operational Requests
ExternalInfluences
BusinessConditions
TOSCA templates communicate and drive app-centric Dev-Ops and continuous delivery
7
TOSCAPortableCloudApplication
TOSCA reduces application complexity
Enabling TOSCA applications to be portable to different infrastructures
Application Requirements
TOSCAOrchestration
TOSCA Service Template
Storage
Compute1
DB
Compute2
App
Network
ScalingPolicy
RingNetwor
kKVM
KVM
KVMKVM
KVM
KVM
Cloud Provider C
Cloud Provider B
PowerVM
SSDPowerVM
SSDPowerVM
SSDPowerVM
SSDPowerVM
PowerVM
RDMANetwork
Cloud Provider A
10 GbNetwor
kX86 VM
HDDX86 VM
HDDX86 VM
Infrastructure Capabilities
by expressing application requirements…
independently from cloud provider Capabilities…
& OptimizationAutomatic Matching
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, getcloudify.org, celar
Associated Companies
Open Source Projects
… and open source partners
nodejsnodejsWebServer
RequirementsContainerContainer
app_serverapp_serverCompute
CapabilitiesContainerContainer
CapabilitiesContainerContainer
paypal_pizzastorepaypal_pizzastoreWebApplication
Requirements
ContainerContainer
DBMS
RequirementsContainerContainer
CapabilitiesContainerContainer
DatabaseRequirements
ContainerContainer
HostedOn
CapabilitiesEndpoint.DBEndpoint.DB
Endpoint.DBEndpoint.DB
ComputeCapabilities
ContainerContainer
ConnectsTo
Application Tier Database Tier
HostedOn
HostedOn
mongo_db
mongo_dbms
mongo_server HostedOn
Example: Java Web Application using Node.js and Mongo DatabaseEnabled by: TOSCA Nodes, Relationships, Requirements, and Capabilities
TOSCA Abstraction describing Application, Container & Infrastructure
NodePayPal
Sample App
NodeNode.js
NodeMongo DBMS
NodeMongoDB
RelationshipConnectsTo
can be orchestrated
in parallel
RelationshipHostedOn
RelationshipHostedOn
RequirementsEndpoint DB
Container
CapabilitiesContainer
CapabilitiesEndpoint DB
11
Logging/Monitoring Tier (ELK)Application Tier
nodejs
WebServer
app_server
Compute
paypal_pizzastore
WebApplication
TOSCA Model for a Complex Multi-Tier Cloud Service
collectd
logstashSoftwareComponent
Artifacts• Create• Config• Start
Requirements
Container
Capabilitieslog_endpoint
logstash_server
Compute
Capabilities
Container
elasticsearchSoftwareComponent
Artifacts• Create• Config• Start
RequirementsContainer
Capabilitiessearch_endpoint
elasticsearch _server
Compute
Capabilities
kibanaSoftwareComponent
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
ContainerContainer
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_2Compute
Attributes• private_address• public_address• networks• ports
CapabilitiesContainer
OperatingSystem
RequirementsAttachment
...
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_1Compute
Attributes• private_address• public_address• networks• ports
CapabilitiesContainer
OperatingSystem
RequirementsAttachment
...
TOSCA Model for Block & Object Cloud Storage
Scenario: different servers use the same storage at different mount points
13
BindsTo
BindsTo
my_app_1Compute
Attributes• private_address• public_address• networks• ports
CapabilitiesContainer
...Bindable
LinksTo
port_2Port
CapabilitiesLinkable
RequirementsBindable
public_net_1Network
CapabilitiesLinkable
LinksTo
port_1Port
CapabilitiesLinkable
RequirementsBindable
private_net_1Network
CapabilitiesLinkable
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_mysqlContainer.App.Docker
Artifacts- my_image: type: Image.Docker URI: mysql repository: docker
Requirements
...Runtime.Docker
Container
my_PaaS_platformContainer.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_1Compute
CapabilitiesContainer
...Lifecycle
create
configure
...
Policy• Type• Rule• Trigger
my_scaling_group
backend_appCompute
Policy• Type• Rule• Trigger
my_databaseCompute
web-appCompute
Policy• Type• Rule• Trigger
1
2
3
16
TOSCA Direction to model Network Functions VirtualizationPlanning 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 Part of OpenStack
● TOSCA-to-Heat-Translator now part of OpenStack Heato Latest TOSCA features integrated: Networking, Block & Object Storage...
o Implemented TOSCA relationship templates, custom types
o Availability to use on command line & user input param support
● Plans for next OpenStack release (“Liberty”) include o Murano (Application catalog integration) with OpenStack client
o TOSCA parser available as independent Python library
o TOSCA Policy schema and Group schema
TOSCA TypesTOSCA
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• Human readable and crisp• Popular in open source projects• Easy 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)
TOSCA Resources – Learn More • TOSCA Technical Committee Public Page (latest documents, updates, and more)
– https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=tosca• OASIS Channel (all standards) or TOSCA YouTube Playlist
• https://www.youtube.com/user/OASISopen or http://bit.ly/1BQGGHm • TOSCA Simple Profile in YAML v1.0 (latest committee approved draft)
• http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/TOSCA-Simple-Profile-YAML-v1.0.pdf
• TOSCA Simple Profile for NFV v1.0 (latest committee approved draft) – http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd01/tosca-nfv-v1.0-csd01.pdf
• TOSCA v1.0 Specification (2013)– http://docs.oasis-open.org/tosca/TOSCA/v1.0/TOSCA-v1.0.pdf
• TOSCA v1.0 Primer– http://docs.oasis-open.org/tosca/tosca-primer/v1.0/tosca-primer-v1.0.pdf
• Contact the Technical Committee Co-Chairs:– Paul Lipton, [email protected]– Simon Moser, [email protected] 20