Sakai Server Virtualization Effort

Goal

We have 10 application servers that are used in our Dev, Test, and Production environments. We have continuous need for additional HW to either bring up additional environments, as described bellow, or to run specific support applications and or scripts.
Currently we need applications servers for the following:

  1. SmartSite Beta environment where we stage new tools and or new Sakai versions
  2. Server where we can run our support scripts such as
    • DB Helthcheck, which detects full table scans
    • Number of sites created in form of a spreadsheet
  3. Apache to host ucd-gateway and ucd-help
  4. Apache to host maintenance and outage pages
  5. Apache to host maven1/maven2 repositories
  6. Environment to host the SCORM tool while in development
  7. Having four separate environments, DEV, TEST, INTG, PROD. We always trade off one of these environments

Given the budget constraints, we are not really in a position to purchase new HW and thus need to find other solutions to accommodate our HW needs. One of the potential solutions is to virtualize one or more of our environments to optimize the use of our available HW.

All of our applications nodes have enough CPU and RAM resources in order to run more than one virtual machine. The initial goal is to virtualize the following HW/Environments:

  1. node: Sakai 2.5.x for QA and practice roll out environment. Hardware needed now. We can use smartsite_ng1 and the corresponding RAC instance for smartsite_ng for this environment now. After the roll out, we can return it to the Beta environment usage.
  2. node : sakai-dev/test/intg, not needed now (isaac)
  3. node : smartsite-beta (provided with Banner data but for users to play with), hardware needed by end of March
  4. node : most of the supporting scripts, apache to run maintenance pages, ucd-gateway, and ucd-help -- production executables, hardware needed now
  5. node : redundant of node 3, hardware needed now
  6. node : sakai-beta 2.5.x -- one release ahead of our current release, hardware needed later
  7. node : sakai contrib -- new tools that we don't have in prod yet but we want to evaluate, using stubing for this now
  8. node : smartsite contrib -- Tools: SCORM and course evaluation, hardware needed now

HW and SW Requirements

  • Application Servers
    1. stubing
    2. isaac
  • Operation System
    • RedHat v5.1
  • Virtualization SW
    • Xen : This is open source
    • VMware
  • File System
    • Stored locally
    • SAN and distributed file system such as NetApp or VMFS

Other Information

  • Indiana Running VMWare
  • Cambridge Running Xen

Database Requirements

  • NOTES:
    • Consider versioning schemas, e.g. cm_test_2_4_x_1, cm_test_2_4_x_2, ...

      Schema Names

      New Schema Names

      Current Machine

      Proposed Machine

      Comments

      sakai

      smartsite_prod

      hammer, steele

      no change

      Production

      sakai_external

      cm_prod

      hammer, steele

      no change

      Production

      sakai

      smartsite_test

      RAC-TEST

      Luigi

      Smartsite-Test (2.4.x), should be called QA

      sakai_external

      cm_test

      RAC-TEST

      Luigi

      Smartsite-Test, should be called QA

      sakai

      sakai_dev_1

      bricker:devel

      bricker

      Development environment, host sakai OOTB for schema upgrade diffs

      N/A

      Sakai_dev_2

      ?

      bricker

      Extra space for internal database only.

      N/A

      Sakai_dev_3

      ?

      bricker

      Extra space for internal database only.

      sakai_external

      cm_dev

      bricker:devel

      bricker

      Development environment, host sakai OOTB for schema upgrade diffs

      sakai_diff

      sakai_diff

      RAC-TEST

      Luigi

      used during major upgrades : 2-4-x --> 2-5-x

      *sakai_ng

      sakai_ng

      RAC-TEST

      Luigi

      QA smartsite-test 2-5-x.  Use Mario as the app server.

      N/A

      sakai_beta

      bricker:devel

      Luigi

      Need new schema since we use bricker:devel

      N/A

      smartsite_beta

      ?

      Luigi

      provided with Banner data but for users to play with

      N/A

      sakai_contrib

      ?

      Luigi

      The evaluation of an OOTB contrib Sakai tool.

      N/A

      smartsite_contrib

      ?

      Luigi

      The evaluation of the Course Evaluation tool, SCORM and other Sakai tools that are adapted to our local environment.

      N/A

      smartsite_staging

      ?

      Luigi

      Stage ongoing production updates (TAGS)

      N/A

      smartsite_fallback

      prod

      Not required. 
      Steel is hot spare

      Use during database modifications during maintenance upgrades.

*Highest priority

Hardware suggestions:

  1. Use Luigi as a database server for all of the above schemas, internal and external.
  2. Use Caje for smartsite-test application node.
  3. Use Saunder for smartsite-test application node.
  4. Use Littlejohn a third application server in the smartsite-test cluster.
  5. Use Braddock as the application server for smartsite-beta.
  6. Use Mario (ng) for the application server.  Luigi or the RAC can be the database for this. 
  7.  
  8.