앱 개발을 방해하는 7가지 문제와 해결 방법

데이터 스토리지가 기업의 주요 이니셔티브를 충분하게 지원하고 있나요, 아니면 방해만 하고 있는 것은 아닌가요? 다음 7가지 문제 중 하나라도 경험해본 적이 있다면 스토리지가 문제일 수 있습니다.

App Development

6분

최신 기술을 도입하면서 어려운 작업을 레거시 스토리지가 수행하게 되면 어떻게 될까요?

200명의 IT 전문가를 대상으로 진행된 최근 설문 조사(영문자료)에 따르면, 응답자의 72%가 스토리지가 앱 성능에 영향을 미칠 수 있다는 사실을 알고 있지만, 65%는 새로운 워크로드를 처리할 수 없는 구식 스토리지를 여전히 사용하고 있다고 답했습니다. 혹시 비슷한 상황을 겪고 있으신가요?

스토리지 기술은 더 이상 스토리지 관리자만의 문제가 아닙니다. 애플리케이션에 큰 영향을 주는 스토리지 솔루션은 병목 현상을 일으킬 수도 있고, 촉진제 역할을 할 수도 있습니다. 많은 기업들이 다음과 같은 문제에 직면한 경우 이렇게 질문해 볼 수 있습니다. “스토리지가 방해가 되나요?”

온-프레미스와 클라우드 간의 이동이 여전히 어렵습니다.”

클라우드는 앱 개발을 가속화할 수 있는 촉매제이자 더 광범위한 현대화 전략의 필수 구성 요소입니다. 451 리서치(451 Research)의 설문 조사(영문자료)에 따르면, 차세대 애플리케이션과 혁신적인 마이크로서비스, 개발자들이 가장 활용하고 싶어하는 알고리즘을 지원하기 위해 클라우드 스토리지 사용이 증가하고 있습니다. 응답자의 약 1/3이 클라우드를 사용하여 최신 애플리케이션 요구 사항을 충족하고 있으며, 28%는 앱에 대한 엔드 유저와 비즈니스의 요구 사항을 충족하는 데 클라우드가 필요하다고 답했습니다.

그렇다면 데이터는 어떨까요? 동일한 설문 조사에 따르면, 최신 앱 개발 팀은 매일 클라우드 환경과 다른 환경 사이에서 양방향으로 데이터를 이동합니다. 29%의 경우 스트리밍 데이터를 활용하는 앱에서 이러한 상황이 지속적으로 발생합니다. 이는 트래픽이 매우 많은 시나리오입니다. 레거시 스토리지의 한계로 인해 데이터를 쉽게 마이그레이션할 수 없다면 사일로가 다시 발생하게 됩니다.

원하는 곳 어디에서나 앱을 실행하는 데 필요한 데이터 이동성을 확보하려면 프라이빗 클라우드와 퍼블릭 클라우드 데이터 스토리지가 분리되지 않도록 하이브리드 클라우드 환경을 지원하는 일관된 스토리지 솔루션이 필요합니다. 통합 스토리지 환경은 구현 위치에 상관없이 앱이 일관된 경험을 제공할 수 있도록 지원합니다. 테스트, QA 또는 개발을 위해 클라우드 기반 인스턴스를 빠르게 가동해야 한다면, 온-프레미스 스토리지를 클라우드에 빠르고 쉽게 복제할 수 있는 스토리지 솔루션을 활용할 수 있습니다.

“컨테이너를 도입하고 싶지만 준비가 되지 않은 것 같습니다.”

가상화 및 컨테이너는 개발을 가속화하는 주요 촉진제 역할을 합니다. 서버 구현에 걸리는 시간을 몇 달에서 몇 분으로 단축할 수 있고, 데브옵스(DevOps) 팀은 전체 앱을 재구현하지 않고도 코드를 업데이트할 수 있으며, 플랫폼 간에 이동식 컨테이너 앱을 더 쉽게 마이그레이션할 수 있습니다. 여기서 언급한 내용 이외에도 다양한 이점이 있습니다.

그러나 컨테이너에는 몇 가지 까다로운 측면이 있습니다. 특히, 스테이트풀 애플리케이션을 위한 영구 스토리지를 관리할 때 더욱 그렇습니다. 컨테이너는 기본 환경(데이터베이스 포함)과 분리되어 있기 때문에, 쉽게 마이그레이션할 수 없는 데이터를 주로 사용할 경우에는 병목 현상이 발생하여 컨테이너의 이점이 거의 사라질 수 있습니다.

