About Pi Pharma Intelligence
Pi Pharma intelligence empowers pharmaceutical companies by providing them with actionable intelligence data. They are providers of high-end analytical products and offer best-in-class and standardized data.
Pi Pharma intelligence star product is Pi insight – a web application that generate different data attributes around any searched product allows them to filter and visualize it.
Challenges
During testing, the team found that the performance of the application was not up to par because of the immense data connections. The search process was running slow and we were spending a lot of resources on it. Pi-Pharma intelligence team wanted to fix their system performance with the goal of providing a better user experience. In addition, a mechanism was needed to gain insights into the behavior, performance, and health of their application to guarantee the desired results and help to detect, investigate, and remediate problems faster.
The Solution
After reimagining how the database layer is structured, cirrusgo team was able to achieving better performance for app search. Also, its well-architected best practices ensured a stable experience as well as satisfied customers.
The old design had a complex, interrelated relational database with hundreds of tables. When a user searches for drug info, the app weaves in and out of all those tables to collect the required information, which was so time-consuming and resource-consuming.
When we first looked at performance, the starting point was to move the database into Amazon Relational Database Service (Amazon RDS) to take advantage of its features and simplify management tasks. We also redesigned the data structure and created a data pipeline to generate the required reports from the relational database and store them as files in a data lake built on AWS using Amazon Simple Storage Service (Amazon S3). This design allows users to find the required content with a single search. Rather than search all the tables every time, this new design knows where the file is and retrieves it automatically.
The journey doesn't end here, the data lake is not the whole solution, and it would be useless if all you had to work with was reports in Amazon S3. We need a search engine that can handle filtering, pagination, full-text search or fuzzy search.
To make this happen, we chose Amazon OpenSearch Service to be the main database for the insights system and did automation with AWS Lambda triggers and AWS Glue ETL jobs to load data from Amazon S3 to Amazon OpenSearch Service cluster.
For addressing their monitoring and observability concerns, Amazon CloudWatch Metrics and Alarms were configured to monitor resource utilization and get notified automatically based on pre-defined thresholds via Amazon Simple Notification Service (Amazon SNS) topics. We have also used CloudWatch Logs to store the infrastructure logs in addition to enabling VPC Flow Logs. CloudWatch Logs Insights is also used to query the logs, while CloudWatch Logs Live Tail is used to analyze real-time logs and troubleshoot incidents. CloudWatch dashboards are also used to create customized views of the metrics, logs, and alarms for the main resources.
Conclusion
Pi Pharma intelligence benefited massively from partnering with cirrusgo. Here are the main advantages:
- As a result of the recent design changes, Pi Pharma intelligence clients take milliseconds to navigate a report. This is significantly lower than previous average search time which was several minutes.
- The data solution now can handle large amounts of data automatically, and the search feature has become more dynamic. Utilizing AWS managed services instead of one Amazon EC2 instance for everything can also be very beneficial.
- The solution is also now integrated with monitoring and observability services to have full visibility of their application.
To learn more about our innovative IT team and how cirrusgo can help you expand and better control your business, drop us a line.