Skip to Content
가이드

모던 앱이란? 확실한 가이드

최신 앱은 애자일 및 DevOps스 모범 사례를 갖춘 컨테이너와 같은 클라우드 네이티브 기술을 활용하여 이동성, 안정성 및 민첩성을 대규모로 제공합니다.

Containers란?

현대적인 앱은 최적의 사용자 경험을 제공하기 위해 최신 기술, 개발 방법론 및 모범 사례를 통해 구축 및 배포되는 모든 애플리케이션입니다. 오늘날의 현대적인 애플리케이션은 클라우드 네이티브입니다. 단단히 결합된 모놀리식 애플리케이션이 아닌 API를 통해 서로 통신하는 마이크로서비스로 설계되었습니다. 이러한 마이크로서비스 기반 애플리케이션은 일반적으로 컨테이너 및 Kubernetes 같은 클라우드 네이티브 기술을 활용합니다.

현대적인 애플리케이션은 민첩성, 확장성, 휴대성 및 안정성을 염두에 두고 구축되었습니다.

모놀리식이 아닌 마이크로서비스로 확장 가능하고 재사용 가능하며 사용하기 쉽습니다.

민첩한 개발 방법론과 DevOps스 모범 사례에 따라 구축되는 경우가 많으며, CI/CD(지속적 통합 및 제공) 파이프라인 전반에 걸친 자동화에 중점을 둡니다.

그렇다면 오늘날의 기술 측면에서는 어떤 모습일까요? 이 가이드에서는 앱을 현대적으로 만드는 다양한 기능에 대해 자세히 살펴보겠습니다.

자세히 알아보기: 현대적인 앱 개발이 해명되었습니다.

관련 콘텐츠

지식 문서
현대적 앱이 Total Cost of Ownership 방법

Containers의 장점은 무엇일까요?

애플리케이션 개발에 대한 기존의 접근 방식에서 애플리케이션은 단 하나의 긴밀하게 통합된 코드 베이스로 구축됩니다. 반면, 마이크로서비스 아키텍처에는 느슨하게 결합된 서비스 모음으로 앱을 설계하는 것이 포함됩니다.

이러한 개발 접근법에는 다음과 같은 많은 장점이 있습니다.

  • 매우 테스트 가능한 코드
  • 디버그, 유지보수 및 업데이트가 더 쉬워짐
  • 스토리지 및 컴퓨팅 리소스 프로비저닝에 대한 세분화된 제어
  • 장애 격리를 개선하여 애플리케이션 복원성 향상
  • 이동 및 독립적으로 배포 가능. 컨테이너와 같은 가상화 기술을 통해 소프트웨어 및 하드웨어 환경에서 컴포넌트를 분리할 수 있습니다.

독립적으로 구축 가능한 모듈식 서비스 모음을 다루고 있기 때문에, 다른 서비스들을 중단시키지 않고 하나의 서비스에서 작업할 수 있습니다. 서비스 수준에서 구축, 테스트, 배포, 유지보수 및 업그레이드할 수 있어 개발 시간이 크게 단축됩니다.

Containers 있을까요?

