Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kuali Days 8 Continuous Integration

Kuali Days 8 Continuous Integration

Przybylski 중광

November 16, 2010
Tweet

More Decks by Przybylski 중광

Other Decks in Education

Transcript

  1. Kuali Foundation Leo Przybylski, The University of Arizona (Kuali Technologist)

    Farooq Sadiq, Kuali Foundation (Configuration Manager) Continuous Integration (Testing, Packaging, Deployment, etc.)
  2. • Problems during Implementation Development • Introduction to Continuous Integration

    (CI) • University of Arizona CI Process • Notifications • Testing • Virtualized Infrastructure (Amazon EC2) • Kuali in the Cloud • Questions and Comments Overview
  3. Problems with Implementation Development • Problems can be introduced from

    many source (Kuali, UA, rSmart, etc...) • Problems can be in any part of the development process (ie., Packaging) • Become aware of problems too late in the process Continuous Process
  4. Continuous Integration : Introduction • Build system automation ◦ Tests

    ◦ Building ◦ Packaging ◦ Deploying ◦ Notifications ◦ Versioning • A practice of the agile development methodology ◦ Agile: the ability to change direction ◦ Early warning system • The main users are developers
  5. • Inception: Kuali KFS and UA KFS source code merge

    • Build/Test • Packaging • Deployment: UA performs this manually • Conversion: Extract Transform Load of data from UA Legacy FRS UA CI Process
  6. CI: Notification • Email ◦ SVN Changes ◦ DB Diff

    Reports ◦ Test Failures • Jira ◦ Add comment to Jira task for successful build • IM • CI Web Interface • Opt-in Notifications are just easier ◦ Twitter ▪ Test results ▪ Deployment updates ▪ Source code inception ◦ RSS
  7. Testing • Integrated Testing Tools ◦ JUnit / HtmlUnit ◦

    Surefire Reports ◦ Code Coverage ◦ Selenium • Performance Testing • Testing Environment Management ◦ Needs to be sanitized ◦ Scalable, flexible, and low-maintenance Virtualized Infrastructure
  8. Visualized Infrastructure • Amazon Web Services (AWS) ◦ S3 :

    Simple Storage Service ◦ EC2 : Elastic Compute Cloud ▪ AMI : Amazon Machine Images ◦ EBS : Elastic Block Storage ▪ Snapshot very easily • Perfect fit for test environments ◦ Flexible ▪ API : Script creation and destruction of VMs ▪ Root access to VMs, Security interface ▪ High Availability ◦ Scalable ▪ Illusion of unlimited resources ◦ Cost Benefit
  9. Amazon Cloud Advantages • Charged per hour • Billed per

    month • Ability to edit security rules via web interface • Admin access to servers • Create and destroy servers using API. Perfect for QA scripting. • Create snapshots of data Web UI and API. Makes backups/recovery and clones easily. • Very reliable (one reported downtime since I started using the service http://status.aws.amazon.com/)
  10. AWS/EC2 Costing EC2/ Server Instance http://aws.amazon. com/ec2/#instance Small Instance (Default)

    1.7 GB of memory, 1 EC2 Compute Unit 160 GB of instance storage, 32-bit platform Large Instance 7.5 GB of memory, 4 EC2 Compute Units 850 GB of instance storage, 64-bit platform Annual Cost Traditional Hosting costs $2460 - $6000 $0.085/hr : $745/yr 1yr reserve : $490/yr ($227.5 + $0.03/hr) 3yr reserve : $379/yr ($350/3 + $0.03/hr) ------------------------------ - + $0 System Support + $130 (backup, storage) + $36 Bandwidth = $1048 / $662 / $551 $0.34/hr : $2978/yr 1yr reserve : $1961/yr ( $910 + 0.12/hr ) 3yr reserve : $1518/yr ( $1400/3 + 0.12/hr ) ------------------------------ - + $0 System Support + $650 (backup, storage) + $180 Bandwidth = $4334 / $2791 / $2348
  11. Kuali's future in the Cloud • Hudson and Continuum in

    the Cloud ◦ Add CI Executor nodes when needed. ◦ Selenium • Test Environments ◦ Create environments as needed. ◦ Isolate each environment • Clustered Testing infrastructure
  12. Questions and Comments • Rich Wolski : Introduction to Cloud

    Computing and Eucalyptus Professor in the Computer Science at the University of California, Santa Barbara http://video-jsoe.ucsd.edu/asx/Wolski.asx • Hudson http://hudson-ci.org/ • Continuum http://continuum.apache.org/ • Selenium Grid http://selenium-grid.seleniumhq.org/