Presentation is loading. Please wait.

Presentation is loading. Please wait.

Modeling Deployment Content and Metadata. Progressing towards a complete example of a SugarCRM deployment 1. SugarCRM usecase – Topology, architecture.

Similar presentations

Presentation on theme: "Modeling Deployment Content and Metadata. Progressing towards a complete example of a SugarCRM deployment 1. SugarCRM usecase – Topology, architecture."— Presentation transcript:

1 Modeling Deployment Content and Metadata

2 Progressing towards a complete example of a SugarCRM deployment 1. SugarCRM usecase – Topology, architecture and content of a basic 2 tier LAMP application 2. Core, Basic, Custom Node Types and Relations – Entities and relations required to represent the usecase 3. Deployment content and metadata – Representation of SugarCRM deployment content and metadata 4. Deployment Orchestration – Processing steps using the model to realize a physical deployment

3 Modeling Installed Content Nodes are materialized from deployment content (the bits) packaged as Deployment Artifacts The relevant information is described and does not imply any specific TOSCA encoding Installation Description – Describes how the Deployment Artifact contents are to be deployed for the Node Instance in the target – This content varies for each usage and hence cannot be stored as invariant information in the Deployment Artifact – Installation Descriptors can be reused Deployment Artifact – Describes the semantic details of the artifact – Does not require the consumer to inspect the artifact contents – Specifies the location of the bits and enough information for getting the bits – Deployment Artifacts can be reused

4 SugarCRM Service SugarCRM Service Model Zone1 WebServerTier Apache Web Server SugarCRM App PHP Module DBServerTier MySQL SugarCRM DB Typed Connector Required EndPoint Provided EndPoint HTTP Client DocumentRoot:/SugarCRM HTTP Content EndPoint Port 80 HTTP EndPoint Database Server EndPoint propagates client credentials, DB Name, host and port client EndPoint (Web Server)

5 SugarCRM Installation Content Apache Web Server SugarCRM App PHP Module MySQL SugarCRM DB MySQLDatabaseRPMInstallation MySQLDatabaseContentInstallation (mysql _db_sugarcrm.tar.gz) /etc/my.cnf ApacheRPMInstallation /etc/php.ini /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/httpd.conf./config.php PHPRPMInstallation SugarCRMWebApplicationInstallation (sugarCE-Full tar.gz located at: /var/www/html/ SugarCE-Full-6.1.5)

6 Entire Apache WebServer Installation Apache/SugarCRM Installation Model Component Apache WebServer Apache WebServer Container RPM Installation PHP Installation Sugar CRM Web Application Installation PHP Module PHP Base RPMs Ex RPMs SugarCRM Archive Aggregated Installation (Containment relation) Nested installations of multiple levels are possible TOSCA Deployment Artifacts TOSCA Node

7 Relating Components to their Installations Virtunomic Proprietary and Confidential Apache WebServer Container RPM Installation PHP Installation Sugar CRM Web Application Installation PHP Module PHP Base RPMs Ex RPMs SugarCRM Archive TOSCA Deployment Artifacts Complete TOSCA Node Model Apache Web Server SugarCRM App PHP Module TOSCA Node structure represents application structure

8 Common Deployment Artifacts Disks/Volumes VM Images Packages Archives User Specific Archives Files Keys, Certs, Licenses, Account #, Passwords (defer)

9 Deployment Artifact Disks/Volumes Disk Part 1 Part N Disk Descriptor OS Descriptor E.g..vmdk,.img,.vhd, EBS. May consist of one or more artifacts depending on format. URIs: repo:/disks/disk1 file:/disks/disk2.img vsphere:!https/ /sdk! disk.vmdk URI to disk files Disk Installation OS: Mount location: /db, UID, GID, perms Device name: /dev/sdd1 VM: Controller #, Unit # Deployment of a disk requires configuration of the virtual infrastructure and the OS Partition Descriptors

10 Deployment Artifact VM Images Disk Part 1 Part N VM Descriptor(s) OS Descriptor E.g. OVF, virt-image, AMI. Note OVFs may contain multiple VMImages URIs: basic.ec2.manifest.xml vsphere:!https/ /sdk! URI to disk files VM Installation Launch params: Hypervisor params, key pairs, … Launch data: File or data available at launch Deployment of a VM Image requires a set of launch parameters Device Descriptors Device Descriptors Resource Descriptors Resource Descriptors

