SMA LLC - Database Monitoring Tools for Quest Foglight
My Role:
Java Developer, Web Developer
Date:
08/2022 - 08/2024
Technologies:
Java
Angular
AWS
AWS Lambda
DocumentDB
SAP HANA
MongoDB Atlas
As a Software Engineer at SMA LLC, I collaborated with Quest (quest.com) to develop and integrate database monitoring features into their Foglight platform. My work focused on both front-end (Angular) and back-end (Java) development, encompassing database setup, monitoring UI design, API integration, and AWS automation for various database types, including AWS DocumentDB, SAP HANA, and MongoDB Atlas.
Key Contributions & Impact
- Database Setup and Configuration: Configured and managed single-host and multi-host (Replica Set, Clustered) DocumentDB instances on AWS. Deployed and configured multi-host SAP HANA systems (Scale-Out, System Replication) on AWS Linux using command-line tools. Worked with MongoDB Atlas, a fully managed cloud database service. This foundational work was essential for developing and testing the monitoring capabilities.
- Monitoring UI Development (Angular): Designed and developed user-friendly and responsive monitoring dashboards using Angular for all supported database types. This involved creating interactive visualizations of key database metrics, implementing real-time data updates, and adhering to responsive design principles.
- API Integration (Java): Integrated the Angular front-end with back-end APIs (developed in Java) to retrieve and display real-time database metrics, performance data, and status information. This ensured seamless communication between the UI and the underlying database systems.
- AWS Automation (Lambda): Developed AWS Lambda functions to automate the management of database instances, specifically implementing scheduled start/stop functionality to optimize costs. This demonstrated an understanding of cloud resource management and cost optimization strategies.
- Back-End Development (Java): Developed back-end services in Java to support the monitoring and management of the various database types. This included data collection, processing, and API endpoints for the front-end.
Challenges & Solutions
-
Diverse Database Technologies: Working with a variety of database technologies (DocumentDB, SAP HANA, MongoDB Atlas), each with its own unique characteristics and management requirements. Solution: Invested time in learning the specifics of each database technology, including their configuration, and best practices.
-
Configuring SAP HANA via Command Line: Setting up and configuring multi-host SAP HANA systems on AWS Linux primarily through the command line, which can be complex and error-prone. Solution: Developed detailed documentation and scripts to automate the configuration process and reduce the risk of errors.
Lessons Learned
- Expertise in Multiple Database Technologies: Gained in-depth experience working with various database systems, including NoSQL (DocumentDB, MongoDB Atlas) and in-memory (SAP HANA) databases.
- Advanced Angular Development: Honed my skills in Angular development, including creating complex UI components, handling real-time data, and ensuring responsive design.
- AWS Cloud Services: Expanded my knowledge of AWS services, particularly DocumentDB and Lambda, and their application in database management and cost optimization.