About our client
Ranked at the top of the industry, this client is known to be one of the most popular construction software companies in the United States. It serves over 10,000 customers around the globe, with over 1.6 million users.
The software is designed to support a variety of construction projects, such as industrial plants, office buildings, apartment complexes, university facilities, retail centers, and more.
Business Challenge
The company needed to find strong engineers to ensure secure file access and storage. efficient legacy app optimization, real-time data streaming, boost robustness, security, scalability, and cost-efficiency.
Zoolatech approach
The ZoolaTech teams boast a highly skilled workforce, with 78% of its
engineers at the Senior and Lead level and 44% working over 3 years on the project. They adopt a customized approach, tailoring solutions to each manager’s specific needs and learning about each request to suggest the best possible solution. Their fast recruitment strategy ensures hires within 2-4 weeks from the initial request to a signed offer, providing swift and efficient staffing. Zoolatech engineers are particularly valued for their top-level technical expertise and require minimal guidance and oversight, ensuring smooth and effective collaboration.
Secure and scalable file storage and access
After analyzing the existing cloud-based solution built using monolith architecture, we set a goal to improve:
- Standard access patterns working with the files
- Authentication and authorization for all functionalities working with files
- Auditing at the file level
- Storage independence
Taking into account the identified gaps and security requirements for files storing and sharing and the need for scalability, the Zoolatech team developed a solution using the service-oriented architecture.
The platform includes the following features:
- Takes ownership of of file transfer from/to S3 cloud,
- Allows centralized authentication, which also can be customized depending on the project needs
- Allows centralized and configurable auditing at file level access
- Improved scalability and reliability
- Consistent documentation, which helps to support and update the solution in the future without additional overheads and without risks of breaking the existing functionality.
Enhancement in performance
- Zoolatech’s Database Reliability Engineers conducted a thorough assessment of the existing Redis infrastructure.
- We developed an action plan to enhance the reliability and efficiency of the system.
- Zoolatech took ownership of the critical Redis infrastructure, becoming Subject Matter Experts on the technology for Procore.
Real-time data analytics
Our Database Reliability Engineer (DBRE) implemented Kafka best practices in key areas such as Incident Handling, Topic and Database Management, Security, Compliance, and Disaster Recovery. Our approach included:
- Service Level Standards: Establishing Service Level Indicators (SLIs) and Objectives (SLOs) for Kafka, setting ambitious yet achievable targets for system performance and reliability.
- Kafka configuration optimization: Adjusting cluster configurations to enhance performance and stability.
Security enhancement: Strengthening the Kafka infrastructure against threats and vulnerabilities based on security recommendations.
- Custom monitoring: Developing bespoke Kafka monitors for proactive issue detection and quick response, preventing escalation.
- Incident response readiness: Creating detailed guides for effective issue management and resolution, minimizing impact.
This six-month transition from pilot to full production readiness resulted in significantly improved Kafka reliability and performance.
Legacy app modernization to boost its robustness, scalability, and security
- Ruby and Rails Upgrade: This move addressed approximately 60 security issues and provides access to the latest improvements.
- Introducing advanced features: The upgrade facilitated access to advanced functionalities like real-time communication, enhanced security, more efficient memory usage, and improved web performance.
- Deprecation Toolkit adoption: This tool improved deprecation visibility and management, helping maintain code quality and consistency.
Value Delivered
The extensive upgrades have greatly enhanced the system’s capabilities.
- Firstly, the security infrastructure has been significantly reinforced,
- Secondly, the application’s robustness and scalability have been considerably improved.
- What’s more, the implementation of the Deprecation Toolkit has also been valuable, enabling efficient tracking and management of deprecations within our codebase. This toolkit has proven to be an invaluable resource for other teams and developers, assisting in avoiding outdated methods and effectively monitoring deprecation resolution progress.
Secure and scalable file storage and access:
- Provided a secure and scalable solution for file storage and access.
- Enabled the company to expand its market reach to major enterprises globally.
- Facilitated compliance with ISO 19650 and other International Standards Organization requirements.
- Enabled the global market of construction companies where teams, all stakeholders, and partners can collaborate on construction projects and share access to different kinds of documents.
- Provided AWS with a scalable and secure solution for exporting and managing metadata of files in S3.
- By developing a solution for Procore’s strategic customer, we’ve created an opportunity for Procore to meet similar needs for other clients, potentially broadening their market reach.
Real-time data analytics
- Procore has achieved 100% Kafka availability for its real-time streaming applications
- In the last two years, it tripled Kafka usage in terms of connections, topics, and data volume without any major incidents.
- This reliability has been essential for services like Procore Analytics, Enhanced Reporting, Webhooks, and Copilot, all of which depend on Kafka.
- Kafka’s consistent performance has not only improved product reliability but also enhanced customer experience and trust, particularly important for services in their early adoption stages.
Legacy app modernization to boost its robustness, scalability, and security
The extensive upgrades have greatly enhanced the system’s capabilities.
- Firstly, the security infrastructure has been significantly reinforced.
- Secondly, the application’s robustness and scalability have been considerably improved.
- What’s more, the implementation of the Deprecation Toolkit has also been valuable, enabling efficient tracking and management of deprecations within our codebase. This toolkit has proven to be an invaluable resource for other Procore teams and developers, assisting in avoiding outdated methods and effectively monitoring deprecation resolution progress.
- Improving autoloader. Facing challenges with the classic autoloader in the monolith, our team facilitated the transition to Zeitwerk, resolving issues related to nesting, qualified constants, This switch not only mitigates the identified problems but also ensures a more streamlined and reliable autoloading mechanism for our application.
- Boosting the security of the core application by replacing dynamic routes with static ones, addressing key security concerns. Initially, the flexibility and scalability provided by dynamic routing also introduced security vulnerabilities. The shift to static routing has substantially decreased the possibility of unauthorized access and has made the application more robust against potential threats.