모바일 애플리케이션에서 서버리스 아키텍처를 사용할 수 있을까요?

네이티브 모바일 애플리케이션처럼 작동하는 웹 애플리케이션인 하이브리드 모바일 애플리케이션은 서버리스 백엔드로 구축하여 확장성을 높이고 비용을 절감하며 모든 호스팅 위치에서 코드를 실행할 수 있습니다.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • 하이브리드 앱과 네이티브 앱의 차이점 알아보기
  • 서버리스 아키텍처로 하이브리드 앱을 구축하는 방법 알아보기
  • 서버리스 백엔드 사용의 이점 이해하기

글 링크 복사

모바일 애플리케이션에서 서버리스 아키텍처를 사용할 수 있을까요?

서버리스 아키텍처는 웹 애플리케이션뿐만 아니라 모바일 앱 구축에도 사용할 수 있습니다. 서버리스 백엔드가 있는 하이브리드 모바일 앱을 사용하면 개발자는 거의 모든 스마트폰이나 태블릿에서 네이티브 앱처럼 작동하는 앱을 출시하면서 서버리스 컴퓨팅의 이점을 통합할 수 있습니다. 서버리스 모바일 앱은 사용자 기반이 증가함에 따라 빠르고 쉽게 확장할 수 있습니다.

서버리스 백엔드가 있는 모바일 앱 다이어그램

하이브리드 모바일 앱이란?

하이브리드 모바일 앱과 기본 모바일 앱은 모양도 같고, 인테리어도 같고, 운전 방식도 거의 같지만 후드 아래 엔진이 매우 다른 두 대의 자동차와 같습니다. 네이티브 앱은 특정 종류의 장치 및 운영 체제를 위해 특별히 제작되며, 해당 로직은 장치 자체에서 실행됩니다.

하이브리드 앱은 다양한 장치에서 네이티브 모바일 앱처럼 작동할 수 있도록 '네이티브 래퍼'라고 하는 것 내에서 실행되는 HTML, CSS, JavaScript를 사용하여 구축된 웹 애플리케이션입니다. 일반 웹 애플리케이션과 달리 하이브리드 앱은 장치 하드웨어 및 특정 유형의 장치 전용 푸시 알림 기능 등 플랫폼별 기능에 액세스할 수 있습니다. 이러한 하이브리드 앱은 App Store 또는 Google Play에서 다운로드할 수 있으며 기본 앱처럼 설치되지만, 로직의 대부분 또는 전부가 클라우드에서 호스팅되므로 다운로드 및 설치해야 하는 항목이 훨씬 적은 경우가 많습니다.

하이브리드 앱은 최근 몇 년 동안 성능에 대한 우려가 기술적 개선으로 해결되면서 점점 더 인기를 얻고 있습니다. 예를 들어 Uber, Instagram, Twitter는 모두 하이브리드 앱입니다. 개발자는 네이티브 모바일 애플리케이션을 구축하는 대신 하이브리드 아키텍처를 사용하는 것을 선호하기도 하는데, 이는 애플리케이션을 여러 장치에 맞게 여러 플랫폼별 언어로 다시 빌드할 필요가 없기 때문입니다. 당연히 여러 장치에서 작동하는 하나의 앱을 구축하면 일반적으로 개발과 지속적인 제품 지원 등 모든 면에서 시간을 절약할 수 있습니다.

서버리스 백엔드가 있는 모바일 애플리케이션은 어떻게 작동할까요?

하이브리드 모바일 앱에서는 컴퓨팅이 장치가 아닌 클라우드에서 이루어집니다. 앱의 모든 클라우드 호스팅 컴퓨팅 프로세스는 서버리스 웹 애플리케이션과 마찬가지로 서버리스일 수 있으며, 서버리스 웹 앱과 서버리스 하이브리드 모바일 앱의 유일한 주요 차이점은 프런트엔드의 네이티브 래퍼* 입니다.

서버리스 웹 애플리케이션과 마찬가지로 앱 코드는 모든 백엔드 관리를 처리하는 서버리스 벤더에서 호스팅합니다. 이 애플리케이션은 함수라는 작은 조각으로 나뉘며, 함수는 특정 서버에 상주하지 않습니다. 각 함수는 트리거 이벤트에 대한 응답으로 실행되며, 벤더의 인프라는 필요에 따라 함수의 새 인스턴스를 시작합니다. 예를 들어, 사용자가 서버리스 백엔드가 있는 앱에서 '구매' 버튼을 탭하면 백엔드 기능 또는 일련의 기능이 트리거되어 트랜잭션이 기록되고 사용자가 구매한 항목의 배송이 시작될 수 있습니다.

서버리스 백엔드로 모바일 앱을 구축하면 어떤 이점이 있을까요?

서버리스 모바일 앱은 서버리스 백엔드를 사용하여 일반적인 웹 애플리케이션을 구축하는 것과 동일한 이점을 제공합니다.

  • 확장성: 서버리스 앱은 자동으로 확장 가능합니다
  • 오버헤드 감소: 벤더가 전체 백엔드를 관리합니다
  • 빠른 업데이트: 개발자는 전체 애플리케이션을 한 번에 업데이트하는 대신 한 번에 하나씩 기능을 업데이트할 수 있으며, 사용자가 업데이트를 설치할 때까지 기다릴 필요가 없습니다
  • 종량제: 개발자는 애플리케이션이 사용하는 컴퓨팅 성능에 대해서만 비용을 지불하므로 지속적인 비용을 절감할 수 있습니다
  • 어디서나 코드 실행: 대기 시간을 줄이기 위해 에지 네트워크에서 코드를 실행할 수 있습니다

JavaScript를 사용하여 구축된 서버리스 애플리케이션에 대해 자세히 알아보려면 서버리스 JavaScript는 어떻게 작동할까요?

*네이티브 래퍼는 어떻게 작동할까요?

하이브리드 앱은 장치의 WebView를 활용하여 기본 앱처럼 작동할 수 있습니다. WebView는 브라우저처럼 애플리케이션을 표시하는 장치 내부 브라우저로, 개발자에게 일반 브라우저보다 더 유연하게 앱의 모양을 사용자 지정하는 기능을 제공합니다. 또한 대부분의 WebView는 애플리케이션이 API를 통해 장치의 하드웨어 기능에 액세스할 수 있도록 지원합니다.

예를 들어, 사용자가 Instagram을 열면 해당 앱은 장치에서 실행 중인 기본 앱처럼 느껴집니다. 하지만 실제로는 장치의 WebView가 Instagram에서 생성한 웹 페이지를 렌더링하고 있습니다. 사용자가 앱을 처음 열었을 때 표시되는 이미지 피드는 웹 페이지이며, 이후 방문하는 모든 페이지는 웹 페이지이지만, 기본 애플리케이션의 일부인 것처럼 느껴집니다. 또한 Instagram은 기본 앱이 아니더라도 장치의 카메라와 저장된 사진에 액세스할 수 있으며 푸시 알림을 보낼 수 있습니다.