Applications Hosting on AWS for Pi Pharma Intelligence

July 14, 2024 by
Rama Odetallah

 

Pi Pharma Intelligence, specializing in actionable data for pharmaceutical firms, faced challenges with hosting multiple applications on a single EC2 instance, including performance issues and difficulty managing applications, APIs, and data volumes. To address these issues, a resilient and high-availability solution was implemented on AWS.

 

About Pi-Pharma

 Pi-Pharma transforms the way pharmaceutical companies take decisions. By providing Reliable pre-marketing insights into drug research, development, regulatory approvals, patents, manufacturing and market access.

Pi-Pharma provide trusted and referenced information to help capture the right opportunities, mitigate risk and make the right decisions to increase revenue and speed up the time to market.


 Challenges

  Pi Pharma Intelligence supports pharmaceutical firms with crucial data analytics and insights. Their previous infrastructure on a single EC2 instance posed challenges in resource management, scalability, security, and performance, impacting their operational efficiency and client service delivery. 

      Resource Allocation Difficulties: Balancing resource needs among various              ​            applications was challenging.

     Scalability Limitations: The single EC2 instance setup restricted scalability.

     Dependency Conflicts: Managing dependencies among multiple applications was              complex.

     Performance Issues: Handling substantial data volumes resulted in performance              degradation.

     Uptime During Updates: Ensuring application availability during updates was                    problematic.

     Monitoring and Management: Comprehensive monitoring and management                    were difficult.

The Solution

 To address Pi Pharma's challenges, cirrusgo implemented a strategic separation of their applications and established a robust CI/CD pipeline focused on resilience and high availability. Two distinct environments, staging, and production, were set up using AWS CodePipeline for automated Docker image building, testing, and deployment. Thorough testing in the staging environment precedes any deployment to production, with stringent code review processes facilitated by AWS CodeCommit approval templates.

Utilizing AWS Fargate and AWS Application Auto-Scaling, we built a dynamically scalable backend infrastructure across three Availability Zones (AZs), ensuring high availability and rapid recovery from failures without manual intervention. Integration with API Gateway enhanced security and reliability by regulating client access.

For monitoring and observability, we employed AWS CloudWatch metrics and alarms to monitor resource utilization and trigger alerts based on predefined thresholds. CloudWatch logs, including VPC Flow logs, provided comprehensive infrastructure logging, with CloudWatch Log Insights enabling real-time log querying and analysis. Customized CloudWatch Dashboards offered consolidated views of metrics, logs, and alarms, facilitating proactive issue detection and resolution

Results

Streamlined Deployment Processes: Automated CI/CD pipeline reduced manual effort and improved release cycles and rollback processes.

Performance Improvements: Query execution times reduced from minutes to milliseconds.

Enhanced Resource Management: Transitioned from a single EC2 instance to fully managed AWS services.

Increased Operational Efficiency: Optimized resource utilization and operational reliability.

Improved Resiliency and Availability: Ensured continuous service availability and quick recovery from failures.

 


Automated CI/CD pipeline

Increased 
Performance

Increased Operational Efficiency
Improved Resiliency and Availability 


Start your aws cloud adoption journey with cirrusgo   Consult Us



Share this post