SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
CAMP, TOSCA, and Heat:
          Three Sides of a Coin
Alex Heneveld / @ahtweetin // April 2013
Agenda

• CAMP
      • An API to facilitate portability and PaaS adoption
      • “a generic application and platform management API that is language,
        framework, and platform neutral”
• TOSCA
      • A description format to enable portable implementations
      • “a language to describe [...] semi-automatic creation and management
        of application layer services [as] components and their relationships”
• Heat
• Brooklyn
• ... and a DSL !


© 2013 Cloudsoft Corporation                                                     2
Oasis
                                       CAMP
                               Cloud Application Management Platform

                         http://www.oasis-open.org/committees/camp/
                                     www.cloudspecs.org



© 2013 Cloudsoft Corporation                                           3
CAMP Key Concepts

• ComponentTemplates are pieces available in the Platform
      • PlatformComponentTemplates are supplied by the platform —
        for instance a Database or a Web Server Cluster
      • ApplicationComponentTemplates are artifacts uploaded —
        a WAR file, database schema, or script file
      • Requirement and Capability instances determine the wiring
• AssemblyTemplates are the apps available
      • at runtime, instantiated to make Assembly instances
        (comprised of ApplicationComponents and PlatformComponents)
      • Sensors and Operations available on all of these
• The Platform Deployment Package (PDP) defines new AT’s
      • a ZIP file POSTed by the consumer
      • containing app artifacts and a descriptor file specifying the components
        and their requirements — in a way that the Platform can then wire up


© 2013 Cloudsoft Corporation                                                      4
CAMP REST/JSON

                                                    PLATFORM resource

                               {
                                   "uri": URI,
                                   "name": "Web SuperPaaS",
            GET /camp/1.0/         "type": "Platform",
                                   "tags": [ String, + ], ?
                                   "assemblyTemplates": [ Link + ], ?
                                   "assemblies": [ Link + ], ?
                                   "platformComponentTemplates": [ Link + ], ?
                                   "capabilities": [Link + ], ?
                               }



                                                            GET




                                                ASSEMBLY TEMPLATE resource

                                   {
                                       "uri": URI,
                                       "name": "JEE AppServer tier plus SQL DB",
                                       "type": "AssemblyTemplate",
                                       "requirements": [ Link + ], ?
                                       "applicationComponentTemplates": [ Link + ], ?
                                       "platformComponentTemplates": [ Link + ], ?
                                   }




© 2013 Cloudsoft Corporation                                                            5
Oasis
                                   TOSCA
               Topology and Orchestration Specification for Cloud Applications

                         http://www.oasis-open.org/committees/tosca/




© 2013 Cloudsoft Corporation                                                    6
TOSCA Key Concepts
          Modeling Topologies with TOSCA                                                                                      Slide origin: IBM
          Service  Topologies  are  described  using  the  TOSCA  “Meta-model”:

                                   Nodes                                                   Relationships
            Represent Components of an application or service             Represent the logical Relationships between
             and their Properties. Example nodes include:                   nodes
              – Infrastructure: Compute, Network, Storage, etc.               – e.g.  “hostedOn”,  “connectsTo”,  etc.
              – Platform: OS, VM, DB, Web Server, etc.                     Describes the valid Source and Target nodes they
              – Granular: functional Libraries, Modules, etc.               are designed to couple
            Include Operations which are the management                      – e.g. source  “web application”  node  is  designed  
             functions for the node                                              to  “connectTo”  a  target  “database”  node
              – e.g. deploy(), start(), stop(), connect(), etc.           Have their own Properties and Constraints
            Export their dependencies on other nodes
             as Requirement and Capabilities




                                  Artifacts                                             Service Templates
                                                                            Group the nodes and relationships that make up
             Describe Installables and Executables required to
                                                                             a  service’s  topology
              instantiate and manage a service. Currently, they
              include:                                                       – Allowing modeling of sub-topologies
             Implementation Artifacts:                                     Service Templates “look  like  nodes” enabling:
               – Executables or Plans that implement  a  Node’s               Composition of applications from one or more
                   or  Relationship’s  Operations (e.g. a Bash script)           service templates
             Deployment Artifacts:                                           Substitution of abstract Node types with
               – Installables of the components (e.g. a TAR file)                available service templates of the same type



            A  service’s  Topology Model is included in a TOSCA Service Template which is packaged and shared, along with
                                   all dependent artifacts, as a TOSCA Cloud Service Archive (CSAR)



