November 8, 2024
Blog

Why Estimating Hasn’t Been Cloud-Based, Until Ediphi

Grant Joy

Everyone knows the benefits of cloud technology and why modern software should be cloud-based. Our favorite collaboration tools (like Google Docs, Figma, etc.) keep us connected with simultaneous multi-user access, automatic updates over the internet, user permissions, collaboration features, version control, and intuitive notifications. All of these are equally needed in preconstruction. So, why hasn’t estimating been cloud-based—until Ediphi?

Because it’s incredibly challenging—and expensive! Building a cloud-native application is a complex endeavor that demands significant resources, expertise, and time. Let’s break down why making estimating software hasn’t been cloud based—until now. 

Why Building Cloud-Native Applications is Hard

First, building cloud-based software is costly. The cloud infrastructure itself is expensive, requiring robust servers, networking, and storage. On top of that, it takes highly specialized talent to design, manage, and maintain a cloud system of significant scale, which drives up costs even further.

Then there’s the time investment. Cloud solutions are more abstract than traditional on-premise software, and that abstraction introduces new constraints. For example:

  • Collaboration: Syncing data seamlessly across multiple users is no small feat, especially in real-time.
  • Portability: Cloud applications need to work on any system, in any browser, adding layers of compatibility requirements.
  • Security: With the software entirely online, security becomes paramount, requiring meticulous attention to safeguard data.

Additionally, cloud technology is constantly evolving. Keeping up with the latest developments is essential to stay competitive, but it’s also time-intensive and demanding on the tech stack.

Managing Scale and Shared Resources

Cloud-based applications must support thousands of concurrent users without compromising performance. Achieving this requires carefully engineered systems to balance the load so users never even notice the immense computing happening in the background. And since everyone’s sharing the same computing resources, we need to foresee and mitigate potential heavy loads to ensure a seamless experience for everyone.

Here’s one example of the foresight required to build Ediphi in the cloud: asynchronous task processing, also known as "workers." Imagine generating a 1,000-page report in Ediphi. Whether on-premises or in the cloud, this requires a significant amount of computing power. However, in the cloud, this computing demand is shared across the entire user base, which could lead to slowdowns. That’s where workers come in. Ediphi isolates compute-intensive tasks (like generating a 1,000-page report) from the main operations, using dedicated compute power to handle the heavy lifting. This way, the rest of the user base can continue using Ediphi seamlessly without any noticeable dip in performance.

The same approach applies when duplicating a complex estimate. Think about it: an estimate can include thousands of interconnected data points, from line items and user permissions to intricate, nested formulas. With Ediphi, you can "duplicate" this vast structure and everyone in your company will instantly see an identical, error-free copy of the newly duplicated estimate. It feels like magic, but it’s really the power of well-designed workers in action. Achieving this level of functionality requires intensive planning, significant resources, and expert execution—you can’t build this reactively.

And that’s just one fraction of what goes into Ediphi! There’s so much more behind the scenes that makes this cloud-based solution possible. We haven’t even touched on Infrastructure as Code (how we scale seamlessly), Deployment Pipelines (how our code moves safely and efficiently into production), advanced Security protocols, and more. Stay tuned for additional “How We Built This” insights right here on our blog.