In the second post in my series, I outlined several possible storage architectures for systems that need to store both files and objects. In this post, I’ll discuss the design choice we made for Pure Storage® FlashBlade®.
First, here are a few points to think about when making an important architectural decision like this one:
- Build for the long term. The system needs to stay relevant for a long, long time. Decades, even. Some choices can be changed later, and other choices…you have to live with. For the choices you’re committed to, it’s important to make decisions that optimize for the long term.
- Imagine the future. When designing a system that’s going to be relevant for many years, it’s important to think about what the world will look like one, three, five, and 10 years in the future. Understand the requirements of today, consider how the world is changing, and extrapolate to the future. What types of applications are going to run in the data center in the years and decades to come? Are they going to heavily utilize both file and object storage? Or is one going to be dominant?
- Commit to just the right amount of complexity. If while building, you avoid complexity and make all the easy choices, the system may not be able to hold its own against more ambitious projects. But, if you’re too ambitious and take on intractable problems or complicate the future too much, your design risks losing to projects that made more pragmatic choices. It’s important to get the right balance.
FlashBlade Delivers Unified Fast File and Object
When originally designing FlashBlade, we chose the file and object architecture that contains a file system and an object store as separate namespaces. It currently looks something like this:
We made this decision based on the vision that data centers will increasingly combine file and object workloads. We wanted to have a no-compromise file system and a no-compromise object store in one system, even if it would take longer to deliver certain features like cross-protocol access. While there are file/object cross-protocol access use cases we don’t support today, we’ll flesh out more of those over time.
FlashBlade provides a very solid foundation for both file and object workloads in a variety of real-world environments. Over time, we anticipate most, if not all, of our customers will leverage FlashBlade to unify their file and object workloads. Here are just a few examples:
- A gaming company has machine learning, Elasticsearch, big data analytics, and Kubernetes on file storage, as well as Vertica database on object storage, resulting in a greatly simplified environment and better performance across the board.
- A trading firm has HPC simulations on file storage, as well as big data analytics on object storage, resulting in an environment with substantially improved stability and performance compared to its prior solution.
- A quantitative investment firm has a high-scale database on object storage, as well as CI/CD, big data analytics, and user documents on file storage. The reliability and simplicity of the solution enables a small IT team to manage a demanding environment.
These customers—and many others—have been able to consolidate multiple file and object workloads on the FlashBlade platform. As a result, they benefit from reliability and performance, while simplifying their environment and saving on operational costs.
It’s exciting to see the impact our system is having today, given that we intentionally made a bold, major architectural decision to build a storage system that would require some short-term sacrifice to get it right for the long term. But we wouldn’t have it any other way.
Design choices early on in a technology’s life cycle have a big impact on the long-term success of any system, so it’s important to choose well, and wisely.
Learn more about FlashBlade and how it can revolutionize your file and object workloads.