© 2013 Cloudsoft Corporation                                                                                                                 7
TOSCA Example
                                                                                      Slide origin: TOSCA Spec
    <Definitions id="PayrollDefinitions" targetNamespace="http://www.example.com/ste"
        xmlns:pay="http://www.example.com/ste/Types">
      <Import namespace="http://www.example.com/ste/Types" location="http://.../PayrollTypes.tosca"
          importType=" http://docs.oasis-open.org/tosca/ns/2011/12"/>

      <ServiceTemplate id="Payroll" name="Payroll Service Template">
        <TopologyTemplate ID="PayrollTemplate">
          <NodeTemplate id="Payroll Application" type="pay:ApplicationNodeType">
            <DeploymentArtifacts>
              <DeploymentArtifact name="PayrollEAR" type="http://..../CSARref">
                EARs/Payroll.ear
              </DeploymentArtifact>
            </DeploymentArtifacts>
          </NodeTemplate>

           <NodeTemplate id="Application Server" type="pay:ApplicationServerNodeType">
             <DeploymentArtifacts>
               <DeploymentArtifact name="ApplicationServerImage" type="http://.../AMIref">
                 ami-edf2cf99
               </DeploymentArtifact>
             </DeploymentArtifacts>
           </NodeTemplate>

          <RelationshipTemplate id="deployed_on" type="pay:deployed_on">
            <SourceElement ref="Payroll Application"/>
            <TargetElement ref="Application Server"/>
          </RelationshipTemplate>
        </TopologyTemplate>
      </ServiceTemplate>
    </Definitions>


© 2013 Cloudsoft Corporation                                                                                8
CAMP
                                 +
                               TOSCA

© 2013 Cloudsoft Corporation           9
CAMP                    API
          +   =                  +
        TOSCA                  impl

© 2013 Cloudsoft Corporation          10
CAMP      Open
          +   =   App
        TOSCA   Platform

© 2013 Cloudsoft Corporation   11
Concept Alignment
  TOSCA                             CAMP

  CSAR                              PDP
  describes what to deploy          wraps CSAR, gives API to install
  NodeTemplate, TopologyTemplate    PlatformComponent(Template)
  the heart of TOSCA —              an API for managing — but silent about
  the orchestration to build them   how they are built and where they come from

  ServiceTemplate                   Assembly(Template)

  ArtifactTemplate                  ApplicationComponent(Template)

  Requirements and Capabilities     Requirements and Capabilities

  Relationships                     Requirement fulfilment

  Plans and Policies                more PlatformComponent(Template)s

  Properties and Operations         Attributes, Sensors, and Operations

© 2013 Cloudsoft Corporation                                                      12
OpenStack
                                 Heat
                               http://wiki.openstack.org/Heat




© 2013 Cloudsoft Corporation                                    13
Heat

• We all know Heat (and that warm feeling it gives us),
  but one brief view:


• Vocabulary:
      • Resources are items natively available from OpenStack
      • Stacks are composites of these resources and/or other stacks


• Has:
      • API — proprietary but isomorphic to a subset of CAMP
      • DSL — currently based on AWS CloudFormation but evolving



© 2013 Cloudsoft Corporation                                             14
Project
                               BROOKLYN
                               http://brooklyncentral.github.com/




© 2013 Cloudsoft Corporation                                        15
http://brooklyncentral.github.com
Brooklyn has been doing this
kind of stuff over in Java-land.




  © 2013 Cloudsoft Corporation                                  16
http://brooklyncentral.github.com

Complex stuff too!




© 2013 Cloudsoft Corporation                                  17
Active Modelling and Management
Some good (and bad) practices can be learned!
          Location        +                   MyWebCluster




                                   MySQL                     ControlledDynamicWebAppCluster

                                   MySQL

                                     OS               [targets]                       Auto Scaler Policy
                                                     NGINX                    DynamicWebAppCluster

                                                     NGINX

                                                      OS
                                                                  JBoss7Server …         JBoss7Server

                                                                  JBoss7Server …         JBoss7Server

                                                                         OS        …         OS
 Strictly Confidential © 2013 Cloudsoft Corporation                03/26/13                                 18
