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

BH14.14 Team Docker Wrap-up

BH14.14 Team Docker Wrap-up

Introduction of docker in Life Science from wrap up session of BioHackathon satellite meeting BH14.14 at Sapporo

Tazro Inutano Ohta

February 06, 2015
Tweet

More Decks by Tazro Inutano Ohta

Other Decks in Science

Transcript

  1. made a new tool for seq alignment docker image? registry.hub.docker.com/u/user/supercoolaligner

    docker run -it user/supercoolaligner fantastic! but what does this value mean? Got it
  2. Mac OS CoreOS # require git, homebrew macos~$ brew tap

    phinze/homebrew-cask macos~$ brew install brew-cask macos~$ brew cask install virtualbox vagrant macos~$ git clone https://github.com/coreos/ coreos-vagrant && cd coreos-vagrant macos~$ vagrant up && vagrant ssh core@core01~$ docker run -it inutano/cmatrix
  3. Mac OS CoreOS Port forward & Volume mount MacOS<-> CoreOS

    via Vagrantfile CoreOS<->Docker container via docker command See : http://bonohu.jp/blog/2015/02/02/docker-on-coreos-on-mac/
  4. One of the Linux Distribution Minimize for container running etcd/fleet

    for cluster/container management See: http://deeeet.com/writing/2014/11/17/coreos/
  5. Still Problem Data persistence Docker on Production Scale-out / Docker

    on large infrastructure Networking between containers Workflow with multiple containers
  6. Apache Mesos + Marathon + Chronos manager Node Node Node

    Node Node 1VCMJD1SJWBUF %PDLFS3FHJTUSZ %PDLFSGJMFT XPSLGMPXKTPO %BUB Storage Basic Ideas and Design post post/get scp push pull run mount
  7. Apache Mesos + Marathon + Chronos manager Node Node Node

    Node Node %PDLFSGJMFT XPSLGMPXKTPO %BUB Storage %PDLFSGJMFT XPSLGMPXKTPO %BUB
  8. workflow.json • JSON format configuration file • Describe a workflow

    contains multiple steps • 1 container for 1 app • Include directory to be mounted on containers
  9. • JSON format configuration file • Describe a workflow contains

    multiple steps • 1 container for 1 app • Include directory to be mounted on containers { “user”: “inutano”, “project”: “exome”, “volume”: “/data”, “workflow”: [ {“image”:“awk”, “args”:[“1”,”10”], “cpu”:1, “memory”:”500M”}, {“image”:“bwa/bwa”, “args”:[“-v”]}, “cpu”:8, “memory”:”8G”, {“image”:”gatk/gatk”, “cpu”:”2”, “memory”: “4G”} ] }
  10. workflow.json • Use REST API to put/get data to run

    workflow • $ curl -XPUT <uri> -d ‘<json>’ • create/read/update/delete workflow via API • URI should be unique for workflow/project/user • http://sc.ddbj.jp/user/project/workflow • Require Authentication manager
  11. • Connect to Mesos, Marathon, Chronos to manage resources and

    running containers • Mesos mounts a directory to containers as described in workflow file • Kill containers depend on the running time, etc. manager Mesos
  12. • Cost-Efficiency • ~5mins to prepare data analysis environments •

    Scalability • Parallel execution without env dependencies • Reproducibility • Manuscript = Raw data + workflow.json + Containers Benefit
  13. Mesos + Marathon + Chronos manager Node %PDLFSGJMFT XPSLGMPXKTPO %BUB

    Storage Node Node Node Mesos + Marathon + Chronos manager Node Storage Node Node Node Mesos + Marathon + Chronos manager Node Storage Node Node Node 1VCMJD4VQFSDPNQVUFS 1SJWBUF1$$MVTUFS $PNNFSDJBM$MPVE local manager SFRVJSF IJHIQFSGPSNBODFOFUXPSL PSNVMUJQMFDPQJFTUPSFEVDF EBUBUSBOTGFSUJNF Future Plan