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