Java Library

 public class MyWebCluster extends AbstractApplication
 implements MyWebClusterConstants {

     @Override
     public void init() {
       MySqlNode mysql = ...;
       ControlledDynamicWebAppCluster web = ...;

         web.addEnricher(HttpLatencyDetector.builder().url(ROOT_URL).
           rollup(10, SECONDS).build());

         web.getCluster().addPolicy(AutoScalerPolicy.builder().
           metric(REQUESTS_PER_SECOND_IN_WINDOW_PER_NODE).
           metricRange(10, 100).sizeRange(2, 5).build());

         addEnricher(SensorPropagatingEnricher.newInstanceListeningTo(web,
           ROOT_URL, REQUESTS_PER_SECOND_IN_WINDOW, REQUEST_LATENCY_IN_SECONDS_IN_WINDOW));
     }
 }




© 2013 Cloudsoft Corporation                                                                  19
Conclusion




         they all need a nice
                                        DSL
                               https://wiki.openstack.org/wiki/Heat/DSL/




© 2013 Cloudsoft Corporation                                                       20

Weitere ähnliche Inhalte

Was ist angesagt?

Apache Ambari BOF - APIs - Hadoop Summit 2013
Apache Ambari BOF - APIs - Hadoop Summit 2013Apache Ambari BOF - APIs - Hadoop Summit 2013
Apache Ambari BOF - APIs - Hadoop Summit 2013Hortonworks
 
Building a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStackBuilding a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStackAnimesh Singh
 
IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptx
IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptxIBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptx
IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptxGeorg Ember
 
Simplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring CloudSimplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring CloudRamnivas Laddad
 
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto Docker, Inc.
 
Cloudfoundry Introduction
Cloudfoundry IntroductionCloudfoundry Introduction
Cloudfoundry IntroductionYitao Jiang
 
Cloud Foundry for Spring Developers
Cloud Foundry for Spring DevelopersCloud Foundry for Spring Developers
Cloud Foundry for Spring DevelopersGunnar Hillert
 
Designing OpenStack Architectures
Designing OpenStack ArchitecturesDesigning OpenStack Architectures
Designing OpenStack ArchitecturesMirantis
 
How easy (or hard) it is to monitor your graph ql service performance
How easy (or hard) it is to monitor your graph ql service performanceHow easy (or hard) it is to monitor your graph ql service performance
How easy (or hard) it is to monitor your graph ql service performanceLuca Mattia Ferrari
 
Red Hat OpenStack - Open Cloud Infrastructure
Red Hat OpenStack - Open Cloud InfrastructureRed Hat OpenStack - Open Cloud Infrastructure
Red Hat OpenStack - Open Cloud InfrastructureAlex Baretto
 
Cloud computing and OpenStack
Cloud computing and OpenStackCloud computing and OpenStack
Cloud computing and OpenStackEdgar Magana
 
Bulk Export Tool for Alfresco
Bulk Export Tool for AlfrescoBulk Export Tool for Alfresco
Bulk Export Tool for AlfrescoRichard McKnight
 
Moving From Actions & Behaviors to Microservices
Moving From Actions & Behaviors to MicroservicesMoving From Actions & Behaviors to Microservices
Moving From Actions & Behaviors to MicroservicesJeff Potts
 
Building Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJsBuilding Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJsSrdjan Strbanovic
 
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...NETWAYS
 
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...Lucas Jellema
 
OpenStack Administration by Mobarak Hossain Group Organizer Bangladesh
OpenStack Administration by Mobarak Hossain Group Organizer BangladeshOpenStack Administration by Mobarak Hossain Group Organizer Bangladesh
OpenStack Administration by Mobarak Hossain Group Organizer BangladeshMobarak Hossain
 
Extending Alfresco Digital Workspace with Docusign
Extending Alfresco Digital Workspace with DocusignExtending Alfresco Digital Workspace with Docusign
Extending Alfresco Digital Workspace with DocusignLuis Colorado
 

Was ist angesagt? (20)

