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

Microservices for collaborative research

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

Microservices for collaborative research

Cells are being genetically modified in labs all over the world for different purposes: from curing diseases to making ecological biofuels. Scientists are predicting cells behaviour using all kinds of computer models. There is a lot of accumulated knowledge in the field, but lack of compatibility and reusability of software is a huge obstacle on the way to greater science. Microservices concept fits naturally to the task of connecting and scaling software built by research teams with different backgrounds spread across different countries. We will talk about, what kind of software modern biology has and needs, how microservices architecture can boost up scientific collaboration and what are the challenges on the way.

Avatar for Svetlana Galkina

Svetlana Galkina

November 08, 2016

Other Decks in Programming

Transcript

  1. What is a “cell factory”? • Cells are designed by

    evolution to produce certain chemicals • It is possible to change their fermentation behaviour by changing the genome • There are computer and mathematical models for doing it smarter
  2. Microservices for academia • Independent and parallel development • Separate,

    easy to understand code base • Different technology stacks • Easy come, easy go • Reusability • Immutable infrastructure
  3. Microservices for academia • Independent and parallel development • Small,

    easy to understand code base • Different technology stacks • Easy come, easy go • Bounded contexts
  4. Microservices for academia • Independent and parallel development • Separate,

    easy to understand code base • Different technology stacks • Easy come, easy go • Reusability • Immutable infrastructure
  5. Microservices for academia • Independent and parallel development • Separate,

    easy to understand code base • Different technology stacks • Easy come, easy go • Reusability • Immutable infrastructure
  6. Microservices for academia • Independent and parallel development • Separate,

    easy to understand code base • Different technology stacks • Easy come, easy go • Reusability • Immutable infrastructure
  7. Microservices for academia • Independent and parallel development • Separate,

    easy to understand code base • Different technology stacks • Easy come, easy go • Reusability • Immutable infrastructure
  8. Microservices for academia • Independent and parallel development • Separate,

    easy to understand code base • Different technology stacks • Easy come, easy go • Reusability • Immutable infrastructure
  9. • Easy switch between server implementations using the same message

    objects frontend another service HTTP RPC https://github.com/biosustain/venom https://github.com/lyschoening
  10. • Currently available: ◦ Unary requests & responses with ▪

    aiohttp ▪ grpcio • Coming soon: ◦ Streaming requests & responses with ZMQ ◦ Unary HTTP/1 implementation with Flask ◦ WebSocket implementation with aiohttp ◦ gRPC (HTTP/2) implementation with e.g. hyper-h2 ◦ MsgPack serialization support ◦ Protocol Buffer support ◦ JSON Hyper-Schema service ◦ OpenAPI (Swagger) schema service ◦ Client generation from schema https://github.com/biosustain/venom https://github.com/lyschoening
  11. • The research institute official website ◦ http://www.biosustain.dtu.dk/ • The

    project ◦ http://dd-decaf.eu/ ◦ @DDDeCaF • Github ◦ https://github.com/biosustain ◦ https://github.com/dd-decaf Links and acknowledgements
  12. We’re hiring! • 15 new computational people to be hired

    at Technical University of Denmark - half software/infrastructure, half scientific • Expanded activities include: ◦ Maintenance and curation of genome-scale models ◦ Structural bioinformatics ◦ Big data analysis ◦ Laboratory information management system and design software development http://www.biosustain.dtu.dk/ [email protected]