Deployment example: IBM Jazz.net self-host development environment

Authors: DougIshigaki
Build basis: IBM Engineering Lifecycle Management (ELM)7.0.0.0 Sprint Milestones

This article describes the architecture, topology, and specification of the Jazz.net self-host development environment.

The Jazz development team's self-host production IBM Engineering Lifecycle Management (ELM) system is called "JazzDev." JazzDev provides applications for Change and Configuration Management (CCM) using IBM Engineering Workflow Management (EWM), Quality Management (QM) using IBM Engineering Test Management (ETM), Requirements Management (RM) using IBM Engineering Requirements Management DOORS Next (DOORS Next), Global Configurations (GC) using IBM Engineering Global Configuration Management (GCM), Reporting using IBM Engineering Report Builder (ERB), data collection and data warehouse for reporting using IBM Engineering Data Warehouse (EDW), indexed data for reporting using Lifecycle Query Engine (LQE), and cross-product linked indexes using Link Index Provider (LDX).

There are two staging test environments for the JazzDev self-host environment. The first -- also known as "BluesDev" -- is for continuous daily sprint milestone ELM builds and is available for the development teams to test daily builds in a JazzDev staging environment. The second staging environment -- also known as "SoulDev" -- is used for staging and testing the final declared sprint milestone ELM build before deploying to (upgrading) production JazzDev.

Jazz Application servers - nine

Application server hardware/system - Eight separate ELM servers and one user authorization server

Server 1: Primary ELM Server - Separate Liberty Java application profiles for Jazz Team Server (JTS), Clustered Engineering Workspace Management (EWM) primary node for Jazzdev (/jazz), Engineering Requirements Management DOORS Next (DOORS Next), and Clustered Engineering Test Management (ETM) primary node

  • Virtual machine (host name: jazzclm01)
  • 64-bit x86; Intel (R) Xeon(R) CPU E5-2665 0 @ 2.40GHz; 20 cores; 48 GB RAM
  • Red Hat Enterprise Linux Server release 7.6 (Maipo)
  • WebSphere Liberty Server 19.0.0.4

Server 2: ELM Server - Separate Liberty application profiles for Engineering Data Warehouse (EDW) and Global Configuration Management (GCM)

  • Virtual machine (host name: jazzclm02)
  • 64-bit x86; Intel (R) Xeon(R) CPU E5-2665 0 @ 2.40GHz; 16 cores; 20 GB RAM
  • Red Hat Enterprise Linux Server release 7.6 (Maipo)
  • WebSphere Liberty Server 19.0.0.4

Server 3: ELM Server - Engineering Report Builder (ERB) on single Liberty application profile

  • Virtual machine (host name: jazzclm03)
  • 64-bit x86; Intel (R) Xeon(R) CPU E5-2665 0 @ 2.40GHz; 4 cores; 12 GB RAM
  • Red Hat Enterprise Linux Server release 7.6 (Maipo)
  • WebSphere Liberty Server 19.0.0.4

Server 4: ELM Server - JTS (Liberty profile) and three instances of EWM applications (Jazzdev02 (/jazz02), Jazzdev03 (/jazz03), and Jazzdev04 (/jazz04)) on three separate Liberty profiles

  • Virtual Machine (host name: jazzclm04)
  • 64-bit x86; Intel (R) Xeon(R) CPU E5-2665 0 @ 2.40GHz; 8 cores; 36 GB RAM
  • Red Hat Enterprise Linux Server release 7.6 (Maipo)
  • WebSphere Liberty Server 19.0.0.4

Server 5: ELM Server -Lifecycle Query Engine (LQE) application on Liberty profiles

  • Physical machine (host name: jazzclm09)
  • 64-bit x86; Intel (R) Xeon(R) Gold CPU @ 2.10GHz; 64 cores; 1056 GB (1 TB) RAM
  • Red Hat Enterprise Linux Server release 7.6 (Maipo)
  • WebSphere Liberty Server 19.0.0.4

Server 6: ELM Server - Clustered EWM secondary node application (Jazzdev02 (/jazz02), Jazzdev03 (/jazz03), and Jazzdev04 (/jazz04)) on three separate WebSphere Liberty profiles

  • Virtual machine (host name: jazzclm06)
  • 64-bit x86; Intel (R) Xeon(R) CPU E5-2665 0 @ 2.40GHz; 20 cores; 32 GB RAM
  • Red Hat Enterprise Linux Server release 7.6 (Maipo)
  • WebSphere Liberty Server 19.0.0.4