Apache Ambari BOF - APIs - Hadoop Summit 2013
Apache Ambari BOF - APIs - Hadoop Summit 2013Apache Ambari BOF - APIs - Hadoop Summit 2013
Apache Ambari BOF - APIs - Hadoop Summit 2013
 
Building a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStackBuilding a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStack
 
IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptx
IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptxIBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptx
IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptx
 
Simplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring CloudSimplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring Cloud
 
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
 
Cloudfoundry Introduction
Cloudfoundry IntroductionCloudfoundry Introduction
Cloudfoundry Introduction
 
Cloud Foundry for Spring Developers
Cloud Foundry for Spring DevelopersCloud Foundry for Spring Developers
Cloud Foundry for Spring Developers
 
Designing OpenStack Architectures
Designing OpenStack ArchitecturesDesigning OpenStack Architectures
Designing OpenStack Architectures
 
How easy (or hard) it is to monitor your graph ql service performance
How easy (or hard) it is to monitor your graph ql service performanceHow easy (or hard) it is to monitor your graph ql service performance
How easy (or hard) it is to monitor your graph ql service performance
 
Red Hat OpenStack - Open Cloud Infrastructure
Red Hat OpenStack - Open Cloud InfrastructureRed Hat OpenStack - Open Cloud Infrastructure
Red Hat OpenStack - Open Cloud Infrastructure
 
Cloud computing and OpenStack
Cloud computing and OpenStackCloud computing and OpenStack
Cloud computing and OpenStack
 
Bulk Export Tool for Alfresco
Bulk Export Tool for AlfrescoBulk Export Tool for Alfresco
Bulk Export Tool for Alfresco
 
Moving From Actions & Behaviors to Microservices
Moving From Actions & Behaviors to MicroservicesMoving From Actions & Behaviors to Microservices
Moving From Actions & Behaviors to Microservices
 
Building Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJsBuilding Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJs
 
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...
 
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
 
OpenStack Administration by Mobarak Hossain Group Organizer Bangladesh
OpenStack Administration by Mobarak Hossain Group Organizer BangladeshOpenStack Administration by Mobarak Hossain Group Organizer Bangladesh
OpenStack Administration by Mobarak Hossain Group Organizer Bangladesh
 
Cloud and OpenStack
Cloud and OpenStackCloud and OpenStack
Cloud and OpenStack
 
Rest overview briefing
Rest  overview briefingRest  overview briefing
Rest overview briefing
 
Extending Alfresco Digital Workspace with Docusign
Extending Alfresco Digital Workspace with DocusignExtending Alfresco Digital Workspace with Docusign
Extending Alfresco Digital Workspace with Docusign
 

Ähnlich wie 2013 04-specs-camp-tosca-heat-brooklyn

TOSCA - Topology and Orchestration Specification for Cloud Applications
TOSCA  - Topology and Orchestration Specification for Cloud ApplicationsTOSCA  - Topology and Orchestration Specification for Cloud Applications
TOSCA - Topology and Orchestration Specification for Cloud Applicationssdmoser
 
Cloud Computing Open Stack Compute Node
Cloud Computing Open Stack Compute NodeCloud Computing Open Stack Compute Node
Cloud Computing Open Stack Compute NodePalak Sood
 
Cloud Computing OpenStack Compute Node
Cloud Computing OpenStack Compute NodeCloud Computing OpenStack Compute Node
Cloud Computing OpenStack Compute NodeNamita Arora
 
Stratos Grouping
Stratos GroupingStratos Grouping
Stratos GroupingWSO2
 
Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014 Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014 Uri Cohen
 
Yet Another Fog Simulator (YAFS) - user guide
Yet Another Fog Simulator (YAFS) - user guideYet Another Fog Simulator (YAFS) - user guide
Yet Another Fog Simulator (YAFS) - user guidewisaaco
 
Building Cross-Cloud Platform Cognitive Microservices Using Serverless Archit...
Building Cross-Cloud Platform Cognitive Microservices Using Serverless Archit...Building Cross-Cloud Platform Cognitive Microservices Using Serverless Archit...
Building Cross-Cloud Platform Cognitive Microservices Using Serverless Archit...Srini Karlekar
 
