주요 콘텐츠로 건너뛰기

Leapcell Service란 무엇인가?

Leapcell Service는 서버 관리 없이 코드를 실행할 수 있도록 설계된 완전 관리형 서버리스 플랫폼입니다.

Leapcell이 인프라, 확장 및 유지 관리를 처리하는 동안 코드를 작성하는 데 집중할 수 있습니다.

data

서버리스 모드​

Leapcell 서버리스 서비스는 완전한 서버리스 경험을 제공하는 12 Factor 방법론을 준수하는 호스팅 플랫폼입니다.

다음은 서비스의 아키텍처 개요입니다.

Serverless Cost

개념​

CPU, 메모리 및 네트워크​

Leapcell Service는 선택한 메모리 크기를 기반으로 CPU 및 네트워크 리소스를 동적으로 할당합니다. 메모리 크기를 조정하여 성능과 비용을 모두 최적화할 수 있습니다. 청구는 컴퓨팅 시간의 밀리초당 계산됩니다.

팁

더 작은 메모리 크기가 항상 저렴한 것은 아닙니다. 예를 들어:

  • 128MB 메모리를 가진 서비스가 완료하는 데 1초가 걸립니다.
  • 1024MB 메모리를 가진 동일한 서비스가 완료하는 데 0.1초가 걸립니다.

비용은 동일하게 유지되지만 더 높은 메모리 구성은 더 빠른 실행과 더 나은 네트워크 대역폭을 제공합니다. 예를 들어:

  • 300MB 구성은 50ms 이내에 Leapcell Table을 호출할 수 있는 반면, 128MB 구성은 더 낮은 CPU 및 네트워크 리소스로 인해 100ms가 걸릴 수 있습니다.
Configured Memory (MB)Allocated Cores
128–17691
1770–35382
3539–53073
5308–70764
MemoryCPU Cap
192 MB10.8%
256 MB14.1%

스토리지​

Leapcell Service는 제한된 쓰기 가능한 스토리지를 제공합니다.

  • /tmp 디렉터리만 쓰기 가능하며 임시 파일을 위한 것입니다.
  • 다른 디렉터리는 읽기 전용입니다. 쓰기를 시도하면 권한 오류가 발생합니다.
주의

/tmp에 중요한 데이터를 저장하지 마십시오. 이 디렉터리는 비영구적입니다. 서비스가 다시 시작되면 내용이 손실됩니다. 안정적인 스토리지를 위해 Leapcell Redis와 같은 영구 스토리지 서비스를 사용하십시오.

환경 변수​

데이터베이스 자격 증명과 같은 중요한 정보는 환경 변수를 통해 관리해야 합니다.

  • 이러한 변수는 암호화되어 있으며 비공개입니다.
  • Service > Environment 섹션을 통해 구성합니다. 변경 사항은 서비스를 다시 시작하지 않고 자동으로 적용됩니다.

패키징 및 배포​

패키징은 코드와 종속성을 이미지로 묶어 자동으로 배포됩니다.

패키징을 위한 작업자 리소스​

PlanResources
Hobby2 vCPUs, 4GB RAM
Pro4 vCPUs, 10GB RAM

배포 단계​

  1. 수동 배포

    • 서비스 페이지에서 Manual Deploy를 클릭합니다.
    • 아래 설명된 대로 필수 필드를 작성합니다.
  2. 구성 세부 정보

    • Runtime: Python, Node.js, Go 또는 Rust와 같은 지원되는 런타임에서 선택합니다.
    • Build Command: 종속성을 설치하는 명령을 지정합니다. 예:
      • Python: pip install requests
      • Web App: pip install -r requirements.txt
      • AI App:
        apt-get update && apt-get install -y libsm6 libxext6 libxrender-dev
        pip install tensorflow pillow
    • Start Command: 서비스를 시작하는 명령을 제공합니다. 최소 콜드 스타트 시간에 최적화되어 있는지 확인하십시오. 예:
      • Flask: gunicorn -w 1 -b :8080 app:app
      • Express.js: node app.js
    • Serving Port: 서비스가 수신하는 포트입니다(기본값: 8080). Start Command의 포트와 일치하는지 확인하십시오.
    • Environment Variables: 배포에 특정된 추가 변수를 추가합니다.
  3. 배포 Deploy 버튼을 클릭하여 서비스 패키징 및 배포를 시작합니다.


배포 문제 디버깅​

  • 빌드 실패: 실시간 로그에 대한 Deployment Information을 확인하고 출력을 기반으로 문제를 해결합니다.

  • 시작 실패: 서비스가 성공적으로 배포되었지만 응답하지 못하는 경우 디버깅 팁은 Observability 섹션을 참조하십시오.


영구 서버 모드​

Persistent Server

영구 모드는 로컬 머신 또는 기존 클라우드 서버와 마찬가지로 전용으로 지속적으로 실행되는 인스턴스를 제공합니다.

인바운드 요청 볼륨에 관계없이 항상 활성 상태로 유지되며 트래픽을 처리할 준비가 되어 있습니다. 이 모드는 시간당 또는 월별과 같은 고정된 시간 간격을 기준으로 청구됩니다.