GEVADSS DEVOPS

The best way to help your development team? Use DevOps to create safe and efficient infrastructure. Duh!

Technologies: #LAMP #DevOps #Linux #Apache #PostgreSQL #Varnish

About

Vaccines save human lives. GEVADSS is a solution that helps to develop vaccines faster. In 2009 a team of experienced scientists and developers was already working on the project. As a system administrator, I joined the team to help them make development process more efficient. But first, a bit more about the project.

Background

The lack of a uniform way for qualitative and quantitative evaluation of vaccine candidates under development led us to set up a standardized scheme for vaccine efficacy and safety evaluation. We developed and implemented molecular and immunology methods, and designed support tools for immunization data storage and analyses. Such collection can create a unique opportunity for immunologists to analyse data delivered from their laboratories.

Results

We designed and implemented GeVaDSs (Genetic Vaccine Decision Support system) an interactive system for efficient storage, integration, retrieval and representation of data. Moreover, GeVaDSs allows for relevant association and interpretation of data, and thus for knowledge-based generation of testable hypotheses of vaccine responses.

Conclusions

GeVaDSs has been tested by several laboratories in Europe, and proved its usefulness in vaccine analysis. Case study of its application is presented in the additional files. The system is available at: http://gevads.cs.put.poznan.pl/preview/(login: viewer, password: password).

The system was implemented using PHP, Perl, R and PostgreSQL on the server side. Client side was created using Adobe Flex 3 technology and Action Script 3.

DevOps

For a while I used to work as a system administrator. My day to day job was to make everything IT-related operate optimally. Provide a reliable, safe, optimized infrastructure. The nature of this job is controlling changes in the environment. But to control is to make things slow. For large deployments this includes opening tickets, coordinating, long queues, etc.

The developers, on the other hand, want to release the product as fast as possible. Regardless of security risk, downtime, or any other risk.

To solve this paradox I experimented with a fresh - back in 2009 - concept of DevOps. It’s a philosophy about changing the perspective on responsibility. From the book DevOps Cookbook by Gene Kim:

DevOps means caring about your job enough to not pass the buck, wanting to learn all the parts as a whole, and not just your little world. People need to actually work with each other and not just occupy space next to each other. That means Developers need to understand the infrastructure, and Operations people need to understand code.

In other words, business as usual. I was doing exactly the same before I promoted myself to a DevOps from an ordinary SysOp. I can’t imagine being a system administrator that does not understand the code or is not willing to learn new things about his environment. To me it was always a part of the job. But anyway, here is what I did to make the GEVADSS development run smoothly:

A staging server was set up to assemble and test the service. Clicking one button started synchronization with a production server. The website was reloaded to cache and then served to clients.

I didn’t see anything new there. Just a proper deployment environment. It worked fine. You don’t need to call yourself a DevOps. It’s enough to be curious and willing to create value for other people.