Horse-driven Carriages and Real Time
Likely developed for the wealthy during ancient civilizations such as the Egyptians or Romans, horse-driven carriages became widespread in the Middle Ages for all sorts of uses including transportation, agriculture, and military logistics. In the modern era, they were used primarily for transportation in urban areas, and were popular among the wealthy.
As we know, later in the 19th and in the early 20th century, automobiles began to displace these primary forms of transportation. There were several reasons for this:
When this transition was happening, it was probably unclear to many that such a transition would succeed. If you’re used to horses as the primary medium of transport for the last 100+ years, it would be difficult to imagine anything displacing it. It’s pretty obvious now that we look back at the stark differences between the two modes of transport.
There is a similar transition that’s beginning in the software world. End users need real-time convenience and updates as they interact with businesses. Businesses need to refactor their applications to provide real time access and information to their customers, or risk losing them to nimble startups that can meet this need.?
Yet, building real time applications is harder than ever - takes a long time to build, needs multiple products across multiple vendors, requires experts in distributed systems and cloud environments to develop and operate them, among other challenges. As a result, the backlog of these desired real time applications continues to grow.
The problems in building real time applications are the same as with horse-drawn carriages:
And like with horse-drawn carriages, because the current way has been in place for so long now, it is difficult for many to imagine that there could be a better way.
At Grainite (acquired by MongoDB) , we are developing the automobiles for these horse-drawn carriages. A system that no longer requires 5-6 different products to be pieced together to build a realtime application. Only one system holding a strongly consistent copy of the data. Developers don’t need to defensively program for failures; the platform provides strong guarantees like exactly-once message processing, data durability and resiliency SLAs that isolate the application from these failures. Develop your application entirely on your laptop, and then deploy the artifacts directly to a horizontally scaling cluster on each of the public clouds or within your own data center.
I would love to hear from you about your experiences and challenges with building real time applications, and if these problems resonate with you, show you what the future may look like.
Head of Business Technology & Automation Engineering at BILL
10 个月Ashish, Incredible ??
Innovating on behalf of customers with a talented team.
2 年First thought that came out - Why would give credit for Horse Chariots to Romans and Egyptians. Ancient Indian history is filled with references to horse ?? Chariots right from Ramayan to Mahabharata.
Good analogy and i learned you are a story teller :) Curious to hear about how Grainite (nice name) addresses consensus in a horizontally scaled application. Best wishes in 2023!
Advisory Solutions Architect at MongoDB
2 年Really nice analogy! Grainite is great for building streaming & event-driven apps.
Product Marketing Leader | Large, Scale-up, and Startup company experience | UC Berkeley
2 年Love the analogy, Ashish. Added bonus is that we have the right team fueling this transformation ????