80 likes | 198 Views
Objective. Propose a simple and concise set of “Core” Entities and Relations for TOSCA useful for any application deployment in a cloud Enable users to easily subclass from Core versus having to invent top level objects
E N D
Objective • Propose a simple and concise set of “Core” Entities and Relations for TOSCA useful for any application deployment in a cloud • Enable users to easily subclass from Core versus having to invent top level objects • Enable domain experts to easily define their own specialized entities and relations • Assemble application stacks and topologies using relations with strong typing • Enable template validation • Don’t try to define entire set of subclasses ever needed. E.g. all operating system types, VM Image types, … or policy types or deployment artifact types • Apply this to the SugarCRMusecase as a concrete example • Focus on Iaas case now, and represent Paas case next • Defer connectsTo relation
SugarCRM Service Model SugarCRM Service WebServerTier DBServerTier Apache Web Server MySQL MySQL Client Endpoint Port 3306 SugarCRM App SugarCRM DB HTTP Client requires Application EndPoint HTTP Port 80 DocumentRoot:/SugarCRM PHP Module Database client requires client credentials, DB Name, host and port Admin Access and/or Management Access possibly over separate isolated networks with different client credentials Database content must be placed on storage of required capacity, availability and performance Zone1
SugarCRM Hierarchy Each contained object represents the use of a hostedOn relation Instance name Type name Application Container WebTier: ScalableTier DBTier: SingleNodeTier WebVM: VMImage DBVM: VMImage CentOS5.4: OperatingSystem CentOS5.4: OperatingSystem WebServer: ApacheWebServer Database: MySQLDatabase SugarCRMDB: MySQLDatabase Content SugarCRMApp: ApacheWebApp ConnectsTo dependsOn PHP Module: ApacheMdule
Notes • A valid hostedOn hierarchy can be inferred by defining specific instances of the hostedOn relation with strongly typed ends. Multiple valid hierarchies may be possible • The connectsTo relation enables resolution of components requiring or providing a desired function • The dependsOn relation implies that the presence of another component is required although it may not directly be hostedBy or connectedTo by the depending component
Application Container • Represents deployment of the application in the cloud • Application lifecycle/management operations • Represents the public/private communication boundary (access the application) • Application SLAs, compliance, security
Tier • Homogeneous set of identical computing elements • Well defined scaling and availability semantics • Provide EndPoints for other tiers and public network • Consume EndPoints from other tiers and public network
HostedComponent • Represents a software component in a hostedOn hierarchy. E.g.: • WebApplicationhostedOnWebServer • ELB hostedOn J2EEServer • HostedComponents are containers • They may contain other HostedComponents • The “root-most” HostedCompoment is hostedOn the VM/OS