- Case Study -
Architectural Changes to Optimize Your Cloud Cost and Performance
About Infinite Group, Inc. (IGI)
Infinite Group, Inc. (IGI), based in Rochester, NY, specializes in personalized cybersecurity solutions, including Nodeware®, developed by IGI CyberLabs, a subsidiary of IGI. Nodeware is a continuous vulnerability scanning SaaS platform that enables businesses to easily monitor their network, identify security gaps, and access detailed reports in order to achieve security compliance and protect their networks.
Navigating Performance and Cost Challenges
In our recent project, we worked closely with the Nodeware® solution, developed by IGI CyberLabs, a subsidiary of IGI. This software plays a key role in helping companies identify and manage vulnerabilities, while also generating detailed reports for compliance and cybersecurity needs.
Through our collaboration, we identified areas for improvement, including efficiency, cost management, and PDF process automation. This case study showcases the strategies and solutions we implemented to address these challenges and ensure the optimal performance of Nodeware.
During our partnership, we recognized some common growth-related hurdles our client was facing. They were grappling with increased operational costs due to higher usage and encountered performance issues with their AWS Lambdas. Additionally, their AWS Relational Database Service (RDS) experienced high CPU usage, resulting in slower database operations and added expenses. Furthermore, they sought a more efficient and automated solution for their PDF builder application.
Enhancing Lambda and RDS Efficiency to Tackle Cost Concerns
By addressing our client's cost concerns head-on, we were able to optimize the AWS RDS and Lambda functions, which are core elements of their operations. Through our discovery, it was clear the Lambdas faced performance issues and reached their maximum concurrency executions, while the main RDS instance consistently operated near 100% CPU usage.
Identifying RDS slow performance in specific queries, we promptly added a necessary index to the table. This led to a significant query execution time reduction, from seconds to just one second for 1,000 queries. As a result, RDS CPU utilization decreased by an impressive 75%, enhancing Lambda efficiency.
After resizing the RDS instance to fit the decreased workload, we implemented additional database structure optimizations, based on a thorough review of performance bottlenecks. These enhancements had a remarkable outcome, leading to a 90% decrease in CPU usage. As a direct consequence, we were able to reconsider the size of the RDS instance once again. This decision resulted in a cost reduction to less than 15% of its original expense, demonstrating the substantial financial benefits stemming from these optimization endeavors.
Automating PDF Workflow Through Third-Party API Integration
Our client specializes in cybersecurity, as we know, cybersecurity entails a substantial number of reports that must be addressed promptly. Many of these reports are crucial for their customer to assess their performance periodically—whether on a monthly, weekly, or other basis—to ensure compliance and facilitate audits. Consequently, the generation of comprehensive HTML and PDF files containing the entire report becomes imperative for their customers.
The PDF builder application our client was using turned out to be slower and required more upkeep than their ideal standards. Speed was a significant factor for them, given its importance in the services they provide to their own customers. To address this issue, they started exploring a third-party API, which showed promise during the testing phase.
To streamline and automate the process, our cloud team stepped in. We integrated their HTML/ PDF builder with the third-party API. Now, whenever an item is added to the HTML bucket, a Lambda function triggers the API, resulting in the creation of a new PDF. The API then notifies our client's API gateway upon job completion. The generated PDF is given a new name for future reference, and this information is updated in a Dynamo DB table, including its status and count. The statuses include "delivered," "creation failed," and "delivery failed."
The PDF's name is directly linked to the database, allowing for easy retrieval and display on the web server once updated.
As we continue through a period of rapid growth and increased adoption of our product, our focus has shifted from development to scaling our solution. Given our commitment to building on the AWS platform, we needed a partner with an in-depth understanding of our technology. We were fortunate to find that partner locally through Mindex.
Director of Technology Development at IGI
Our client achieved notable success in optimizing costs and performance from this project, including:
Reduction in Query Time:
Query execution time decreased remarkably, enhancing system responsiveness and user experience.
97.5% CPU Usage Reduction:
RDS inefficiency resolution led to a combined 97.5% reduction in CPU utilization, effectively cutting operational costs.
Time-Saving Automated PDF Workflow:
Seamless PDF builder integration saved valuable time, enhancing operational efficiency and user experience.