Additional Articles
Here are more interesting articles on FreeBSD, ZFS that you may find useful:
- Deploying pNFS file sharing with FreeBSD
- Applying the ARC Algorithm to the ARC
- Introducing OpenZFS Fast Dedup
- DKMS vs kmod: The Essential Guide for ZFS on Linux
- 5 Reasons Why Your ZFS Storage Benchmarks Are Wrong
Storage is the most critical and sensitive component of your infrastructure. Applications that crash can be restarted, network packets that are lost can be retransmitted, but storage needs to be always on, and absolutely reliable. This is where it might seem to make sense to go with a popular commercial offering, even falling into the mantra of “Nobody ever got fired for buying $vendor”. However, being locked into a single vendor means you are utterly at their mercy when it comes to upgrades, price increases, and the quality of support they offer. If your storage vendor releases a new version of their software that causes issues for you, they may help you right away, or your issue might be exotic enough that it goes to the back of their support queue. The vendor might also release a newer product focused on a different use case and decide to end-of-life the product you are using. In any of these cases, you are left with just two choices: stay locked-in with the vendor, or take on the pain of a migration.
Storage can be incredibly hard to migrate, due to the amount of data involved, the fact that it is constantly changing as you are trying to migrate it, and the requirement for absolute accuracy.
What if we told you there was a third choice? Open source infrastructure. When you have the source code, you control your own destiny and have the freedom to ensure your infrastructure works for you. Open source solutions are reliable, have outstanding performance, and offer a degree of flexibility that is not available with commercial vendors.
This article will give you a quick rundown of why you should consider open source storage over commercial offerings for your infrastructure.
Open Source Storage or Commercial Offerings
A good storage solution offers much more than putting bits on media and getting them back again later. The storage solution provides the entire data ecosystem for your infrastructure and your business, doing it right can provide your organization a real competitive edge, doing it wrong can be extremely costly. Commercial storage offerings usually guarantee one-on-one support and ongoing maintenance by the vendor. However the quality of this support, and the longevity of the maintenance are entirely up to the vendor, once you have chosen a vendor, you have no recourse. On the other hand, open source storage is open to all and often totally free, with a community of contributors and other enterprises maintaining the software. Though community support offers no SLA and can sometimes be slow, one of the advantage to open infrastructure is that it can be supported by multiple solution providers, giving you choices when you need support and ensuring that if there is a problem with your solution provider there is always somewhere else you can turn.
Even with this knowledge, picking the right storage solution can be daunting. So before we tell you what open source storage solutions offer to its users, let's look at them individually
What Does “Open Source Storage” Mean?
Open source software (OSS) is a term used to describe publicly available source code that anyone, including you, can use, modify, and redistribute.
This approach to development encourages collaboration, innovation, and transparency. It also means that you have the ability to audit the code, fix bugs, make changes, and carry-on development in the event that your needs no longer match that of the other users. Open source software comes with other appealing perks as well—it comes with a community of users and contributors who maintaining it, extending it, and work together to solve any issues that come up. Open source software also increases compatibility, when the code is open, it is possible for other software to interface with your infrastructure, or ease migration without being locked out by proprietary formats.
Open source storage offerings are no different from other open source tools. They offer the benefits of the open source ecosystem and are scaled by contributors to provide a reliable, agile storage system across on-premise and cloud environments.
Open source storage is used to create infrastructure storage, object storage, cloud storage, network-attached storage (NAS), and storage area networks (SAN). OpenZFS is one notable example of open source storage software.
What are Commercial Storage Offerings?
Commercial storage is a storage solution created and maintained by an organization, also referred to as the vendor, that often provide one-on-one technical support to their storage consumers.
But there’s a catch, since their source code is not publicly available, the amount of tweaking and customizing that you can do is severely limited, and most, if not all, changes need to be made by the vendor, if they are even willing to make such changes for you. If the vendor were to discontinue a product, or go out of business, you are left with an unmaintained, unserviceable, proprietary product that you must migrate away from. While there are many, Amazon S3 storage buckets and EMC SANs are two notable examples of commercial, proprietary storage systems.
Why Should you Consider Open Source Storage over Commercial Offerings?
Though commercial vendors are often better-known to corporate procurement departments, open source storage offerings like OpenZFS are often a better fit for your infrastructure.
Here are five reasons why:
1. Open Licensing
Licensing is an intrinsic part of software development and procurement.
Why do licenses matter? You never really “own” software, you just have a license to use it. The license inform you of the degrees of freedom and permission you have when working with the software. These licenses are often free of charge for open source storage and provide you the right to not only use the software, but to modify it to better suite your needs, and to continue development even if the original creator is no longer interested in the software. Having access to the source code ensures that you always have the option to continue using or developing the software for as long as you need, rather than being at the mercy of a vendor. However, this isn't the situation for commercial storage, which typically allows users no access to source code and very limited access to any of the internals of the commercial system. If the vendor doesn’t want to provide you with support anymore, you don’t really have any options, and are facing a costly migration.
For commercial storage systems, you are only licensed to use the software at the vendor's discretion. To get more access, the vendor often demands additional payment, and sometimes onerous non-disclosure agreements, if they are willing to provide more access at all. On the other hand, open source licenses offer direct access to the entire system, in part because the licenses are designed to protect the customer rather than the vendor.
Even if you don’t think you need access to source code yourself, its wide availability encourages innovation and code correctness that benefits everyone who uses it. The open source community uses a variety of licensing models, including the Apache License, BSD License, GNU General Public License, MIT License,, and Mozilla Public License. While some restrictions may exist, they are typically centered around redistribution—meaning giving someone outside your organization versions of the code which you modified—which does not limit normal day-to-day use of the software.
OpenZFS, the open source file storage system and volume manager, uses the CDDL license, which is based on the same Mozilla license as Firefox. The CDDL allows for the distribution and modification of the licensed software, thus giving you flexibility and peace of mind, putting you are in control of how you use and modify the software, and ensuring your ability to continue using and/or modifying the software into the future. You can learn more about OpenZFS and its licensing from its documentation.
2. No Lock-In and Independence from the Vendor
Vendor lock-in is a way providers get users bound or dependent on their products and services, thus making changing to alternative offerings more challenging. A vendor lock-in situation can quickly become a nightmare. This could come in the form of price increases, forced upgrades, unnecessarily expensive integrations or custom development costs. Once you’ve invested your data into a vendors storage solution, getting it back out can be such a large project that it leaves you with little choice but to pay whatever the vendor asks for to keep using the current solution. It also means that if the current solution doesn’t provide a feature you need, you have to live without it until the vendor implements that feature for you.
For instance, switching to another technology might require rewriting and re-architecting your applications simply to change compression algorithms. Or you might not be able to use newer storage technologies without paying the vendor or renewing a new license or maintenance contract. Software vendor lock-in can also lead to hardware lock-in! It is in the vendors interest to ensure that your only path forward continues to involve the vendor These are unfortunately common scenarios with commercial storage vendors.
Thankfully, open source storage systems such as OpenZFS and SnapRAID don't lock you into a particular vendor. OpenZFS, for one, is designed to give you fine-grained control without mandating specific hardware requirements. Thus, there is no risk of technology tying you to a single hardware vendor. In addition, vendor support organizations like Klara offer enterprise support subscriptions and design & implementation services if you're unsure how to use or integrate these open source storage systems into your infrastructure.
Bottom line? Open source storage enables you to increase reliability and compatibility, cut costs, ensure you remain in control of how you build and maintain your infrastructure, and allow you to focus on innovation in your product or service.
3. Continuous Technological Innovation
The community driven nature and collaborative approach of open source projects drive their innovative spirit. This community defines its roadmap of how they wish to evolve the software, but each user is still able to cater to their own various business problems, and take the software in the direction that best suites them. It is not a surprise why open source software has been powering many of the latest technological leaps.
Here’s the deal:
When it comes to storage, open source file systems projects like Ceph, Gluster, LizardFS, Lustre, and OpenZFS lead the pack with their quality of code, extensive tooling, and rich feature sets. For example, OpenZFS offers much more than just storage—it offers RAID-like device management, traditional volume management capabilities, a copy-on-write transactional mechanism ,and a full-featured filesystem in one easy-to-manage package. OpenZFS is available on Linux, FreeBSD, and illumos, with experimental support for MacOS and Windows as well, meaning you are free to use the operating system that best suits your use case, without losing access to the storage solution you depend on.
The copy-on-write capability is one thing that makes OpenZFS so innovative. Why?
When a file is being modified, rather than overwriting and modifying it in place, OpenZFS will write it on new data blocks. The newly written data blocks remain unlinked until they are written in full—this guarantees data consistency, since there is no corrupt state in between when writing is begun, and when writing completes. The filesystem atomically moves from one consistent state (before the write) to the next (after the write completely successfully). When using multiple disks, this also eliminates the classic “RAID write hole” problem, where data and parity can get out of sync, leading to undetectable corruption in the future. Other innovative OpenZFS features include pooled storage, atomic snapshots, transparent compression, automatic data integrity verification and repair, and much more.
The open source community's continued innovation serves to highlight the lack of innovation from commercial storage vendors. Even when commercial storage vendors do offer new features, you must ask yourself if they are worth the cost of being ensnared in vendor lock-in, when similar capabilities could be added to existing open source solutions. We anticipate much of the innovation of the future will be built with open source.
4. Community and support
The open source community is big, diverse, and dedicated to building the future of software, and continuing to address the technological problems of today. The community grows larger, livelier, and more vibrant every day. ZFS is no exception, having seen open source since 2005, the community of both individual and enterprise users and developers continues to see accelerating growth as open source storage is adopted by both users and providers in the cloud.
But why does this matter?
OpenZFS has a vibrant community, with many users, companies, products, and services relying greatly on it and contributing to its source code. Thus, support can be gotten from:
- A wide array of open source communities, ranging from operating system communities dedicated to FreeBSD, Illumos, or Linux to direct, focused support from communities dedicated to middleware like ZFS-auto-snapshot, TrueNAS, Sanoid, or BastilleBSD.
- Commercial organizations like Nexenta, SoftNAS, Delphix, Datto, iXsystems, RackTop, Joyent, Oxide, and IBM use or have products based on OpenZFS.
- Third-party organizations like Klara offer development services, as well as extensive design, support, maintenance, and training services.
Although we’ve been discussing OpenZFS specifically, the advantages and benefits of open source apply to most open source storage solutions with thriving communities as well.
5. Reliable with storage potential
OpenZFS has been around for a long time, demonstrating high reliability with a solid track record for protecting your data where other storage solutions would not be able to. OpenZFS continues to grow high quality additional features and improvements to its source code from a wide variety of contributors.
Some of the features that contribute to this are;
- OpenZFS storage pools use 128 bit addressing, giving them the ability to manage larger volumes than typical 64-bit filesystems.
- Support for dual-controller deployments making High Availability architectures possible
- The per-record end-to-end checksum feature enables automatic data verification and repair.
- Support for user-selectable cryptographic checksums to provide even stronger data verification and deduplication.
- Its configurable architecture allows using limited amounts of faster storage media to greatly accelerated sync writes and multiple layers of read cache.
Bottom line? All of these greatly enhance its performance and storage capacity.
Open Source Storage vs Commercial Storage Offerings: the Future is Open
Commercial storage might sound great because of its apparently simpler single-source support model. However that model cuts both ways, when there is a single source of support, you have no alternative if you are not satisfied with the service they provide. Overall, you can't deny the value of community, the support that community provides, and the additional freedom, flexibility, and functionality you get from open source, not to mention the ability to tailor the solution to your specific needs. This is something that only open source storage can offer. So choose open source storage solutions that are reliable and flexible, like OpenZFS and avoid getting locked-in by a vendor!
Need help optimizing your ZFS configuration and creating the best-performing file system possible? Let our world-class open source team support you in this process.