[reinvent 2024] 워크로드 성능의 최적화를 위한 최적의 스토리지 찾기
Summary
Amazon EFS, FSx등 스토리지의 특성과 최적용도를 논의하는 세션입니다.
올바른 파일 저장소는 애플리케이션의 성능과 확장성을 좌우할 수 있습니다. 워크로드의 요구에 맞는 솔루션을 선택하는 것은 가용성과 비용 효율성을 최적화하는 데 중요합니다. 이 강연에 참여하여 수요가 많은 애플리케이션을 확장하거나, 높은 I/O 요구 사항을 처리하거나, 복잡한 워크로드를 관리할 때 최상의 저장소와 사용 사례를 일치시키는 방법을 배우십시오. 의사 결정 과정을 탐색하고 Amazon EFS와 Amazon FSx 파일 서비스패밀리를 비교하여 복잡성이나 비용을 추가하지 않고 확장하거나 마이그레이션하는 방법을 배우십시오.
리인벤트 2024 테크 블로그의 더 많은 글이 보고 싶다면?
Overview
들어가며
On-premise환경의 전통적인 스토리지방식은 블록방식과 파일시스템방식이 있습니다. 클라우드 서비스가 나타나며 객체스토리지라는 방식이 나타났고, 전통적인 스토리지와 매우 다른 방식이지만 AWS에서는 모두를 수용하여 서비스하고 있습니다.
본 세션은 블록방식과 객체스토리지를 배제하고, 파일시스템 방식에 한해서만 이야기합니다. 연사는 구체적으로 이야기하지 않았지만, 클라우드 환경의 지속적인 현대화로 인해 호스트중심보다는 컨테이너중심으로 컴퓨팅환경이 변모하고 있고, AWS에서는 ECS, EKS 등의 관리형 서비스를 제공하는데 여기에 가장 보편적으로 적용하는 스토리지가 NAS기반 파일시스템 방식이고, EFS와 FSx 패밀리가 그것을 제공합니다.
AWS가 제공하는 스토리지서비스
AWS가 제공하는 스토리지 서비스는 14가지나 됩니다.
Backup, Storage Gateway, DataSync, Transfer Family 등은 데이터이관과 보관에 대한 서비스이므로, 순수한 데이터저장서비스라는 관점에서 보면 객체, 블록, 파일 스토리지서비스가 해당이 됩니다. 어쨌든, 본 세션은 파일시스템 서비스에 집중한다는 것을 한번 더 말씀드립니다.
사용자케이스에 따른 파일저장 경향
파일저장 서비스는 파일을 사용하는 서비스에 따라 특성이 달라지는 경향이 있습니다. 전통적인 파일저장를 사용하는 서비스는 사용자 공유, 레거시기반 애플리케이션, 애플리케이션 빌드환경, 백업과 재해복구에 폭넓게 사용됩니다. 비교적 새롭게 등장한 파일저장을 소비하는 서비스는 머신러닝, SaaS애플리케이션, 데이터 사이언스 및 분석, DevOps플랫폼 등이 있습니다.
운영체제에 따른 프로토콜 선택
EFS, FSx를 소개할 때, 자주 보게 되는 유명한 그림입니다. 파일저장을 소비하는 운영체제가 윈도우와 리눅스가 혼합되어있는 경우에는 반드시 참고해서 고려해야하는 지점이 있습니다. 리눅스가 윈도우보다 폭넓게 제공되는걸 보실 수 있고, 지원하는 서비스는 Amazon EFS와 FSx for OpenZFS, FSx for Lustre, FSx for NetApp ONTAP이 있습니다. 윈도우인 경우에는 FSx for Windows File Server, FSx for NetApp ONTAP만을 제공받을 수 있습니다.
이는 윈도우의 네트워크프로토콜인 SMB를 이 2가지 서비스만 지원하기 때문입니다.
FSx for NetApp ONTAP서비스가 윈도우와 리눅스 양쪽의 요구를 만족하는 유일한 선택지입니다.
NetApp은 오랫동안 기업용NAS의 선두주자로 오랫동안 군림해왔고, NAS프로토콜의 양대산맥인 SMB, NFS 양쪽을 모두를 지원하는 검증된 솔루션입니다. 개인적으로는 선택지가 더 늘어났으면 하는 바램이 있군요.
스토리지 성능의 강화방식
스토리지의 사이즈 증가와는 별개로 성능향상을 위한 방식이 있습니다. 각 스토리지의 성능을 강화(Scale-Up)하여 강화하는 Scale-Up방식은 극히 낮은 지연(Ultra-low latency)과 높은 성능을 특징으로 가지며, 싱글스레드방식, 작은파일의 랜덤접근방식, 메타데이타를 참조하여 데이터접근 경우의 패턴에 더 요구됩니다.
이런 특성을 가진 스토리지서비스는 FSx for Windows File Server, FSx for NetApp ONTAP, FSx for OpenZFS입니다. 스토리지 수량증가에 따른 성능강화효과를 얻는 Scale-Out방식은 무제한(unlimited)으로 확장이 가능한 장점이 있습니다. 다중스레드방식, 큰파일의 연속접근이나 랜덤접근 경우에 더 적합합니다. 이런 특성을 제공하는 스토리지서비스는 FSx for NetApp ONTAP, FSx for Lustre, EFS 입니다.
결론
수많은 스토리지 서비스가 존재함에도 모든 리소스가 그렇듯 비용에서 자유로울수 없습니다. 그렇다보니 가장 보편적으로 EFS를 선택하게 되는데, 본 세션의 답은 EFS가 아닙니다. 우리는 스토리지간의 차이를 인지해야하고, 주기적인 서비스개선에 따라 정보가 달라질 수 있으므로 스스로 업데이트 해야합니다.
고객에게 스토리지를 제안할 때는 스토리지를 사용하는 혹은 소비하는 스토리지 클라이언트 들의 특성을 파악하고, 이를 가이드하여 고객의 의사결정을 돕는 것이 우리의 할 일이라는 결론에 도달하였습니다. EFS를 사용하고자 하는 고객에게 우리는 올바른 의사결정을 할 수 있도록 선택지를 제공해야한다고 생각합니다. EFS를 사용하는 컴퓨팅 리소스의 운영체제가 무엇인지, 어떠한 데이터를 저장하고자 하는지 혹은 한곳에서만 저장하고 다른곳은 조회를 하는 형태의 패턴은 어떻게 되는지, 스토리지 안에서 입출력되는 데이터의 사이즈는 어떻게 되는지 등을 묻고 그 대답을 함께 찾아야 할 것입니다.