이를 해결할 수 있는 몇 가지 방법이 있습니다. 첫째, 컨테이너화할 앱을 선택적으로 고를 수 있습니다. 엔터프라이즈 기능을 사용하는 대신 스테이트리스 앱을 컨테이너화하여 이동성과 구현 용이성을 활용하면 문제를 간소화할 수 있습니다. 스테이트풀 앱을 컨테이너화하거나 모놀리식 앱을 마이크로서비스 아키텍처로 이동하려는 경우, 더 스마트한 영구 스토리지 솔루션이 필요합니다. 이러한 솔루션에는 간편한 관리를 위해 컨테이너 오케스트레이터에 연결하는 기술도 있어야 합니다.

참고: 컨테이너는 대개 오브젝트 스토리지에 활용되므로 서비스 및 앱 간에 데이터를 공유할 수 있습니다. 이 방식을 활용하면 거의 모든 퍼블릭 또는 프라이빗 클라우드 서비스가 API를 통해 액세스할 수 있는 휴대용 데이터 저장소를 갖게 됩니다.

“데브옵스 프로세스에 여전히 사일로가 존재합니다.”

데브옵스의 본질은 제품 개발 속도를 높이기 위해 사일로를 없애는 것입니다. 그중 상당 부분은 셀프 서비스 기능을 채택하여 달성할 수 있습니다.

2020 데브옵스 현황(2020 State of DevOps Report, 영문자료) 보고서에 따르면, 고도로 진화한 데브옵스 팀에게 가장 인기 있는 셀프 서비스 기능은 CI/CD 워크플로우, 퍼블릭 클라우드 인프라 및 데이터베이스 프로비저닝입니다. 단순히 프로세스를 따르기만 하는 팀의 경우 데이터베이스에 대한 셀프 서비스를 많이 이용하지 않습니다. 즉, 진화된 데브옵스 팀은 필요할 때 필요한 것을 프로비저닝하기 위해 데이터베이스 관리 측면에서 셀프 서비스를 확대하고 있으며, 데이터베이스 프로비저닝을 셀프 서비스 방식으로 만들려면 스토리지가 간소화되어야 합니다.

데브옵스 효율성과 관련된 또 다른 주요 과제는 밀접하게 결합된 애플리케이션 아키텍처입니다. 복잡한 종속성과 사일로화된 데이터 스토리지, 공급업체에 종속되는 제한적인 SLA로 인해 팀이 방해를 받을 수 있습니다. 특별한 용도를 위해 구축된 레거시 스토리지를 사용하여 모듈식의 민첩성을 확보하려는 경우 문제가 발생하게 될 것입니다.

개발 속도를 높이고 팀이 자체 속도에 맞춰 실험하고 작업할 수 있도록 하는 더 나은 방법이 있습니다. 가용성이 높으며 거의 모든 사람이 운영할 수 있을 만큼 간단한 클라우드 네이티브 통합 데이터 허브로 데이터 스토리지를 표준화하고 워크플로우를 지원하는 것입니다.

“미션 크리티컬 앱에 더 빠른 오브젝트 스토리지가 필요합니다.”

AI 애플리케이션을 위해 대량의 비정형 데이터를 처리하거나 사물인터넷(IoT) 기기 전체에 걸쳐 여러 데이터 소스에서 인사이트를 도출하는 최신 앱에는 최신 데이터 솔루션이 필요합니다. 오브젝트 스토리지는 더 이상 아카이브 데이터나 미션 크리티컬하지 않은 데이터에만 사용되는 스토리지가 아닙니다. 따라서 오브젝트에 직접, 신속하게 액세스할 수 있는 고성능 앱을 구축해야 합니다.

퍼블릭 클라우드 기반 오브젝트 스토리지에서 앱에 필요한 성능을 내기 위해 애쓰고 있다면 성능을 높이기 위해 오브젝트 스토리지를 온-프레미스로 다시 이동하는 것을 고려했을 수도 있습니다. 이 때 성능을 얻는 대신 호환성과 이동성을 잃지 않도록 주의하세요. 초고속 통합 파일 및 오브젝트 스토리지(영문자료)가 없다면 호환성과 이동성을 잃게 될 수 있습니다.