Heat - keep the clouds up
Heat - keep the clouds upHeat - keep the clouds up
Heat - keep the clouds upKiran Murari
 
Introduction to OpenStack Heat
Introduction to OpenStack HeatIntroduction to OpenStack Heat
Introduction to OpenStack Heatopenstackindia
 
Cloud designpatterns
Cloud designpatternsCloud designpatterns
Cloud designpatternsVMEngine
 
Delivering Pluggable Database as a Service
Delivering Pluggable Database as a ServiceDelivering Pluggable Database as a Service
Delivering Pluggable Database as a ServicePete Sharman
 
Delivering Schema as a Service
Delivering Schema as a ServiceDelivering Schema as a Service
Delivering Schema as a ServicePete Sharman
 
Paa sing a java ee 6 application kshitiz saxena
Paa sing a java ee 6 application   kshitiz saxenaPaa sing a java ee 6 application   kshitiz saxena
Paa sing a java ee 6 application kshitiz saxenaIndicThreads
 
How to – wrap soap web service around a database
How to – wrap soap web service around a databaseHow to – wrap soap web service around a database
How to – wrap soap web service around a databaseSon Nguyen
 
Model Driven Orchestration with TOSCA and ARIA
Model Driven Orchestration with TOSCA and ARIAModel Driven Orchestration with TOSCA and ARIA
Model Driven Orchestration with TOSCA and ARIACloudify Community
 
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...Jitendra Bafna
 

Ähnlich wie 2013 04-specs-camp-tosca-heat-brooklyn (20)

TOSCA - Topology and Orchestration Specification for Cloud Applications
TOSCA  - Topology and Orchestration Specification for Cloud ApplicationsTOSCA  - Topology and Orchestration Specification for Cloud Applications
TOSCA - Topology and Orchestration Specification for Cloud Applications
 
Forecast 2014: TOSCA Proof of Concept
Forecast 2014: TOSCA Proof of ConceptForecast 2014: TOSCA Proof of Concept
Forecast 2014: TOSCA Proof of Concept
 
Cloud Computing Open Stack Compute Node
Cloud Computing Open Stack Compute NodeCloud Computing Open Stack Compute Node
Cloud Computing Open Stack Compute Node
 
Cloud Computing OpenStack Compute Node
Cloud Computing OpenStack Compute NodeCloud Computing OpenStack Compute Node
Cloud Computing OpenStack Compute Node
 
Stratos Grouping
Stratos GroupingStratos Grouping
Stratos Grouping
 
Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014 Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014
 
Yet Another Fog Simulator (YAFS) - user guide
Yet Another Fog Simulator (YAFS) - user guideYet Another Fog Simulator (YAFS) - user guide
Yet Another Fog Simulator (YAFS) - user guide
 
Building Cross-Cloud Platform Cognitive Microservices Using Serverless Archit...
Building Cross-Cloud Platform Cognitive Microservices Using Serverless Archit...Building Cross-Cloud Platform Cognitive Microservices Using Serverless Archit...
Building Cross-Cloud Platform Cognitive Microservices Using Serverless Archit...
 
Heat - keep the clouds up
Heat - keep the clouds upHeat - keep the clouds up
Heat - keep the clouds up
 
Introduction to OpenStack Heat
Introduction to OpenStack HeatIntroduction to OpenStack Heat
Introduction to OpenStack Heat
 
Cloud designpatterns
Cloud designpatternsCloud designpatterns
Cloud designpatterns
 
Delivering Pluggable Database as a Service
Delivering Pluggable Database as a ServiceDelivering Pluggable Database as a Service
Delivering Pluggable Database as a Service
 
Delivering Schema as a Service
Delivering Schema as a ServiceDelivering Schema as a Service
Delivering Schema as a Service
 
Paa sing a java ee 6 application kshitiz saxena
Paa sing a java ee 6 application   kshitiz saxenaPaa sing a java ee 6 application   kshitiz saxena
Paa sing a java ee 6 application kshitiz saxena
 
OASIS TOSCA: Cloud Portability and Lifecycle Management
OASIS TOSCA: Cloud Portability and Lifecycle ManagementOASIS TOSCA: Cloud Portability and Lifecycle Management
OASIS TOSCA: Cloud Portability and Lifecycle Management
 