Server 7: ELM Server - Clustered EWM secondary node (Jazzdev (/jazz)) and Clustered ETM secondary node applications on separate Liberty profiles

  • Virtual machine (host name: jazzclm07)
  • 64-bit x86; Intel (R) Xeon(R) CPU E5-2665 0 @ 2.40GHz; 6 cores; 24 GB RAM
  • Red Hat Enterprise Linux Server release 7.6 (Maipo)
  • WebSphere Liberty Server 19.0.0.4

Server 8: ELM Server - Link Index Provider (LDX) application on Liberty profile

  • Virtual machine (host name: jazzclm08)
  • 64-bit x86; Intel (R) Xeon(R) CPU E5-2665 0 @ 2.40GHz; 6 cores; 40 GB RAM
  • Red Hat Enterprise Linux Server release 7.6 (Maipo)
  • WebSphere Liberty Server 19.0.0.4

Server 9: Jazz Authorization Server (JAS) - Single Sign-On (SSO) LDAP service on Liberty profile

  • Virtual machine (host name: jazzauth01)
  • 64-bit x86; Intel (R) Xeon(R) CPU E5-2665 0 @ 2.40GHz; 2 cores; 4 GB RAM
  • Red Hat Enterprise Linux Server release 7.6 (Maipo)
  • WebSphere Liberty Server 19.0.0.4

WebSphere Liberty application server JVM settings:

  • Verbose Garbage Collection: enabled on all servers

  • Primary ELM Server (jazzclm01):
    • Initial heap (Xms): JTS: 8GB, clustered EWM node: 12GB, clustered ETM node: 8GB, DOORS Next: 6GB
    • Max heap (Xmx): JTS: 8GB, clustered EWM node: 12GB, clustered ETM node: 8GB, DOORS Next: 6GB
    • Generic JVM arguments
      • -Xgcpolicy:gencon
      • -Xcompressedrefs
      • -Xgc:preferredHeapBase=0x100000000
      • - XX:MaxDirectMemorySize=2G Increases native memory (java/nio) to avoid explicit gc()

  • ELM server (jazzclm02):
    • Initial heap (Xms): EDW: 8GB, GCM: 4GB
    • Max heap (Xmx): EDW: 8GB, GCM: 4GB
    • Generic JVM arguments
      • -Xgcpolicy:gencon
      • -Xcompressedrefs
      • -Xgc:preferredHeapBase=0x100000000
      • - XX:MaxDirectMemorySize=1G

  • ELM server (jazzclm03):
    • Initial heap (Xms): 8GB
    • Max heap (Xmx): 8GB
    • Generic JVM arguments
      • -Xgcpolicy:gencon
      • -Xcompressedrefs
      • -Xgc:preferredHeapBase=0x100000000
      • - XX:MaxDirectMemorySize=1G

  • ELM server (jazzclm04):
    • Initial heap (Xms): 6GB for each (four) profile -- JTS and the three clustered EWM nodes: jazzdev02, jazzdev03, jazzdev04
    • Max heap (Xmx): 6GB for each (four) profile -- JTS and the three clustered EWM nodes: jazzdev02, jazzdev03, jazzdev04
    • Generic JVM arguments
      • -Xgcpolicy:gencon
      • -Xcompressedrefs
      • -Xgc:preferredHeapBase=0x100000000
      • - XX:MaxDirectMemorySize=1G

  • ELM server (jazzclm09):
    • Initial heap (Xms): 48GB for LQE profile (-Xms48g)
    • Max heap (Xmx): 48GB for LQE profile (-Xmx48g)
    • Nursery heap=12GB for LQE profile (-Xmn12g)
    • Generic JVM arguments
      • -Xgcpolicy:gencon
      • -Xcompressedrefs
      • -Xgc:preferredHeapBase=0x100000000
      • - XX:MaxDirectMemorySize=1G

  • ELM server (jazzclm06):
    • Initial heap (Xms): 6GB for each (three) profile -- clustered EWM nodes: jazzdev02, jazzdev03, jazzdev04)
    • Max heap (Xmx): 6GB for each (three) profile -- clustered EWM nodes: jazzdev02, jazzdev03, jazzdev04)
    • Generic JVM arguments
      • -Xgcpolicy:gencon
      • -Xcompressedrefs
      • -Xgc:preferredHeapBase=0x100000000
      • - XX:MaxDirectMemorySize=1G

  • ELM server (jazzclm07):
    • Initial heap (Xms): clustered EWM node: 12GB
    • Max heap (Xmx): clustered ETM node: 12GB
    • Generic JVM arguments
      • -Xgcpolicy:gencon
      • -Xcompressedrefs
      • -Xgc:preferredHeapBase=0x100000000
      • - XX:MaxDirectMemorySize=1G

  • ELM server (jazzclm08):
    • Initial heap (Xms): LDX: 12GB
    • Max heap (Xmx): LDX: 12GB
    • Generic JVM arguments
      • -Xgcpolicy:gencon
      • -Xcompressedrefs
      • -Xgc:preferredHeapBase=0x100000000
      • - XX:MaxDirectMemorySize=1G

  • JAS server (jazzauth01):
    • Initial heap (Xms): 1536 MB
    • Max heap (Xmx): 1536 MB
    • Generic JVM arguments
      • Defaults (none set)

