one-year accomplishment report on i5k@nal

24
One-year Accomplishment Report on i5k@NAL Jun-Wei Lin May 13, 2015

Upload: jun-wei-lin

Post on 15-Apr-2017

166 views

Category:

Engineering


4 download

TRANSCRIPT

Page 1: One-year Accomplishment Report on i5k@NAL

One-year Accomplishment Report on i5k@NAL

Jun-Wei Lin

May 13, 2015

Page 2: One-year Accomplishment Report on i5k@NAL

Programming and Engineering Challenges

• Task queue

• Automatic build and regression testing

• Load testing

• Single sign-on

• Job automation and integration

Page 3: One-year Accomplishment Report on i5k@NAL

Task Queue for BLAST Requests

Page 4: One-year Accomplishment Report on i5k@NAL

Build and Deploy the Code

• People develop different parts of a project on their local machines

• Deal with conflicts with a version control system (GitHub)

• Keep the system running on dev server updated – semi-automated by a script

Page 5: One-year Accomplishment Report on i5k@NAL

Regression Testing

• Rerun previously completed tests

• Check

– Program behavior has changed

– Previously fixed faults have re-emerged

Page 6: One-year Accomplishment Report on i5k@NAL

Regression Testing with Scripts

Page 7: One-year Accomplishment Report on i5k@NAL

Regression Testing with Scripts

demo

Page 8: One-year Accomplishment Report on i5k@NAL

Integration with Jenkins

Page 9: One-year Accomplishment Report on i5k@NAL

Automatic Deployment (blast_build)

Page 10: One-year Accomplishment Report on i5k@NAL

Automatic Regression Testing (blast_test)

Page 11: One-year Accomplishment Report on i5k@NAL

Load Testing

• Conducted to understand the behavior of the system under a specific expected load

Page 12: One-year Accomplishment Report on i5k@NAL

Load Testing on Web Apollo 1.0.4-RC3

• 30 instances, each with 5 users annotating on 3 different scaffolds

• 3 million requests in 13.5 hours (60 requests per second)

• 12 of the 3 million requests failed. e.g. responded with status code 400 (Bad request headers)

• “WA-RC3 looks robust. 99.9996% of the requests responded normally under average arrival rate of 60 requests/sec”

Page 13: One-year Accomplishment Report on i5k@NAL

Load Testing with Jmeter

Page 14: One-year Accomplishment Report on i5k@NAL

Load Testing with Jmeter

demo

Page 15: One-year Accomplishment Report on i5k@NAL

Load Testing with Jmeter and Command Line Interface Integration

• Randomly pick 4 organisms

• Test each organism with 3 users running pre-defined actions 2 times

Page 16: One-year Accomplishment Report on i5k@NAL

Load Testing with Jmeter and Jenkins Integration

Page 17: One-year Accomplishment Report on i5k@NAL

Single Sign-on

• Current registration process for annotating organisms

Page 18: One-year Accomplishment Report on i5k@NAL

Annotating multiple organisms

https://apollo.nal.usda.gov/agrpla https://apollo.nal.usda.gov/cercap https://apollo.nal.usda.gov/drofic https://apollo.nal.usda.gov/lepdec

Page 19: One-year Accomplishment Report on i5k@NAL

Single Sign-on for All Our Resources

• An unified interface with customized information – Submitted BLAST queries

– Organisms they can access

– List of created annotations

– Request access to another organisms

– Approve/reject potential annotators

– Tightly connected to our developing dataset submission workflow

Page 20: One-year Accomplishment Report on i5k@NAL

One Time Registration

Page 21: One-year Accomplishment Report on i5k@NAL

User Dashboard (Prototype)

Page 22: One-year Accomplishment Report on i5k@NAL

Apply for Annotation

Page 23: One-year Accomplishment Report on i5k@NAL

Panel for Project Owner

Page 24: One-year Accomplishment Report on i5k@NAL

Sum Up

• Deal with programming and engineering challenges

• In an automated and integrated way

• Facilitate the i5k project

• Save our time and make us more productive