11 Deployment Artifact Packages Package (s) Package Descriptor 1 Packages may be included in the deployment bundle (.rpm,.msi, …) If not they are loaded from a repo. Package descriptors may specify package location, or a package ID and the repository expected to provide the package. A repository may be packaged as part of the deployment bundle. Package Installation Specifies a set of packages to install by referencing one or more DeploymentArtifacts describing packages compatible with the target Packages from packagers such are RPM, MSI, DPKG are commonly deployed. The caveat is how dependencies are computed conflicts resolved. Often a few packages are specified and a package repository is used to find any additional required packages from the package repository. Package Descriptor n

12 Deployment Artifact Archives Archive Archive Descriptor E.g..tar,.zip,.gz,.bin, patch, installers, … URIs: repo:/archives/mydata.tar.gz file:/disks/databaseContent.tar.gz vsphere:!https/ /sdk! /MyVM!filesystem:/opt/data repo:/vms/myapp.ova!filesystem:/opt/data Archive Installation Extract location: /opt/app, UID, GID, Perms File UID, GID mapping table Usage of archives requires extraction information and metadata for creating extraction folder. Since files are extracted, a mapping table maps UIDs/GIDs from thearchive to appropriate values in target OS Format: tar.gz Extraction method: tar –C /opt –xvf Metadata: UID/GID table

13 Deployment Artifact User Archives Archive User Archive Desc. E.g..tar,.zip, … URIs: repo:/archives/user_dbadmin.tar.gz file:/disks/ vsphere:!https/ /sdk! /MyVM!filesystem:/home/dbadmin User Archive Installation Extends Archive Installation with user account creation mapping original user account to account in target OS. Contains the data of a user in the operating system belonging to the sub-tree of the users account folder. E.g. /home/dbadmin Extends Archive Descriptor with source user account information. E.g. /etc/passwd data.

14 Deployment Artifact Files File Archive Descriptor Any file. Usually not big. URIs: repo:/files/ file:/files/ vsphere:!https/ /sdk! /MyVM!filesystem:/etc/rc.d/init.d/appx repo:/vms/myapp.ova!filesystem:/etc/rc.d/init.d/appx File Installation Extract location: /etc/top/app.cfg, UID, GID, Perms It may be necessary to deploy a specific file or to place a script in a specific location for execution Format: raw, compressed, … Extraction method Execution method Metadata: UID/GID table

15 Common DA metadata Identity – Stronger than the artifact name Version – Scoped version ID Origin information (Where did it come from?) – URI of source, description, descriptor (any data) Expanded size Hash Signature Encryption

16 Packaging An overall deployable TOSCA service is a collection of: – The TOSCA XML file(s) describing the ServiceTemplate, NodeType s, RelationshipType s, … – XSD files defining Node Type properties etc. – Plan model files (e.g. BPMN 2.0 files) referenced from the Service Template – Deployment artifacts like archives, files, software installables, … A self-contained packaging format as shipment vehicle for the above collection seems necessary – Self-contained archive file containing all the model files and artifacts, that can be deployed into a TOSCA environment Proposal: define a packaging format for TOSCA services and their related artifacts similar to existing packaging formats (e.g. in JEE world)

17 Sketch of a Packaging Format /Meta-Inf /Service-Template /Types /Plans /... /Archives /Scripts /Meta-Inf /Service-Template /Types /Archives MANIFEST.MF SugarCRM-ServiceTemplate.xml SugarCRM-Types.xsd sugarCE-Full tar.gz mysql _db_sugarcrm.tar.gz Align with existing packaging formats (JAR, tar, EAR, …) Define structure, content, and processing semantics SugarCRM Example Note: larger artifacts (e.g. images) might be referenced instead of being packaged.

Download ppt "Modeling Deployment Content and Metadata. Progressing towards a complete example of a SugarCRM deployment 1. SugarCRM usecase – Topology, architecture."

Similar presentations

Ads by Google