Database servers - two

DB server hardware/system:

  • Two virtual machines (jazzdb01, jazzdb02)
  • Red Hat Enterprise Linux Server 7.6 (Maipo)
  • x86_64 bit OS; Intel (R) Xeon(R) CPU E5-2665 0 @ 2.40GHz, 16 cores each; 64 GB RAM each
  • 4.0 TB local RAID 5 array for data, 100 GB for "/" partition, mirrored

DB2 (jazzdb01, jazzdb02):

  • DB2 11.1.4.4 with Fix Pack 4
  • "Automatic" settings, except automatic table space growth is not allowed. You can monitor disk usage and not get caught short of disk space
  • Monitor regularly for sufficient disk space and table space
  • Daily online backups using IBM Spectrum Protect (formerly Tivoli Storage Manager)

Load balancers - two

Load balancer hardware/system:

  • Two virtual machines (jazzdispatch1, jazzdispatch2)
  • Red Hat Enterprise Linux 7.6 (Maipo)
  • x86_64 bit OS; Intel (R) Xeon(R) CPU E5-2683 v3 @ 2.00GHz; 2 cores each; 8 GB RAM each

IBM HTTPS Server (IHS) load balancer:

  • WebSphere Edge Load Balancer
  • Setup as provided in the ELM documentation

Reverse proxy - two