Soa limitations
Soa limitationsSoa limitations
Soa limitations
 
How to – wrap soap web service around a database
How to – wrap soap web service around a databaseHow to – wrap soap web service around a database
How to – wrap soap web service around a database
 
Model Driven Orchestration with TOSCA and ARIA
Model Driven Orchestration with TOSCA and ARIAModel Driven Orchestration with TOSCA and ARIA
Model Driven Orchestration with TOSCA and ARIA
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
 

Mehr von Alex Heneveld

2015-11-cloudsoft-basho-brooklyn-riak
2015-11-cloudsoft-basho-brooklyn-riak2015-11-cloudsoft-basho-brooklyn-riak
2015-11-cloudsoft-basho-brooklyn-riakAlex Heneveld
 
2014-05-gluecon-amplifying-docker
2014-05-gluecon-amplifying-docker2014-05-gluecon-amplifying-docker
2014-05-gluecon-amplifying-dockerAlex Heneveld
 
2014 04-AMPlifying-docker-at-451-hcts-eu
2014 04-AMPlifying-docker-at-451-hcts-eu2014 04-AMPlifying-docker-at-451-hcts-eu
2014 04-AMPlifying-docker-at-451-hcts-euAlex Heneveld
 
2013 05-openstack-israel-heat
2013 05-openstack-israel-heat2013 05-openstack-israel-heat
2013 05-openstack-israel-heatAlex Heneveld
 
2013 05-fite-club-working-models-cloud-growing-up
2013 05-fite-club-working-models-cloud-growing-up2013 05-fite-club-working-models-cloud-growing-up
2013 05-fite-club-working-models-cloud-growing-upAlex Heneveld
 
2013 05-multicloud-paas-interop-scenarios-fia-dublin
2013 05-multicloud-paas-interop-scenarios-fia-dublin2013 05-multicloud-paas-interop-scenarios-fia-dublin
2013 05-multicloud-paas-interop-scenarios-fia-dublinAlex Heneveld
 
Cloud Application Management in Practice - OpenStack Summit Lightning Talk
Cloud Application Management in Practice - OpenStack Summit Lightning TalkCloud Application Management in Practice - OpenStack Summit Lightning Talk
Cloud Application Management in Practice - OpenStack Summit Lightning TalkAlex Heneveld
 

Mehr von Alex Heneveld (7)

2015-11-cloudsoft-basho-brooklyn-riak
2015-11-cloudsoft-basho-brooklyn-riak2015-11-cloudsoft-basho-brooklyn-riak
2015-11-cloudsoft-basho-brooklyn-riak
 
2014-05-gluecon-amplifying-docker
2014-05-gluecon-amplifying-docker2014-05-gluecon-amplifying-docker
2014-05-gluecon-amplifying-docker
 
2014 04-AMPlifying-docker-at-451-hcts-eu
2014 04-AMPlifying-docker-at-451-hcts-eu2014 04-AMPlifying-docker-at-451-hcts-eu
2014 04-AMPlifying-docker-at-451-hcts-eu
 
2013 05-openstack-israel-heat
2013 05-openstack-israel-heat2013 05-openstack-israel-heat
2013 05-openstack-israel-heat
 
2013 05-fite-club-working-models-cloud-growing-up
2013 05-fite-club-working-models-cloud-growing-up2013 05-fite-club-working-models-cloud-growing-up
2013 05-fite-club-working-models-cloud-growing-up
 
2013 05-multicloud-paas-interop-scenarios-fia-dublin
2013 05-multicloud-paas-interop-scenarios-fia-dublin2013 05-multicloud-paas-interop-scenarios-fia-dublin
2013 05-multicloud-paas-interop-scenarios-fia-dublin
 
Cloud Application Management in Practice - OpenStack Summit Lightning Talk
Cloud Application Management in Practice - OpenStack Summit Lightning TalkCloud Application Management in Practice - OpenStack Summit Lightning Talk
Cloud Application Management in Practice - OpenStack Summit Lightning Talk
 

Kürzlich hochgeladen

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Kürzlich hochgeladen (20)

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

