Alibaba Cloud NAS: The One Container Solution for Cloud-Native Technology
By Meng Wei
Today, more applications are becoming cloud native, and storage solutions are following their lead. Containers are the infrastructure of the cloud-native era, but what is the infrastructure of the container technology?
“Cloud-native technologies empower organizations to build and run scalable applications in modern, dynamic environments, such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructures, and declarative APIs exemplify this approach. These techniques enable us to build loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, cloud-native technology allows engineers to make high-impact changes frequently, predictably, and effortlessly.” This is the definition of cloud native provided by the Cloud Native Computing Foundation (CNCF).
Kubernetes, a platform that orchestrates network, storage, and computing, has become the operating system for cloud-native technology. Featuring a novel interface, it simplifies operation and maintenance, improves the elasticity of resources, allows for use on demand, and lowers the costs for users. Cloud native has been embraced by enterprises and developers. Forrester predicts that the percentage of global organizations and companies that run containerized applications in production environments will increase significantly from less than 30% today to more than 75% by 2022. The trend of containerized applications in the business world is unstoppable.
The proportion of container applications in the production environment has been rising rapidly, from 23% in 2016 when the survey was first conducted, to 73% in 2018, and 84% in 2020.
Cloud-native applications are leading the transition to the cloud-native architecture in various application fields and have profoundly changed every aspect of application services. Essential to run any application, storage solutions are also faced with new requirements posed by cloud-native services. To suit the characteristics of cloud native, cloud-native storage has been substantially optimized in terms of its core capabilities, including availability, stability, scalability, and performance.
Alibaba Cloud, the cloud service provider in China, offers a wide variety of cloud-native services. Unlike network and computing, storage must be seamlessly connected to Kubernetes for orchestration and scheduling. To this end, Container Storage Interface (CSI) was released as the universal protocol to seamlessly integrate storage with Kubernetes. This article discusses the challenges cloud-native containers pose to storage. To keep pace with cloud-native technology and containers, Alibaba Cloud has been adapting and evolving its file storage solution Alibaba Cloud NAS. Now, it can effectively cope with the challenges of cloud-native storage and has become the natural choice for container storage.
Challenges Posed by Cloud Native to Storage
To address the various performance, elasticity, high availability, security, and lifecycle challenges arising from containerization and the cloud migration of new workloads, we must not only improve storage services, but also improve cloud-native controls and data in a way that can promote the technological evolution of cloud-native storage. Now, let’s walk through these challenges.
Challenge 1: Storage Performance
Cloud-native applications are widely used in scenarios related to big data analysis and AI, which have demanding requirements for storage throughput and IOPS. In a scenario where the container clusters process massive data volume, launch thousands of pods at the same time, or add a large number of pods to read and write to the shared file system, the heavy workloads will increase latency, introduce high-latency glitches, and undermine read and write stability. In addition, the characteristics of cloud-native applications, such as rapid resizing and elastic scaling, will also test the ability of the storage service to cope with traffic peaks over a short span of time.
- Impact of centralized high throughput on shared storage pools: In high-performance computing scenarios, data is processed in batches and the bandwidth in the same storage cluster may become congested, causing a deterioration in access quality.
- Insufficient peak throughput: Large-scale data processing that features a small number of files, high peak throughput, and incessant requests will push the exclusive cluster to the bandwidth limit.
- GPU waits caused by increase in latency: In read-intensive multi-machine and multi-card GPU training scenarios, the increase in latency will cause IOWait and GPU wait.
Challenge 2: Storage Elasticity
The elasticity of cloud-native technology poses new challenges to storage solutions. As a result of the diverse development of cloud-native services, databases and metadata management applications can be scaled out online, but local storage cannot be scaled out elastically.
Challenge 3: High Availability of Storage
In application and system O&M scenarios, a storage solution needs to meet stability and high availability requirements as it migrates along with containers.
Challenge 4: Storage Security
In scenarios that require isolation among containers, a storage solution must cope with security challenges, such as multi-application sharing, capacity coordination of file systems in multi-tenant environments, permission control for shared access to cluster-level file systems, and end-to-end data encryption for user applications.
Challenge 5: Storage Lifecycle Management
The storage of persistent data in massive container clusters needs to address the challenges arising from cold and hot data separation and storage costs.
How Does Alibaba Cloud NAS Address These Challenges?
In the preceding emerging computing scenarios, the challenges posed to storage in terms of performance, elasticity, high availability, security, and lifecycles must be addressed with improvements not only to storage services, but also to cloud-native applications, storage cloud services, and the adaption of underlying storage and the core storage layer. Then, an application-oriented cloud-native storage can be created with higher stability, greater security, and higher efficiency.
As cloud-native technology continues to develop, public cloud service providers compete to transform or adapt their cloud services to the cloud-native architecture and improve their service agility and efficiency to meet the needs of cloud-native applications. Alibaba Cloud Network Attached Storage (NAS) is also extensively optimized for adaptation to cloud-native applications. The solution supports the CSI protocol and the Flexvolume driver for seamless integration of data interfaces between cloud-native applications and storage services. Users can use the storage resources for service development, without having to worry about underlying storage services.
To meet the requirements of cloud native for elasticity, Alibaba Cloud NAS offers a fully elastic and shared file system that enables use on demand. Alibaba Cloud NAS optimizes and evolves its cloud-native storage to improve performance, elasticity, high availability, security, and lifecycle management.
To meet performance requirements in scenarios involving AI, big data analysis, and high-performance computing, Alibaba Cloud NAS can distribute I/O workloads among multiple file systems, storage clusters, and zones through container orchestration. The solution supports local read-only caching and distributed storage, which can reduce network latency, I/O latency, and GPU wait time. It can boost the computing power with rigid delivery of throughput in the dozens of GBs.
In terms of elasticity, Alibaba Cloud NAS, a fully managed file system, supports auto scaling and the pay-as-you-go billing method. Extreme NAS features a latency of hundreds of microseconds. To cope with cases where elasticity is urgently needed in industries such as finance and Internet, the solution can launch thousands of containers in a few minutes and rapidly load and unload data.
To meet high availability requirements, Alibaba Cloud NAS supports fast failover for containers and provides enterprise-level features such as storage snapshots and backup.
To ensure security, Alibaba Cloud NAS supports comprehensive AD/ACL permission management and quota management and provides a unified namespace with I/O isolation and management among large quantities of pods. It also supports features such as transmission encryption and disk encryption.
To address the challenges arising from massive data volumes, Alibaba Cloud NAS is capable of managing data lifecycles and automatically archiving cold data, which can reduce the costs to users by 90%.
Why Choose Alibaba Cloud NAS for Container Storage?
Alibaba Cloud NAS provides storage services for unstructured data. As the result of rapidly evolving cloud-native technology, many companies choose containerized applications that use NAS to store data. Some NAS solutions are even used to store petabytes of data. Following its cloud-native strategy, Alibaba Cloud offers Container Service for Kubernetes (ACK) and Elastic Container Instance (ECI) with container instances that use the NAS file system for persistent storage. Shared file storage is indispensable for container storage.
Alibaba Cloud NAS is a fully managed cloud-native file system that is highly available and optimized for cost savings. Alibaba Cloud NAS offers three services, General-purpose NAS, Extreme NAS, and Cloud Paralleled File System (CPFS).
Alibaba Cloud NAS, as a fully managed service, is easy to configure, supports auto scaling when adding or deleting data, and provides the flexibility and convenience of container infrastructure, which makes it the natural choice for container storage.
Containers that share data with each other usually share file storage. Containers that must run for a long period of time can also use the shared file storage to cope with faults. Alibaba Cloud NAS can meet the requirements for auto scaling, flexible mounting, and high performance of persistent storage in container scenarios. In addition, the configuration files or initial loading data storage for container images can be shared in NAS and read in real time during batch container loading. Multiple pods share persistent data by using NAS and can switch over in the case of pod failure.
As new technologies continue to develop, applications including machine learning, AI, and gene processing make extensive use of shared file storage. Here are a few examples:
- Web services: Content management applications, such as WordPress, are scaled out to multiple instances for performance and redundancy and can share uploads, plugins, and templates across multiple instances.
- Software development tools: Developer tools such as JIRA and Git need to share data between instances to achieve high availability, but the code is kept in multiple Alibaba Cloud zones for persistence.
- Big data analysis and processing: Machine learning frameworks, such as genetic data processing and Tensorflow, need to access data through file system interfaces and use shared persistent storage. This allows multiple users to use and run jobs on the same set of data in parallel.
- Enterprise applications: Shared notebooks (such as Jupyterhub) need to provide persistent storage for notebook data and user workplaces, and shared storage makes collaboration easy for data scientists.
Rapidly adopted by corporate users as a container technology and a cloud-native computing solution, Kubernetes has gradually become an essential infrastructure in the era of cloud native, as have container services. New workloads drive the evolution of cloud-native storage and cloud storage. The cloud-native control plane ensures high efficiency, improves data storage stability, and reduces data security risks. To form a storage ecosystem in the cloud-native environment, it is imperative to consolidate the performance of cloud storage solutions, including fundamental capabilities such as capacity, elasticity, and density.
As the natural choice for container storage, Alibaba Cloud NAS can effectively cope with the challenges posed to cloud-native storage in terms of performance, elasticity, high availability, security, and lifecycles. The rapidly evolving cloud-native file storage technology from Alibaba Cloud will continue to empower the fast growth of cloud-native technology and container technology.