Reverse proxy hardware/system:

  • Two virtual machines (jazzproxy1, jazzproxy2)
  • Red Hat Enterprise Linux 7.6 (Maipo)
  • x86_64 bit OS; Intel (R) Xeon(R) CPU E5-2683 v3 @ 2.00GHz (one VM), Intel (R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz (one VM); 4 cores each VM; 8 GB RAM each VM
  • Active/Active configuration

Reverse proxy:

  • HAProxy(Red Hat Enterprise Linux)

MQTT Broker - one

MQTT server hardware/system for Clustered EWM and ETM:

  • One virtual machines (jazzmqtt01)
  • Red Hat Enterprise Linux 7.6 (Maipo)
  • x86_64 bit OS; Intel (R) Xeon(R) CPU E5-2683 v3 @ 2.00GHz (one VM), Intel (R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz (one VM); 2 cores; 12 GB RAM
  • Active configuration

MQTT message broker:

  • IBM IoT Message Sight Server V2.0.0.1

Apache Web Servers - four

Apache server hardware/system:

  • Four virtual machines (jazzweb1, jazzweb2, jazzweb3, jazzweb4)
  • Red Hat Enterprise Linux 7.6 (Maipo)
  • x86_64 bit OS; Intel (R) Xeon(R) CPU E5-2683 v3 @ 2.00GHz (on two VMs) and Intel (R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz (on two VMs); 8 cores each VM; 32 GB RAM each VM

Apache servers:

  • Apache 2.4.6 (Red Hat Enterprise Linux)
  • Apache Tomcat/7.0.69
    • JVM Settings
      • Initial heap=2048 MB
      • Max heap=8192 MB
  • mod_proxy module to handle reverseProxy configuration
  • Apache is shared with other applications.

Firewall and VPN host servers (two):

  • Two virtual machines (jazzgate01, jazzgate02)
  • SoftLayer Vyatta 5600
  • x86_64 bit OS; Intel(R) Xeon(R) CPU E3-1270 V2 @ 3.50GHz (two VM), 8 cores each VM; 8 GB RAM each VM
  • Active/Active configuration
  • Provides virtual firewall across all zones
  • Provides Virtual Private Network (VPN) for tunneling between SoftLayer and Raleigh Technical Park (RTP) site

Architecture Diagrams (January 2020)


  • 2020 Jazz.net Environment System Topology Architecture:
    Jazz_Infrastructure_Self_Host_Environment-2020.JPG

  • 2020 Staging BluesDev environment for continuous daily CLM builds:
    Jazz_Infrastructure_Bluesdev_Environment-2020.JPG

  • 2020 Staging SoulDev environment for Jazzdev:
    Jazz_Infrastructure_Souldev_Environment-2020.JPG

  • 2020 Jazz.net Environment System Topology LDAP Architecture:
    Jazz_Infrastructure_Self_Host_Environment-LDAP-2020.JPG

Related topics: None

External links:

  • None

Additional contributors: None

Topic attachments
I Attachment Action Size Date WhoSorted ascending Comment
Jpgjpg Jazz_Infrastructure_Bluesdev_Environment-2017.JPG manage 147.2 K 2017-02-22 - 18:47 DougIshigaki 2017 Staging environment for continuous daily CLM builds
Jpgjpg Jazz_Infrastructure_Bluesdev_Environment-2018.JPG manage 116.6 K 2018-12-11 - 00:30 DougIshigaki 2018 DEC Staging environment for Jazzdev milestone upgrades
Jpgjpg Jazz_Infrastructure_Bluesdev_Environment-2019.JPG manage 131.4 K 2019-08-07 - 19:35 DougIshigaki 2019 AUG Staging BluesDev environment for continuous daily CLM builds
Jpgjpg Jazz_Infrastructure_Bluesdev_Environment-2020.JPG manage 124.0 K 2020-01-22 - 21:36 DougIshigaki 2020 Staging BluesDev environment for continuous daily ELM builds
Jpgjpg Jazz_Infrastructure_Self_Host_Environment-2017.JPG manage 169.8 K 2017-02-22 - 18:51 DougIshigaki 2017 Jazz.net Environment System Topology Architecture
Jpgjpg Jazz_Infrastructure_Self_Host_Environment-2018.JPG manage 139.6 K 2018-12-11 - 00:30 DougIshigaki 2018 DEC Jazz.net Environment System Topology Architecture
Jpgjpg Jazz_Infrastructure_Self_Host_Environment-2019.JPG manage 159.1 K 2019-08-07 - 19:35 DougIshigaki 2019 AUG Jazz.net JazzDev Environment System Topology Architecture
Jpgjpg Jazz_Infrastructure_Self_Host_Environment-2020.JPG manage 149.2 K 2020-01-22 - 21:44 DougIshigaki 2020 Jazz.net Environment System Topology Architecture
Jpgjpg Jazz_Infrastructure_Self_Host_Environment-LDAP-2018.JPG manage 114.9 K 2018-12-11 - 00:32 DougIshigaki 2018 DEC Jazz.net Environment System Topology LDAP Architecture
Jpgjpg Jazz_Infrastructure_Self_Host_Environment-LDAP-2019.JPG manage 125.0 K 2019-08-07 - 19:36 DougIshigaki 2019 AUG Jazz.net Environment System Topology LDAP Architecture
Jpgjpg Jazz_Infrastructure_Self_Host_Environment-LDAP-2020.JPG manage 113.0 K 2020-01-22 - 21:39 DougIshigaki 2020 Jazz.net Environment System Topology LDAP Architecture
Jpgjpg Jazz_Infrastructure_Souldev_Environment-20170127.JPG manage 91.1 K 2017-01-27 - 19:12 DougIshigaki 2017 Staging environment for Jazzdev milestone upgrades
Jpgjpg Jazz_Infrastructure_Souldev_Environment-2018.JPG manage 95.3 K 2018-12-11 - 00:33 DougIshigaki 2018 DEC Staging environment for Jazzdev milestone upgrades
Jpgjpg Jazz_Infrastructure_Souldev_Environment-2019.JPG manage 109.9 K 2019-08-07 - 19:36 DougIshigaki 2019 AUG Staging SoulDev environment for Jazzdev milestone upgrades
Jpgjpg Jazz_Infrastructure_Souldev_Environment-2020.JPG manage 102.0 K 2020-01-22 - 21:38 DougIshigaki 2020 Staging SoulDev environment for Jazzdev
This topic: Deployment > WebHome > DeploymentPlanningAndDesign > DeploymentExampleIBMJazznetEnvironment
History: r41 - 2020-01-22 - 21:44:05 - DougIshigaki
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our Terms of Use. Please read the following disclaimer.
Ideas, requests, problems regarding the Deployment wiki? Create a new task in the RTC Deployment wiki project