I was involved in the design, coding and maintenance of enterprise SRM products Storage Essentials (SE) and Storage Operations Manager (SOM).
• Design and implementation of REST APIs that expose storage inventory, capacity and analytics and serve as integration layer for SOM.
• Invoking Brocade’s BNA SMI-S provider using Java to collect inventory, usage and performance data for Brocade switches and fabrics in SOM. Challenge was supporting large scale customer environments which could involve thousands of ports. Caching was used at multiple levels to ensure that collection would not time out.
• Design and development of the multithreaded topology component which stitches data collected from hosts, switches and storage devices to accurately depict the customer environment. The challenge was to ensure data coherence and avoid deadlocks while handling simultaneous collections.
• Design and development of an inference framework to infer host information based on data collected from fabric and storage devices. This multithreaded framework allows customers to specify rules using regular expressions and processes data stored in the backend to infer hosts which might be connected to the fabrics or utilizing storage.
• Converted an older backend framework where POJOs and JDBC wrapper classes were used for data modelling into Hibernate based backend framework.
• Part of design and development to represent database applications such as Oracle and CacheDB in SE. The challenge lay in coming up with a consistent model across multiple database applications to depict their logical components and correlation to the underlying physical files. The objective was to link these applications to the storage device on which they resided and measure their storage consumption.
I also functioned as a customer technical escalation lead and technical liaison between scrum teams.