“복사/복제 프로세스가 너무 느려 통합을 위한 데이터를 가져올 수 없습니다.”

복사/복제 프로세스가 지연되면 데브옵스 테스트 워크플로우에 중요한 지속적 통합(CI) 파이프라인에 데이터를 활용하는 것이 어려울 수 있습니다. 복사/복제 프로세스를 실행하는 데 일주일 이상이 소요된다면 환경 변화에 대응할 수 없습니다.

자동화된 테스트 환경에 AWS 또는 Azure를 활용하시나요? 기업은 대개 스토리지 플랫폼이 위치에 상관없이 복제본을 즉시 생성하여 기업과 팀의 귀중한 시간과 리소스를 절약할 수 있기를 원할 것입니다.

또한, 빠르게 이동하는 데이터 복제 프로세스가 필요한 경우 스택의 스토리지를 확인해 보세요. 복제자동화도구(CAT)가 포함된 최신 플래시 스토리지를 사용하면 TB 수준의 공간을 차지하지 않고도 몇 분 만에 운영 데이터베이스를 복제하고 자동화된 테스트 환경을 위해 복제를 프로비저닝(영문자료)하는 방법을 간소화할 수 있습니다.

“샌드박스에 백업을 사용할 수 있지만 너무 많은 리소스가 사용됩니다.”

데이터세트의 백업 및 스냅샷은 특히 앱 개발자에게 금광과 같은 존재가 될 수 있습니다. 라이브에 가까운 운영 환경의 샌드박스로 무엇을 할 수 있는지 생각해 보세요. 위험이 없는 플래그 기능을 활용하고, 보다 정확하게 테스트를 실행하며, 스테이징 환경의 제한 없이 실험을 해볼 수 있습니다.

그러나 기존 백업 솔루션은 빠르게 이동하고 반복 루프가 촘촘한 데브옵스 시나리오에는 적합하지 않습니다. 대개 기존 백업은 많은 공간을 필요로 하기 때문에 실용적이지 않습니다. 이 또한 스토리지 문제이며, 최신 백업 어플라이언스로 해결할 수 있습니다.

현대적 백업이 어떻게 혁신의 금광이 있는지 자세히 알아보세요

“데이터 액세스 문제로 인해 SLA를 준수하지 못했습니다.”

기업과 고객 간의 또는 내부적으로 팀 간의 SLA는 반드시 준수해야 하는 계약입니다. 데이터에 액세스할 수 없는 경우 그로 인한 서비스 중단은 SLA 미준수와 후속 불이익을 의미할 수 있습니다. 예를 들어 SLA에서 99.9999%의 업타임과 가용성을 약속한다면, 이를 측정하고 지원할 수 있어야 합니다. 데이터와 관련해서는 매번 해당 SLA를 이행할 수 있을 만큼 견고하고 빠른 스토리지 솔루션을 보유해야 한다는 의미입니다.

스토리지에 병목 현상이 발생하고 온디맨드 방식으로 데이터에 액세스할 수 없는 경우 문제가 됩니다. 신속한 복구는 다운타임을 방지하는 데 중요하며, 신속한 복구를 위해서는 운영 환경 수준의 백업을 제공할 수 있는 스토리지 솔루션이 필요합니다.

결론적으로 앱을 현대화하려면 데이터베이스 기술 스택을 현대화해야 합니다. IDC 산업 애널리스트에 따르면, 기업의 65%(영문자료)가 2023년까지 레거시 시스템을 현대화하기를 원한다고 합니다. 이는 오픈 소스 소프트웨어, 퍼블릭 클라우드, 자동화, 가상화, 서비스형 컨테이너 등 앱 가속화를 위한 발전된 기술을 도입한다는 것을 의미합니다. 이런 유형의 최신 기술을 도입할 경우 레거시 스토리지로는 부하를 감당할 수 없습니다.

이러한 시나리오 중 어느 것이라도 현재의 상황과 비슷하다고 생각된다면, 다음 사항을 기억하세요. 스토리지에 대해 미처 알지 못하는 사실이 문제를 일으킬 수 있으며, 이로 인해 팀과 앱, 혁신이 방해 받을 수 있습니다. 따라서 스토리지를 다시 돌아봐야 합니다. 새로운 스토리지 솔루션을 도입하면 앞으로 이러한 문제를 해결할 뿐만 아니라 혁신을 실현할 수 있습니다.