2013 04-specs-camp-tosca-heat-brooklyn

  • 1. CAMP, TOSCA, and Heat: Three Sides of a Coin Alex Heneveld / @ahtweetin // April 2013
  • 2. Agenda • CAMP • An API to facilitate portability and PaaS adoption • “a generic application and platform management API that is language, framework, and platform neutral” • TOSCA • A description format to enable portable implementations • “a language to describe [...] semi-automatic creation and management of application layer services [as] components and their relationships” • Heat • Brooklyn • ... and a DSL ! © 2013 Cloudsoft Corporation 2
  • 3. Oasis CAMP Cloud Application Management Platform http://www.oasis-open.org/committees/camp/ www.cloudspecs.org © 2013 Cloudsoft Corporation 3
  • 4. CAMP Key Concepts • ComponentTemplates are pieces available in the Platform • PlatformComponentTemplates are supplied by the platform — for instance a Database or a Web Server Cluster • ApplicationComponentTemplates are artifacts uploaded — a WAR file, database schema, or script file • Requirement and Capability instances determine the wiring • AssemblyTemplates are the apps available • at runtime, instantiated to make Assembly instances (comprised of ApplicationComponents and PlatformComponents) • Sensors and Operations available on all of these • The Platform Deployment Package (PDP) defines new AT’s • a ZIP file POSTed by the consumer • containing app artifacts and a descriptor file specifying the components and their requirements — in a way that the Platform can then wire up © 2013 Cloudsoft Corporation 4
  • 5. CAMP REST/JSON PLATFORM resource { "uri": URI, "name": "Web SuperPaaS", GET /camp/1.0/ "type": "Platform", "tags": [ String, + ], ? "assemblyTemplates": [ Link + ], ? "assemblies": [ Link + ], ? "platformComponentTemplates": [ Link + ], ? "capabilities": [Link + ], ? } GET ASSEMBLY TEMPLATE resource { "uri": URI, "name": "JEE AppServer tier plus SQL DB", "type": "AssemblyTemplate", "requirements": [ Link + ], ? "applicationComponentTemplates": [ Link + ], ? "platformComponentTemplates": [ Link + ], ? } © 2013 Cloudsoft Corporation 5
  • 6. Oasis TOSCA Topology and Orchestration Specification for Cloud Applications http://www.oasis-open.org/committees/tosca/ © 2013 Cloudsoft Corporation 6
  • 7. TOSCA Key Concepts Modeling Topologies with TOSCA Slide origin: IBM Service  Topologies  are  described  using  the  TOSCA  “Meta-model”: Nodes Relationships  Represent Components of an application or service  Represent the logical Relationships between and their Properties. Example nodes include: nodes – Infrastructure: Compute, Network, Storage, etc. – e.g.  “hostedOn”,  “connectsTo”,  etc. – Platform: OS, VM, DB, Web Server, etc.  Describes the valid Source and Target nodes they – Granular: functional Libraries, Modules, etc. are designed to couple  Include Operations which are the management – e.g. source  “web application”  node  is  designed   functions for the node to  “connectTo”  a  target  “database”  node – e.g. deploy(), start(), stop(), connect(), etc.  Have their own Properties and Constraints  Export their dependencies on other nodes as Requirement and Capabilities Artifacts Service Templates  Group the nodes and relationships that make up  Describe Installables and Executables required to a  service’s  topology instantiate and manage a service. Currently, they include: – Allowing modeling of sub-topologies  Implementation Artifacts:  Service Templates “look  like  nodes” enabling: – Executables or Plans that implement  a  Node’s    Composition of applications from one or more or  Relationship’s  Operations (e.g. a Bash script) service templates  Deployment Artifacts:  Substitution of abstract Node types with – Installables of the components (e.g. a TAR file) available service templates of the same type A  service’s  Topology Model is included in a TOSCA Service Template which is packaged and shared, along with all dependent artifacts, as a TOSCA Cloud Service Archive (CSAR) © 2013 Cloudsoft Corporation 7
  • 8. TOSCA Example Slide origin: TOSCA Spec <Definitions id="PayrollDefinitions" targetNamespace="http://www.example.com/ste" xmlns:pay="http://www.example.com/ste/Types"> <Import namespace="http://www.example.com/ste/Types" location="http://.../PayrollTypes.tosca" importType=" http://docs.oasis-open.org/tosca/ns/2011/12"/> <ServiceTemplate id="Payroll" name="Payroll Service Template"> <TopologyTemplate ID="PayrollTemplate"> <NodeTemplate id="Payroll Application" type="pay:ApplicationNodeType"> <DeploymentArtifacts> <DeploymentArtifact name="PayrollEAR" type="http://..../CSARref"> EARs/Payroll.ear </DeploymentArtifact> </DeploymentArtifacts> </NodeTemplate> <NodeTemplate id="Application Server" type="pay:ApplicationServerNodeType"> <DeploymentArtifacts> <DeploymentArtifact name="ApplicationServerImage" type="http://.../AMIref"> ami-edf2cf99 </DeploymentArtifact> </DeploymentArtifacts> </NodeTemplate> <RelationshipTemplate id="deployed_on" type="pay:deployed_on"> <SourceElement ref="Payroll Application"/> <TargetElement ref="Application Server"/> </RelationshipTemplate> </TopologyTemplate> </ServiceTemplate> </Definitions> © 2013 Cloudsoft Corporation 8
  • 9. CAMP + TOSCA © 2013 Cloudsoft Corporation 9
  • 10. CAMP API + = + TOSCA impl © 2013 Cloudsoft Corporation 10
  • 11. CAMP Open + = App TOSCA Platform © 2013 Cloudsoft Corporation 11
  • 12. Concept Alignment TOSCA CAMP CSAR PDP describes what to deploy wraps CSAR, gives API to install NodeTemplate, TopologyTemplate PlatformComponent(Template) the heart of TOSCA — an API for managing — but silent about the orchestration to build them how they are built and where they come from ServiceTemplate Assembly(Template) ArtifactTemplate ApplicationComponent(Template) Requirements and Capabilities Requirements and Capabilities Relationships Requirement fulfilment Plans and Policies more PlatformComponent(Template)s Properties and Operations Attributes, Sensors, and Operations © 2013 Cloudsoft Corporation 12
  • 13. OpenStack Heat http://wiki.openstack.org/Heat © 2013 Cloudsoft Corporation 13
  • 14. Heat • We all know Heat (and that warm feeling it gives us), but one brief view: • Vocabulary: • Resources are items natively available from OpenStack • Stacks are composites of these resources and/or other stacks • Has: • API — proprietary but isomorphic to a subset of CAMP • DSL — currently based on AWS CloudFormation but evolving © 2013 Cloudsoft Corporation 14
  • 15. Project BROOKLYN http://brooklyncentral.github.com/ © 2013 Cloudsoft Corporation 15
  • 16. http://brooklyncentral.github.com Brooklyn has been doing this kind of stuff over in Java-land. © 2013 Cloudsoft Corporation 16
  • 18. Active Modelling and Management Some good (and bad) practices can be learned! Location + MyWebCluster MySQL ControlledDynamicWebAppCluster MySQL OS [targets] Auto Scaler Policy NGINX DynamicWebAppCluster NGINX OS JBoss7Server … JBoss7Server JBoss7Server … JBoss7Server OS … OS Strictly Confidential © 2013 Cloudsoft Corporation 03/26/13 18
  • 19. Java Library public class MyWebCluster extends AbstractApplication implements MyWebClusterConstants { @Override public void init() { MySqlNode mysql = ...; ControlledDynamicWebAppCluster web = ...; web.addEnricher(HttpLatencyDetector.builder().url(ROOT_URL). rollup(10, SECONDS).build()); web.getCluster().addPolicy(AutoScalerPolicy.builder(). metric(REQUESTS_PER_SECOND_IN_WINDOW_PER_NODE). metricRange(10, 100).sizeRange(2, 5).build()); addEnricher(SensorPropagatingEnricher.newInstanceListeningTo(web, ROOT_URL, REQUESTS_PER_SECOND_IN_WINDOW, REQUEST_LATENCY_IN_SECONDS_IN_WINDOW)); } } © 2013 Cloudsoft Corporation 19
  • 20. Conclusion they all need a nice DSL https://wiki.openstack.org/wiki/Heat/DSL/ © 2013 Cloudsoft Corporation 20