Modernizing database architecture for a custom software development provider’s low-code application.
About the Client
The client is a grants management and custom software development provider that works with public and private firms across key industries such as energy, defense, healthcare, emergency management, etc. Established in 2013 in New Orleans, Louisiana, the provider specializes in streamlined data management using powerful tools customized to fit the standards of the specific organization and industry. It is the foremost data management partner for federal government agencies and Fortune 500 publicly traded companies worldwide.
The provider needed to develop a low-code web application that could enable powerful data management for businesses. The data management solution would help organizations gain better data insights through customizable functionalities and automated workflows. However, the provider faced a range of challenges related to the web application’s high availability, synchronization, inflated costs, and security vulnerabilities while setting up the database architecture.
The provider decided on Daffodil Software as a technology partner to overcome these hurdles due to its renowned expertise in the migration, management, security, and scaling of enterprise database architectures.
After a quick analysis of the data challenges faced by the client, Daffodil identified superior managed services of Amazon RDS as it would provide the perfect recourse to overcome the challenges faced by the provider. Amazon Relational Database Service (RDS) is a managed relational database service that simplifies the setup, management, deployment, and scaling of relational databases in the cloud. It was chosen to facilitate the following enhancements:
- Enable high-availability of the web application for critical business processes
- Synchronize primary data with all its replications for increased database stability
- Opt for approaches that would reduce the cost of implementation
- Fill the gaps in security and fulfill the need for better bug fixes
- Prevent having to repeatedly establish new connections with the database
- Manage server load during high traffic hours
The Daffodil team implemented several improvements to the existing database architecture of the provider for optimizing the performance of their data management solution. The team leveraged various Amazon RDS solutions to lower database maintenance efforts, reduce infrastructure cost and downtime, and facilitated other capabilities such as the following:
AWS Aurora MySQL was used to enforce a master-slave architecture so that read-write replication could be implemented. With this implementation, high-volume application read traffic could be served while avoiding the need to copy data to the replica nodes. This increased the aggregate read throughput making database scalability a simpler process and drastically reducing the possibility of data loss while scaling.
The data management application’s run on the database was monitored so that the capacity could be automatically adjusted to address scalability requirements. This helped maintain a steady, measurable, and predictable high-availability at the lowest cost possible. As the capacity scaling continued, the associated costs kept decreasing powered by Amazon Storage Auto Scaling.
Security Checks and Remediation
The AWS Security Hub and GuardDuty implementation services were leveraged to perform checks for best security practices. Whenever non-compliant and unencrypted resources as defined by AWS Config rules were found, swift remediation was carried out. This helped better prepare the database for future security threats and bugs through aggregated alerts.
The team utilized the AWS Cost Explorer to get a clear picture of the AWS costs and usage. The costs and usage were visualized at the high level as well as the level of EC2 instances and other low level resources. The top accounts and services and idle instances where the costs were the highest were identified so that proper resource optimization could be implemented and overall costs could be managed.
ProxySQL was used to create a single endpoint for MySQL connections to utilize the connection pool effectively. It was set up for load balancing for improved availability with automatic failover. In case a hurdle was faced in establishing a connection to one of the database servers or if the server had been shut down for servicing, ProxySQL distributed traffic over multiple servers for quickly switching to a standby database server.
Daffodil Software’s implementation of Amazon RDS solutions facilitated superior database management outcomes for the provider. The infrastructure cost for RDS was reduced by 30%, and security was vastly improved. Moreover, connectivity and connection management have been optimized to further improve database performance, receiving massive appreciation from the client.
Read Related Case Studies
Get in Touch
Sign up for a 30 min no-obligation strategic session with us
Let us understand your business objectives, set up initial milestones, and plan your software project.
At the end of this 30 min session, walk out with:
- Validation of your project idea/ scope of your project
- Actionable insights on which technology would suit your requirements
- Industry specific best practices that can be applied to your project
- Implementation and engagement plan of action
- Ballpark estimate and time-frame for development