This Industry Viewpoint was contributed by Stefan Bernbo, founder and CEO, Compuverde
There are currently as many cell phones in use in the U.S. as there are people in the U.S.: approximately 330 million. As mobility continues its relentless juggernaut around the globe, data creation has exploded beyond imagination. This, of course, has led to an unprecedented need for data storage. But traditional vertical storage solutions won’t do; telcos need storage that delivers in terms of both performance and price. That is, they need to scale affordably and quickly. As software-defined storage gains wider acceptance, more data centers are using scale-out storage solutions.
Telcos need business flexibility from cloud architectures, which helps maximize budget efficiency and performance goals at the same time. Hybrid cloud is one way to do that. In a nutshell, hybrid cloud is a cloud computing environment that uses a mix of on-premises, private cloud and public cloud services, with orchestration between the two platforms.
Deploying a hybrid cloud approach brings both benefits and challenges, and many are in for a learning curve because hybrid cloud architectures are so new. In this article, we go through some design elements you can use to ensure your hybrid cloud delivers the performance, flexibility and scalability you need.
The Need for Scale-Out NAS
For a hybrid-cloud storage architecture to work, its foundation needs to be a scale-out NAS. Since hybrid cloud architectures are relatively new to the market—and even newer in full-scale deployment—many telecoms are unaware of the importance of consistency in a scale-out NAS. Many environments are eventually consistent, meaning that files that you write to one node are not immediately accessible from other nodes. This can be caused by not having a proper implementation of the protocols, or not tight enough integration with the virtual file system. The opposite of that is being strictly consistent: files are accessible from all nodes at the same time. Compliant protocol implementations and tight integration with the virtual file system is a good recipe for success.
A scale-out NAS approach embedded within a hybrid cloud architecture will ideally be based on three layers. Each server in the cluster will run a software stack based on these layers. The first layer is the persistent storage layer. This layer is based on an object store, which provides advantages like extreme scalability. However, the layer must be strictly consistent in itself. The virtual file system is the heart of any scale-out NAS. It is in this second layer that features like caching, locking, tiering, quota and snapshots are handled. The third layer contains the protocols like SMB and NFS but also integration points for hypervisors, for example. It is very important to keep the architecture symmetrical and clean. If you manage to do that, many future architectural challenges will be much easier to solve.
Let’s revisit that first layer, storage. Because it is based on an object store, we can now easily scale our storage solution. With a clean and symmetrical architecture, we can reach exabytes of data and trillions of files.
Because one of the storage layer’s jobs is to ensure redundancy, a fast and effective self-healing mechanism is needed. To keep the data footprint low in the data center, the storage layer needs to support different file encodings. Some are good for performance and some for reducing the footprint.
Dealing with Metadata
In a virtual file system, metadata are pieces of information that describe the structure of the file system. For example, one metadata file can contain information about what files and folders are contained in a single folder in the file system. That means that we will have one metadata file for each folder in our virtual file system. As the virtual file system grows, we will get more and more metadata files.
In dealing with scale-out storage, a centralized storage of metadata isn’t practical. So, let’s look at where not to store metadata. Storing metadata in a single server can cause poor scalability, poor performance and poor availability. Since our storage layer is based on an object store, a better place to store all our metadata is in the object store – particularly when we are talking about high quantities of metadata. This will ensure good scalability, good performance and good availability.
Caching devices boost performance, and software-defined storage solutions need them. From a storage solution perspective, both speed and size matter – as well as price; finding the sweet spot is important. For an SDS solution, it is also important to protect the data at a higher level by replicating the data to another node before destaging the data to the storage layer.
As the storage solution grows in both capacity and features, particularly in virtual or cloud environments, supporting multiple file systems and domains becomes more important. Supporting multiple file systems is also very important. Different applications and use cases prefer different protocols. And sometimes, it is also necessary to be able to access the same data across different protocols.
Being a cloud entity means support for hypervisors is needed. Therefore, the scale-out NAS needs to be able to runs as hyper-converged as well. Being software-defined makes sense here.
The scale-out NAS must be able to run as a virtual machine and make use of the hypervisor host’s physical resources if there is a flat architecture with no external storage systems. The guest virtual machine’s (VM) own images and data will be stored in the virtual file system that the scale-out NAS provides. The guest VMs can use this file system to share files between them, making it perfect for VDI environments as well.
Now, why is it important to support many protocols? Well, in a virtual environment, there are many different applications running, having different needs for protocols. By supporting many protocols, we keep the architecture flat, and we have the ability to share data between applications that speak different protocols, to some extent.
All these characteristics taken together—being software-defined, supporting both fast and energy-efficient hardware, having an architecture that allows us to start small and scale up, supporting bare-metal as well as virtual environments and having support for all major protocols—make a very flexible and useful storage solution.
Because each site has a file system of its own, a likely scenario is that different offices have a need for both a private area and an area that they share with other branches. So only parts of the file system will be shared with others.
Picking one part of a file system and allowing others to mount it at any given point in the other file systems provides the flexibility needed to scale the file system outside the four walls of the office – making sure that the synchronization is made at the file system level in order to have a consistent view of the file system across sites. Being able to specify different file encodings at different sites is useful, for example, if one site is used as a backup target.
The Future of Storage
Connecting all these elements creates a modern hybrid cloud system that delivers efficient, clean, linear scaling up to exabytes of data. With this kind of architecture, a single file system spans all servers. This provides multiple entry points and prevents potential performance bottlenecks. A scale-out NAS enables great budget control and expansion capabilities.
About the Author
Stefan Bernbo is the founder and CEO of Compuverde. For 20 years, Stefan has designed and built numerous enterprise scale data storage solutions designed to be cost effective for storing huge data sets. From 2004 to 2010 Stefan worked within this field for Storegate, the wide-reaching Internet based storage solution for consumer and business markets, with the highest possible availability and scalability requirements. Previously, Stefan has worked with system and software architecture on several projects with Swedish giant Ericsson, the world-leading provider of telecommunications equipment and services to mobile and fixed network operators.