Building online communities: Hazelcast

Hazelcast has established itself as a leader in the world of open source in-memory data grids. Designed to provide fast and easy access to data along with rapid processing, Hazelcast offers developers a powerful clustering and data distribution platform for building high-performance Java applications.

To learn more about nurturing a thriving open source community around such a technical product, we reached out to Chris Engelbert, Manager of Developer Relations at Hazelcast. Chris shared valuable insights into Hazelcast‘s history, community goals, growth strategies, and advice for aspiring open source leaders.

An architecture for performance

At its core, Hazelcast employs a distributed architecture that automatically partitions data across a cluster of nodes. By keeping data in memory and spreading the load, Hazelcast enables extremely fast read and write speeds at scale.

Developers interact with Hazelcast through a clean API that abstracts away much of the underlying complexity. Creating a new Hazelcast instance is as simple as a one-line code invocation:

HazelcastInstance hz = Hazelcast.newHazelcastInstance();

From there, you can make use of familiar Java data structures such as maps, queues, and locks, while Hazelcast handles the details of distribution and synchronization behind the scenes. A simple example of storing a key-value pair in Hazelcast would look like this:

Map<String, String> map = hz.getMap("myMap");
map.put("key", "value");

Hazelcast‘s API also extends to more advanced use cases, such as distributed execution, messaging, and event processing. By providing these capabilities out of the box, Hazelcast greatly simplifies the development of scalable, resilient applications.

Accelerating adoption

Since its launch in 2005, Hazelcast has seen tremendous growth in its user base and contributor community. Let‘s look at some key statistics:

  • Downloads: Hazelcast has been downloaded over 50 million times from the Maven Central Repository.
  • Customers: More than 500 enterprises, including many Fortune 500 companies, use Hazelcast in production.
  • Community: The Hazelcast community spans over 200,000 developers across 170 countries.
  • Code contributions: Hazelcast has received code contributions from over 200 developers, with the core team merging an average of 25 pull requests per month.

This momentum is a testament to both the technical merits of Hazelcast and the investments made in fostering a vibrant ecosystem. And those investments continue to pay dividends, with community participation trending steadily upward.

Comparing the alternatives

Of course, Hazelcast is not the only player in the in-memory data grid space. Other notable open source options include Apache Ignite, Infinispan, and Oracle Coherence. On the commercial side, companies like ScaleOut Software and GigaSpaces offer their own solutions.

So how does Hazelcast stack up? Here are a few key differentiators:

  • Performance: In benchmark tests, Hazelcast has consistently outperformed its rivals in terms of throughput and latency. For example, in a recent study by GridGain Systems, Hazelcast achieved 50% higher throughput than Apache Ignite for a read-heavy workload.

  • Scalability: Hazelcast is designed to linearly scale to hundreds of nodes, with the ability to add or remove nodes at runtime. It automatically rebalances data as the cluster size changes, ensuring optimal performance and fault tolerance.

  • Ease of use: Hazelcast prides itself on its simplicity and ease of use. Getting started with Hazelcast is often a matter of adding a single JAR file to your application and writing a few lines of code. The learning curve is minimal, especially for Java developers already familiar with standard APIs like Map and ExecutorService.

  • Deployment flexibility: Hazelcast can be deployed in a variety of environments, from bare metal to containers to cloud platforms. It also integrates with many popular frameworks and tools, such as Spring, Hibernate, and Kubernetes.

While the "best" solution ultimately depends on your specific needs and constraints, Hazelcast has clearly earned its place as a top contender. As one satisfied user put it, "We chose Hazelcast for its performance, scalability and simplicity. It was incredibly easy to integrate into our existing architecture, and it has exceeded our expectations in production."

Lessons for budding communities

Building a successful open source community takes more than slick code. It requires a sustained commitment to transparency, responsiveness, and user enablement. Having stewarded the Hazelcast community for several years now, Chris Engelbert has learned some valuable lessons that apply broadly to open source projects.

First and foremost, you have to ship a compelling product. "Begin with your project," Chris advises. "Build something amazing and people will love what you built." Early on, that means ruthlessly focusing on your core value proposition and differentiating features. Resist the temptation to be everything to everyone.

Once you have a handful of loyal users, start investing in channels and processes to support them. Be responsive to questions and feedback, even if you can‘t address every request immediately. Make it easy for folks to access documentation, report bugs, and submit improvements.

"You have to react to keep people active, engaged and [feeling] appreciated," says Chris. "Giving reputation to the right people, showing appreciation, as well as rewarding the most active ones are just a few things that are on the table."

As your community grows, empower users to become advocates and contributors in their own right. Highlight their success stories and invite them to collaborate on new initiatives. The larger your army of doers, the more you can scale your impact.

Perhaps most importantly, be patient and persistent. "Building a community is [a] hard job. You need to be persistent, you need to provide time, I mean a lot of time," Chris emphasizes. It may take months or years of toil before you see the hockey stick growth you‘re hoping for.

Sustaining for the long term

Hazelcast is now more than 15 years old—an eternity in software years. Sustaining an open source project over that timespan is no small feat, and it comes with its own set of challenges.

One of the biggest is maintaining a healthy balance between community and commercial interests. As Hazelcast has grown, it has had to strike a balance between nurturing its open source roots and building a sustainable business.

"Open source and business is not a contrast anymore," Chris observes. "Today there is commercial support for almost every bigger open source project and there are people in need of that."

For Hazelcast, that has meant offering a paid enterprise edition with additional features and support, while continuing to invest heavily in the open source core. It‘s a model that has been successfully employed by many other open source companies, from Red Hat to MongoDB.

Another challenge is keeping up with the relentless pace of change in the technology landscape. What was cutting-edge yesterday may be obsolete tomorrow. To stay relevant, Hazelcast must continually evolve and adapt.

Thankfully, the open source community provides a built-in radar for emerging trends and requirements. "Users are users and they define how your project is used in the end," says Chris. By engaging closely with its community, Hazelcast can prioritize the innovations that matter most.

The power of open innovation

At the end of the day, the success of Hazelcast is a testament to the power of open, collaborative development. By tapping into the collective wisdom of a global developer community, Hazelcast has been able to achieve far more than it could have alone.

But the benefits flow both ways. For the developers who contribute to Hazelcast, it‘s an opportunity to hone their skills, build their reputations, and shape the future of a technology they rely on. And for the organizations that deploy Hazelcast, it‘s a way to leverage world-class software at a fraction of the cost of building it in-house.

As Chris puts it, "Isn‘t it a great software world we‘re in?"

That‘s the beauty of open source. By working together in the open, we can create value that is greater than the sum of its parts. And as Hazelcast has shown, that value can be sustained and multiplied over time.

As the saying goes, if you want to go fast, go alone. If you want to go far, go together. Here‘s to the next 15 years of going far, together.

Similar Posts