microservices 통해 개발자는 컨테이너 및 가상머신과 같은 가상화 기술의 잠재력을 최대한 활용할 수 있습니다. 다음과 같은 핵심 가상화 기술을 살펴보겠습니다.

  • 가상머신(VM): 하드웨어 수준(OS 및 하드웨어 포함)에서 가상화를 지원합니다. 하이퍼바이저를 사용하면 단일 서버가 서로 다른 Operating System 종속성을 가진 여러 앱을 실행할 수 있습니다.
  • Containers: 소프트웨어 수준에서 가상화를 지원합니다(호스트 OS 커널에 따라 다름). 바이너리, 라이브러리 및 구성 파일을 포함한 모든 코드와 종속성을 포함하는 표준화된 소프트웨어 단위는 서비스를 실행하기 위해 필요합니다.
  • 가상 볼륨(vVols 분리된 데이터 저장소입니다. 컨테이너화된 애플리케이션은 컨테이너화된 스토리지의 이점을 크게 누릴 수 있습니다. vVols 컨테이너화된 마이크로서비스에 1:1로 매핑하여 중앙 데이터베이스의 병목 현상을 방지할 수 있습니다.

가상화는 마이크로서비스에 부여된 격리 정도에 대한 세부 정보를 제공함으로써 현대적인 애플리케이션 개발을 위한 마이크로서비스 아키텍처의 이점을 향상시킬 수 있습니다.

가상 머신을 활용하여 동일한 머신에서 서로 다른 OS 종속성을 가진 서비스를 실행할 수 있습니다. 또는 컨테이너와 vVols 사용하여 단일 시스템에서 실행할 수 있는 서비스 수를 크게 늘릴 수 있습니다.

가장 중요한 것은 가상화를 통해 마이크로서비스와 리소스의 프로비저닝 및 배포를 자동으로 쉽게 확장할 수 있다는 점입니다.

가상머신과 컨테이너의 장단점에 대해 자세히 알아보세요.

Containers 및 데이터 스토리지

스테이트리스 컨테이너와 서버리스 아키텍처를 페어링해야 하는 이유를 이해하려면 다음과 같은 몇 가지 용어를 정의해야 합니다.

  • 스테이트리스: 애플리케이션이 한 런타임에서 다음 런타임으로 상태에 대한 정보를 읽거나 저장하지 않으면 상태 비저장 상태가 됩니다(예: 계산기 앱은 다시 열 때 0으로 표시되며, 마지막으로 계산을 수행한 시간을 기억하지 못합니다).
  • 서버리스: 개발자가 서버 리소스 관리, 서버 관리 세부 정보 추출을 위해 클라우드 제공업체와 같은 제3자에 의존하는 경우, 애플리케이션은 서버리스입니다.

첫 번째 컨테이너는 필요할 때 존재하고, 작업을 수행하며, 사라져 REST 애플리케이션을 위한 리소스를 확보할 수 있었기 때문에 스테이트리스 컨테이너였습니다. 마찬가지로, 최신 앱은 컨테이너를 간단하게 유지하여 필요에 따라 컨테이너가 존재하도록 합니다.

서버리스 아키텍처와 결합하면 애플리케이션 개발자는 기본 인프라를 직접 관리하지 않고도 온디맨드로 리소스를 프로비저닝하는 기능을 호출할 수 있습니다. 스테이트리스 컨테이너와 서버리스 아키텍처를 결합하면 확장성이 뛰어난 애플리케이션의 개발이 크게 간소화됩니다. 이는 엣지 디바이스가 이벤트에 대응하여 지속적으로 데이터를 스트리밍하는 엣지 컴퓨팅 환경에 특히 적합합니다. 스테이트리스/서버리스 조합은 실시간 정보에 대응하여 앱이 빠르게 조정할 수 있도록 합니다.

즉, 애플리케이션이 복잡할수록 컨테이너화된 마이크로서비스를 위한 영구 스토리지가 필요할 가능성이 높습니다. 이러한 이유로 Portworx®와 같은 컨테이너 데이터 스토리지 솔루션 스테이트풀 컨테이너화된 앱에 대한 지속적인 스토리지 딜리버리를 간소화합니다. 애자일 데이터 스토어의 1:1 매핑은 확장성을 향상시키고 애플리케이션이 실행됨에 따라 상태를 보존할 수 있습니다.

컨테이너 오케스트레이션 및 컨테이너 관리란?

현대적인 앱은 클라우드 네이티브 앱입니다. 이를 지원하는 데 필요한 기반 인프라와 느슨하게 결합되어 AWSAmazon Web Services (AWS) Google Cloud 및 Microsoft Azure와 같은 클라우드 에코시스템의 모든 이점을 누릴 수 있습니다.

그렇다면 후드 아래에 앱 클라우드 네이티브가 존재하는 이유는 무엇일까요? 마이크로서비스 아키텍처와 가상화 기술 및 서버리스 컴퓨팅의 결합은 사용자 수요에 따라 현대적인 앱을 동적으로 프로비저닝할 수 있음을 의미합니다. 이러한 마이크로서비스 서비스 계층을 통해 관리되는 API를 통해 독립적으로 통신할 수 있습니다.

클라우드 네이티브 앱은 서비스형 Software as a Service Platform as a Service(PaaS) 및 서비스Infrastructure as a Service(IaaS)와 같은 클라우드 컴퓨팅 배포 모델을 최대한 활용합니다.SaaS 이러한 모델은 기존 CAPEX 지불 모델을 대체합니다. 기존 CAPEX 지불 모델은 리소스를 사용할 때 비용을 지불하는 OPEX 지불 모델과 함께 사용할 수도 있고 그렇지 않을 수도 있습니다.

클라우드 네이티브가 된다는 것이 무엇을 의미하는지 자세히 알아보세요.

도커란?

현대적인 앱과 레거시 앱의 큰 차이점은 개발 및 배포 철학에 있습니다.

기존의 앱 개발 방식에서는 선형적인 포괄적인 계획으로 시작하여 이를 고수합니다. 개발은 모든 애플리케이션을 프로덕션에 배포할 때까지 명확하게 정의된 단계를 통해 요구 사항을 수집합니다. 긴 소프트웨어 개발 수명 주기(SDLC)로 인해 개발자, 운영자, 이해관계자 및 최종 사용자 간의 통신이 어려워집니다. 코드 베이스는 모놀리식이며, 패치는 더 커지고, 버그 수정을 실행하거나, 새로운 기능을 추가하거나, 기본 기술을 업데이트하려는 시도는 서비스 중단이나 예상치 못한 부작용에 취약하여 문제를 해결하기 어려울 수 있습니다.

현대적인 앱 솔루션은? 애자일 및 DevOps스 모범 사례를 통해 모놀리식 시스템에서 마이크로서비스로 전환합니다.

민첩한 개발은 소프트웨어 개발에 반복적인 접근 방식을 취합니다. 마이크로서비스와 함께 사용하면 개발자가 여러 설계 반복을 통해 기능을 점진적으로 구축, 테스트 및 배포할 수 있습니다. SDLC는 단단히 유지되어 최종 사용자, 이해관계자 및 개발자 간의 더욱 긴밀한 커뮤니케이션 피드백 루프를 가능하게 합니다. 인기 있는 애자일 개발 방법론에는 스크럼, 익스트림 프로그래밍(XP) 및 테스트 기반 개발(TDD)이 포함됩니다.

DevOps스는 소프트웨어 개발 실무 및 문화로, 개발자와 운영 팀을 조직 내에서 긴밀하게 통합합니다. SDLC는 구성 관리, 자동화 및 실시간 모니터링을 통해 소프트웨어의 개발, 테스트 및 배포를 간소화하는 CI/CD 파이프라인으로 재구상됩니다.

최신 앱은 항상 가용성과 성능이 높을 것으로 예상됩니다. 모놀리식 패치, 업데이트 또는 버그로 인한 서비스 중단을 감당할 수 없습니다. 이러한 이유로, 현대적인 앱은 민첩한 개발 방법론과 DevOps스 모범 사례를 활용하여 빠르게 변화하는 디지털 환경에서 최신 상태를 유지하고 경쟁력을 확보합니다.

현대적인 앱으로 출시 시간을 단축하는 방법에 대해 자세히 알아보세요.

쿠버네티스란?

점점 더 디지털화되고 있는 세상에서 데이터 보호는 최우선 사항입니다. 최신 앱의 데이터 보호 이점은 다음과 같습니다.

  • 해커가 전체 시스템을 손상시키는 것을 어렵게 만드는 코드 격리 
  • 모듈식 아키텍처로 SDLC 전반에 걸쳐 더욱 엄격한 보안 테스트를 수행할 수 있습니다. 
  • 개발자와 사용자 간에 더 엄격한 피드백 루프를 보장하는 CI/CD 파이프라인을 통해  개발자는 취약점이 나타날 때 신속하게 패치할 수 있습니다.
  • 간소화된 Disaster Recovery—마이크로서비스 전체 애플리케이션의 중단 없이 독립적으로 백업 및 복구할 수 있습니다.
  • DevSecOps와 같은 향상된 보안 모범 사례

최신 앱은 최신 보안 위협에 대응할 수 있습니다. 개발 주기와 커뮤니케이션 피드백 루프가 까다로워지면서 개발자는 버그와 취약점을 악용하기 전에 식별하고 해결할 수 있습니다.

자세히 알아보기: 최신 앱의 데이터 보호 혜택

다음을 추천드립니다.

07/2023
퓨어스토리지 플래시어레이//X (FlashArray//X)
강력한 성능과 효율성으로 핵심 애플리케이션 가속화
데이터시트
5 pages

주요 유용한 자료 및 이벤트를 확인하세요

THOUGHT LEADERSHIP
혁신을 향한 레이스

스토리지 혁신의 최전선에 있는 업계 리더들의 최신 인사이트 및 관점을 확인하세요.

더 알아보기
동영상
동영상 시청: 엔터프라이즈 데이터 클라우드의 가치

찰스 쟌칼로(Charles Giancarlo) CEO가 전하는 스토리지가 아닌 데이터 관리가 미래인 이유 통합 접근 방식이 기업 IT 운영을 어떻게 혁신하는지 알아보세요

지금 시청하기
유용한 자료
레거시 스토리지는 미래를 지원할 수 없습니다.

현대적 워크로드에는 AI 지원 속도, 보안, 확장성이 필수입니다. 귀사의 IT 스택, 준비됐나요?

지금 확인하기
퓨어360(PURE260) 데모
퓨어스토리지를 직접 탐색하고, 배우고, 경험해보세요.

퓨어스토리지의 역량을 확인할 수 있는 온디맨드 비디오와 데모를 시청하세요.

데모영상 시청하기
지원하지 않는 브라우저입니다.

오래된 브라우저는 보안상 위험을 초래할 수 있습니다. 최상의 경험을 위해서는 다음과 같은 최신 브라우저로 업데이트하세요.