Download presentation
Presentation is loading. Please wait.
Published byConner Higdon Modified over 9 years ago
1
SugarCRM Database Deployment Variants DB in separate Service Template DB external to Service Template
2
Objective Consider scenarios when components or services required by a deployment may be: – 1) Shared across deployments – 2) Already existing/provided by a 3 rd party not part of any existing Service Template (i.e. under the control of a separate and autonomous administrative entity) 2
3
Fully Specified Service Template R1: ContainerRequirement C1: ContainerCapability R2: WebAppContainerRequirement C2: WebAppContainerCapability R3: MySqlDbContainerRequirement C3: MySqlDbContainerCapability R4: PluginContainerRequirement C4: PluginContainerCapability R5: PhpRuntimeRequirement C5: PhpRuntimeCapability R6: MySqlDatabaseRequirement C6: MySqlDatabaseCapability VmApache [VirtualMachine] VmApache [VirtualMachine] ComputeNodeMySql [ComputeNode] ComputeNodeMySql [ComputeNode] ApacheWebServer [ApacheWebServer] ApacheWebServer [ApacheWebServer] MySql [MySql] MySql [MySql] SugarCrmApp [SugarCrmApplication] SugarCrmApp [SugarCrmApplication] SugarCrmDb [SugarCrmDb] SugarCrmDb [SugarCrmDb] PhpModule [PhpModule] PhpModule [PhpModule] PluginHostedOnContainer Operations: hostOn MySqlDbConnection Operations: connectTo HostedOnTypeMySqlDbHostedOnMySql Operations: hostOn HostedOn AppDependsOnPhpRuntime R2 C1 C2 R1 C1 R1 C3 R3 R4 C4 C5 R5 R6 C6 3 IaaS or PaaS cloud hosted DBMS DBMS capable of hosting the DB............
4
Minimally Specified Service Template SugarCrmApp [SugarCrmApplication] SugarCrmApp [SugarCrmApplication] SugarCrmDb [SugarCrmDb] SugarCrmDb [SugarCrmDb] MySqlDbConnection RH RC CC 4 We must decide: – Which components will be hosted in the deployment versus outside the deployment Outside the deployment cases: – 1) Part of another deployment (i.e. specified in another service template) – 2) Hosted in some existing server we don’t control but are allowed to connect to it and possibly initialize or connect to it (not provision or start/stop it) DB has DA to initialize in DBMS
5
Splitting Across Multiple Deployments VmApache [VirtualMachine] VmApache [VirtualMachine] VmMySql [VirtualMachine] VmMySql [VirtualMachine] ApacheWebServer [ApacheWebServer] ApacheWebServer [ApacheWebServer] MySql [MySql] MySql [MySql] SugarCrmApp [SugarCrmApplication] SugarCrmApp [SugarCrmApplication] SugarCrmDb [SugarCrmDb] SugarCrmDb [SugarCrmDb] PhpModule [PhpModule] PhpModule [PhpModule] PluginHostedOnContainer Operations: hostOn MySqlDbConnection Operations: connectTo HostedOnTypeMySqlDbHostedOnMySql Operations: hostOn HostedOn AppDependsOnPhpRuntime R2 C1 C2 R1 C1 R1 C3 R3 R4 C4 C5 R5 R6 C6 5 PHP App Service Template DB Service Template Deployments have decoupled lifecycles Valid client operations :load/extract contents to/from artifact
6
When To Split? DB has a different lifecycle than the PHP App – E.g. DB is really shared across multiple client apps DB service is offered by a different Administrative Entity (AE) – DB AE controls lifecycle of the DB. PHP AP AE consumes DB on DB AE’s terms – AE for App and DB both use TOSCA gaining the benefit of awareness of each other’s models Lifecycle awareness Federation 6
7
Using an “External” DB Single Service Template specifies: – PHP App fully specified as part of deployment as a complete tier – DB is partially specified DB is hostedOn a DBMS (R3) DBMS instance is specified (C3) – Address and port – DBMS type not necessarily relevant (leave abstract if possible) DBMS container/tier is out of scope TOSCA engine must resolve lifecycle states of DBMS 7
8
TOSCA Engine Resolves DB VmApache [VirtualMachine] VmApache [VirtualMachine] ApacheWebServer [ApacheWebServer] ApacheWebServer [ApacheWebServer] SugarCrmApp [SugarCrmApplication] SugarCrmApp [SugarCrmApplication] SugarCrmDb [SugarCrmDb] SugarCrmDb [SugarCrmDb] PhpModule [PhpModule] PhpModule [PhpModule] PluginHostedOnContainer Operations: hostOn MySqlDbConnection Operations: connectTo HostedOnType HostedOn AppDependsOnPhpRuntime R2 C1 C2 R1 R3 R4 C4 C5 R5 R6 C6 8 ? R3 allows TOSCA Engine to find DBMS which can host the DB Lifecycle operations of DBMS is out of scope DbHostedOnDBMS
9
External DB Service Template provided by the environment VmApache [VirtualMachine] VmApache [VirtualMachine] ApacheWebServer [ApacheWebServer] ApacheWebServer [ApacheWebServer] SugarCrmApp [SugarCrmApplication] SugarCrmApp [SugarCrmApplication] SugarCrmDb [SugarCrmDb] SugarCrmDb [SugarCrmDb] PhpModule [PhpModule] PhpModule [PhpModule] PluginHostedOnContainer Operations: hostOn MySqlDbConnection Operations: connectTo HostedOnType HostedOn AppDependsOnPhpRuntime R2 C1 C2 R1 R3 R4 C4 C5 R5 R6 C6 9 C3 contains information (e.g. host/port) required to connect to a specific DBMS DBMS lifecycle still out of scope AnyComputeNode [ComputeNode] AnyComputeNode [ComputeNode] DBMS [DBMS] DBMS [DBMS] HostedOn C1 R1 C3 Environment Provided DB Service DbHostedOnDBMS
10
External DB Service Template NOT provided by the environment VmApache [VirtualMachine] VmApache [VirtualMachine] ApacheWebServer [ApacheWebServer] ApacheWebServer [ApacheWebServer] DBMS [DBMS] DBMS [DBMS] SugarCrmApp [SugarCrmApplication] SugarCrmApp [SugarCrmApplication] SugarCrmDb [SugarCrmDb] SugarCrmDb [SugarCrmDb] PhpModule [PhpModule] PhpModule [PhpModule] PluginHostedOnContainer Operations: hostOn MySqlDbConnection Operations: connectTo HostedOnTypeDbHostedOnDBMS HostedOn AppDependsOnPhpRuntime R2 C1 C2 R1 C3 R3 R4 C4 C5 R5 R6 C6 10 ? C3 contains information (e.g. host/port) required to connect to a specific DBMS DBMS lifecycle still out of scope IP Address, Port, DB, credentials etc. DBMS Node exists to hold C3
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.