Sugar CRM Database Deployment Variants DB in separate
Sugar. CRM Database Deployment Variants DB in separate Service Template DB external to Service Template
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
Fully Specified Service Template App. Depends. On. Php. Runtime Sugar. Crm. App R 5 [Sugar. Crm. Application] R 2 C 5 Php. Module C 6 My. Sql. Db. Connection Operations: connect. To Sugar. Crm. Db [Sugar. Crm. Db] R 3 Hosted. On. Type [Php. Module] R 4 C 2 C 4 Plugin. Hosted. On. Container Operations: host. On R 6 My. Sql. Db. Hosted. On. My. Sql Operations: host. On Apache. Web. Server My. Sql [Apache. Web. Server] [My. Sql] R 1 Hosted. On R 1: Container. Requirement C 1: Container. Capability R 2: Web. App. Container. Requirement C 2: Web. App. Container. Capability R 3: My. Sql. Db. Container. Requirement C 3: My. Sql. Db. Container. Capability R 4: Plugin. Container. Requirement C 4: Plugin. Container. Capability R 5: Php. Runtime. Requirement C 5: Php. Runtime. Capability R 6: My. Sql. Database. Requirement C 6: My. Sql. Database. Capability DBMS capable of hosting the DB C 3 Hosted. On C 1 Vm. Apache Compute. Node. My. Sql [Virtual. Machine] [Compute. Node] . . . Iaa. S or Paa. S cloud hosted DBMS 3
Minimally Specified Service Template Sugar. Crm. App [Sugar. Crm. Application] RC CC My. Sql. Db. Connection RH Sugar. Crm. Db [Sugar. Crm. Db] RH DB has DA to initialize in DBMS • 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 4 but are allowed to connect to it and possibly
Splitting Across Multiple Deployments Valid client operations : load/extract contents to/from artifact App. Depends. On. Php. Runtime Sugar. Crm. App R 5 [Sugar. Crm. Application] R 6 R 2 C 5 Php. Module C 6 My. Sql. Db. Connection Operations: connect. To Sugar. Crm. Db [Sugar. Crm. Db] R 3 Hosted. On. Type [Php. Module] R 4 My. Sql. Db. Hosted. On. My. Sql Operations: host. On C 2 C 4 Plugin. Hosted. On. Container Operations: host. On C 3 Apache. Web. Server My. Sql [Apache. Web. Server] [My. Sql] R 1 Hosted. On C 1 Vm. Apache Vm. My. Sql [Virtual. Machine] PHP App Service Template DB Service Template Deployments have decoupled lifecycles 5
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
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 hosted. On a DBMS (R 3) • DBMS instance is specified (C 3) – 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
TOSCA Engine Resolves DB App. Depends. On. Php. Runtime Sugar. Crm. App R 5 [Sugar. Crm. Application] R 2 C 5 Php. Module C 6 My. Sql. Db. Connection Operations: connect. To Sugar. Crm. Db [Sugar. Crm. Db] R 3 Hosted. On. Type [Php. Module] R 4 C 2 C 4 Plugin. Hosted. On. Container Operations: host. On R 6 Apache. Web. Server [Apache. Web. Server] Db. Hosted. On. DBMS ? R 1 Hosted. On C 1 Vm. Apache [Virtual. Machine] R 3 allows TOSCA Engine to find DBMS which can host the DB Lifecycle operations of DBMS is out of scope 8
External DB Service Template provided by the environment App. Depends. On. Php. Runtime Sugar. Crm. App R 5 [Sugar. Crm. Application] R 6 R 2 C 5 Php. Module R 4 C 6 Sugar. Crm. Db [Sugar. Crm. Db] R 3 Hosted. On. Type [Php. Module] Environment Provided DB Service Db. Hosted. On. DBMS C 3 C 2 C 4 Plugin. Hosted. On. Container Operations: host. On My. Sql. Db. Connection Operations: connect. To DBMS Apache. Web. Server [DBMS] [Apache. Web. Server] R 1 Hosted. On C 1 Vm. Apache [Virtual. Machine] C 1 Any. Compute. Node [Compute. Node] C 3 contains information (e. g. host/port) required to connect to a specific DBMS lifecycle still out of scope 9
External DB Service Template NOT provided by the environment App. Depends. On. Php. Runtime Sugar. Crm. App R 5 [Sugar. Crm. Application] R 2 C 5 Php. Module C 6 My. Sql. Db. Connection Operations: connect. To Sugar. Crm. Db [Sugar. Crm. Db] R 3 Hosted. On. Type [Php. Module] R 4 C 2 C 4 Plugin. Hosted. On. Container Operations: host. On R 6 Db. Hosted. On. DBMS IP Address, Port, DB, credentials etc. C 3 Apache. Web. Server DBMS [Apache. Web. Server] [DBMS] ? R 1 Hosted. On DBMS Node exists to hold C 3 C 1 Vm. Apache [Virtual. Machine] C 3 contains information (e. g. host/port) required to connect to a specific DBMS lifecycle still out of scope 10
- Slides: 10