Before jumping directly into the heart of the article, let's clarify these two terms with their definition to bring some context.
Hyper-scale is the ability of an architecture to scale appropriately as increased demand is added to the system. This typically involves the ability to seamlessly provision and add compute, memory, networking, and storage resources to a given node or set of nodes that make up a larger computing environment — from Wikipedia.
In short: every component can scale separately.
This hyper-scale model has been popularized by the giants Google, Facebook, Amazon and their large distributed sites. But a new model is emerging these last years, first with the virtual desktop infrastructure (VDI) and now with the attractiveness of containers.
Hyper-convergence is a type of infrastructure system with a software-centric architecture that tightly integrates compute, storage, networking and virtualization resources and other technologies from scratch — from TechTarget.
In short: everything scales together. Let's visualize it with a schema.
As you can imagine, these two models come from different use cases and there is not one solution prevailing over the other. This is how Software Defined Storage (SDS) solutions like Infinit come into play.
Infinit default hyper-scalable architecture
By default, Infinit allows you to build your own custom storage infrastructure without taking consideration of your application, basically providing you the storage part on the hyper-scalable architecture schema above.
One big advantage of this system is that if you want to add and remove storage nodes on the fly without interfering with your application, you can. Because of its resilience and decentralized architecture, Infinit is able to take care of rebalancing data between all the nodes, or to heal itself if one node were to crash.
This architecture is perfect for operators wanting complete isolation and control over their storage component, independently of their computing resources.
Building hyper-convergent architectures with Infinit
But it's easy to imagine different use cases where developers want an easy way of scaling storage alongside their applications.
Dealing with two different clusters — one for storage, one for applications — is particularly cumbersome for developers that don't want to tweak every detail of their architecture.
That's why hyper-convergence architecture are interesting for them, making storage scale alongside their application cluster. In the context of containers, such an application cluster would be managed by an orchestrator, such as Docker Swarm, Kubernetes or Mesos.
Well, Infinit also provides a simple way to add hyper-converged storage to your Docker Swarm, meaning that as a compute node is added to a Swarm, Infinit aggregates its storage capacity to the virtual pool.
This global persistent storage can then be used by any container running on the Swarm to provide a place to store common files or share state. As nodes join or leave the Swarm, Infinit automatically scales the storage and rebalances or replicates blocks to ensure high availability and redundancy of the data stored.
We made a prototype during a Docker hackathon in 2016, have a look!
Choosing what's best for you
There are no right answers as to which architecture is better.
If you're a developer looking for a simple solution that lets you focus on your code rather than tweaking your storage layer, go for an hyper-convergent architecture. If you're an operator, deploying applications in production, in need of an elastic and resilient storage layer, go for an hyper-scalable one.
But choosing a software defined storage product like Infinit will allow you to adapt to every situation. Whether you need an empowered hyper-converged Docker Swarm with persistent storage or an independent hyper-scalable storage infrastructure for your applications, Infinit won't lock you up to an unique solution.
Get started with Infinit in less than 10 minutes! Test it!