로그인 / 등록 Account

클라우드 네이티브

클라우드 애플리케이션이란?

Jump to section

클라우드 애플리케이션은 사용자가 주로 인터넷을 통해 액세스하는 소프트웨어로, 이러한 애플리케이션의 일부는 사용자의 로컬 컴퓨터에서가 아닌 서버에서 관리됩니다. 클라우드 네이티브 애플리케이션 개발 전략은 팀이 (프론트엔드 사용자 및 백엔드 운영팀을 위해) 물리, 가상 또는 클라우드 기반IT 인프라 전반에서 일관된 환경으로 애플리케이션을 설계하도록 도와줍니다.

간략한 역사 소개 (및 미래 전망)

하지만 이 기본 정의는 클라우드 애플리케이션이 시장 및 비즈니스 모델을 변경하는 방식을 모두 설명하지 못합니다. 잘 설계된 클라우드 애플리케이션은 로컬 컴퓨터에 완전히 설치된 프로그램처럼 실행되면서 적은 리소스 요구량, 보다 편리한 업데이트, 다양한 장치에서 기능 사용과 같은 장점이 있는 사용자 환경을 제공할 수 있습니다.

새로운 클라우드 애플리케이션은 주요 수익원이 될 수 있으며, 시장 및 비즈니스 모델의 와해적 기술 전환을 초래할 수 있습니다. Gartner의 예측에 따르면 전 세계 클라우드 서비스의 2020년 매출은 1,105억 달러에 달하며 2022년에는 1,437억 달러로 증가할 것이라고 합니다.

클라우드 애플리케이션을 사용하고자 할 경우 자체 아키텍처에 클라우드 애플리케이션을 통합하여 팀을 지원하거나, 내부 직원 또는 고객용으로 사용할 독자적인 클라우드 애플리케이션을 개발할 수 있습니다.

기존 아키텍처에 타사 클라우드 애플리케이션 통합

예를 들어 Salesforce는 자체 서버에 자체 시스템을 설정하지 않고 사용할 수 있는 고객 관리용 클라우드 애플리케이션입니다. Red Hat에도 Salesforce 통합 사례가 있습니다.

Salesforce와 같은 클라우드 애플리케이션을 서비스로서의 소프트웨어(Software-as-a-Service, SaaS)라고 하며, 기존 시스템에 유용한 툴과 서비스를 연결할 수 있는 다양한 기회를 제공하지만 기존 아키텍처와의 통합 방법을 고려해야 합니다.

자체 클라우드 애플리케이션 개발

클라우드 애플리케이션 개발을 통해 신규 고객을 창출하거나 내부용 시스템을 개선할 수 있습니다. 예를 들어 Ally Financial은 컨테이너화된 하이브리드 클라우드 플랫폼을 생성하여 개발 속도를 가속화했으며, UPS는 자체적인 애플리케이션 플랫폼을 생성하여 물류 팀의 데이터 액세스를 개선했습니다. 궁극적으로는 둘 다 내부 플랫폼 생성을 통해 최종 고객 환경을 개선했습니다.

클라우드 애플리케이션에서 수행하려는 작업이 무엇이든, 클라우드 네이티브 방식의 애플리케이션 개발을 활용하면 도움이 됩니다.

다양한 클라우드 애플리케이션 설계

더 구체적으로 말하자면, 클라우드 애플리케이션은 서로 다른 두 시스템(클라이언트 측과 서버 측) 간에 처리 논리와 데이터 스토리지를 실행하는 소프트웨어입니다. 일부 처리는 데스크탑이나 모바일 장치와 같은 최종 사용자의 로컬 하드웨어에서 수행되고, 다른 처리는 원격 서버에서 수행됩니다. 일반적으로 클라우드 애플리케이션의 이점 중 하나는 대부분의 데이터 스토리지가 원격 서버에 존재한다는 것입니다. 실제로 일부 클라우드 애플리케이션은 로컬 기기의 스토리지 공간을 거의 사용하지 않도록 빌드할 수도 있습니다. 사용자는 웹 브라우저 또는 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API)를 통해 클라우드 애플리케이션과 상호 작용합니다. 이것이 클라우드 애플리케이션의 기본 원칙이지만, 클라우드 측과 서버 측 간에 처리되는 정확한 사항 및 사용자 환경의 변경 방식은 몇 가지 다른 형태로 제공됩니다.

서비스로서의 소프트웨어(Software-as-a-Service, SaaS)

서비스로서의 소프트웨어(SaaS)는 웹 애플리케이션과 기본 IT 인프라 및 플랫폼을 사용자에게 제공하는 널리 사용되는 클라우드 컴퓨팅 형태입니다. 다음과 같은 비즈니스나 개인에게는 SaaS가 적합한 솔루션일 수 있습니다.

  • 인프라, 플랫폼, 소프트웨어 유지관리 책임을 맡고 싶지 않은 경우
  • 문제 해결을 위해 최소한의 사용자 정의가 필요한 과제가 있는 경우
  • 소프트웨어 서브스크립션 모델을 선호하는 경우

SaaS를 사용하면 소프트웨어를 영구 구매하거나 강력한 온프레미스 IT 인프라에 투자할 필요가 없어 사용자의 초기 비용이 줄어듭니다. 단, 서비스 성능이 인터넷 연결 속도에 좌우되므로 사용자가 빠른 네트워크 하드웨어에 투자해야 합니다.

SaaS의 예로는 Google Docs, Microsoft Office 365와 같은 소비자 대상 서비스와 인사 관리 소프트웨어, 콘텐츠 관리 시스템, 고객 관계 관리 툴, 일부 IDE(통합 개발 환경)를 제공하는 엔터프라이즈 서비스가 있습니다.

서비스로서의 플랫폼(Platform-as-a-Service, PaaS)

애플리케이션을 실행하는 데 필요한 인프라나 환경을 빌드 및 유지관리하지 않고도 서비스로서의 플랫폼(PaaS)에서 제공하는 플랫폼을 통해 고유한 애플리케이션을 개발, 실행 및 관리할 수 있습니다. PaaS가 외부 서비스 공급업체의 사용자에게 하드웨어와 애플리케이션-소프트웨어 플랫폼을 제공하기 때문입니다. 즉, 플랫폼에 '실제로 존재'하는 애플리케이션과 데이터를 사용자가 제어하므로 PaaS는 개발자와 프로그래머에게 이상적인 솔루션입니다. 예를 들어 개발자는 PaaS를 기반으로 사용하여 회사에서 이미 사용 중인 기존 Oracle 데이터베이스와 통합되는 새 애플리케이션을 생성할 수 있습니다.

서비스로서의 인프라(Infrastructure-as-a-Service, IaaS)

서비스로서의 인프라(IaaS)는 공급업체가 퍼블릭 클라우드 또는 프라이빗 클라우드를 통해 사용자 인프라(실제 서버, 네트워크, 가상화 및 스토리지)를 관리하는 것입니다. 사용자는 API 또는 대시보드를 통해 인프라에 액세스하며, 인프라를 대여합니다. AWS 또는 Microsoft Azure와 같은 공급업체가 하드웨어, 네트워킹, 하드 드라이브, 스토리지, 서버를 제공하고 작동 중단, 복구 및 하드웨어 문제를 해결하며 사용자는 운영 체제, 애플리케이션, 미들웨어 등을 관리합니다.

클라우드 애플리케이션의 더 큰 가능성을 살펴보세요.