AWS Case Study: Assay Depot
About Assay Depot
Assay Depot is a marketplace for pharmaceutical research services. The company hosts two discrete but related websites that support the pharmaceutical industry: Assay Depot and Assay Depot Backoffice. Contract research oganizations (CROs) are companies that provide outsourced research services to the pharmaceutical industry. CROs create and manage their services on Assay Depot Backoffice and publish the services to Assay Depot. Researchers, in turn, purchase research services as needed. The CROs can then fulfill those orders using Assay Depot Backoffice.
Another facet of the business involves partnerships with large pharmaceutical companies. Assay Depot creates custom versions of its Storefront and Backoffice applications, giving pharmaceutical companies tools for managing outsourcing services and internal services. These partnerships are called Contract Research Exchanges, or CRXs for short. CRXs are autonomous, but communicate with http://backoffice.assaydepot.com to provide external vendors with a single dashboard from which they can market to the various large pharmaceutical companies and the public marketplace.
The advantage of a CRX is that is allows pharmaceutical companies to efficiently manage their outsourcing processes, which results in higher quality results and cost savings. So far, Assay Depot has established CRXs with five of the largest pharmaceutical companies in the world, including Pfizer.
Why Amazon Web Services
Assay Depot primarily uses Amazon Elastic Compute Cloud (Amazon EC2) and Amazon Simple Storage Service (Amazon S3). Each CRX is hosted on its own Amazon EC2 instance in its own security group. Because the primary database is Apache CouchDB, each Amazon EC2 instance runs two instances of CouchDB. The database’s filtering feature replicates only information that is appropriate for each CRX. The databases are stored on Amazon EBS volumes and backed up to Amazon S3. Other components used in creating this solution includeRuby on Rails: Merb framework, Solr, Knife and Fog (to start/stop instances), and Chef (to provision instances).
Figure 1 illustrates Assay Depot's architecture on AWS.
Figure 1: Assay Depot on AWS
The AWS solution provides the capability of running different versions of the code. By splitting the different pharmaceutical companies’ sites onto different servers, Assay Depot can run different versions of the code for each company. To do this, Assay Depot has a long running git-branch in the code repository for each company. During deployment, Assay Depot deploys each company’s branch, thus allowing the code for each company’s site to be customized. Trying to achieve this result on a single machine/cluster would not be as easy as on AWS.
Assay Depot has been using Amazon EC2 since 2007, when it launched the first version of its product. Although the company initially selected Amazon Web Services (AWS) because they liked the idea of using Web services to start and stop instances, over time the reasons for using AWS have changed. Because Assay Depot’s client base primarily comprises large pharmaceutical companies, security is a big concern and security audits are commonplace. When auditors request details about the hosting provider’s security, Assay Depot is not concerned at all. Christopher Petersen, Chief Information Officer and a Co-Founder of Assay Depot explains, “Amazon security policies and certifications have helped us tremendously when faced with security audits from pharmaceutical companies. We have never had a problem passing a security audit.”
Petersen also feels that automating Assay Depot's infrastructure has been a huge advantage. He explains, "I expected to gain some efficiencies, such as always having my servers in a known state and fewer missing dependencies come deploy time. But it’s hard to overstate all of the ways it improves the process. I’ve become brazen about deploying changes to our servers, even in the middle of the day, and I encourage other team members to as well. That sort of confidence in your infrastructure makes it a lot easier to move fast. There are other ways to automate your infrastructure, but Amazon Web Services is certainly the best of breed!”
To learn more about how AWS can help your web application needs, visit our Web details page: http://aws.amazon.com/web-mobile-social.