주요 콘텐츠로 건너뛰기

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가 걸릴 수 있습니다.
구성된 메모리(MB)할당된 코어 수
128–17691
1770–35382
3539–53073
5308–70764
메모리CPU Cap
192 MB10.8%
256 MB14.1%

스토리지

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

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

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

환경 변수

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

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

패키징 및 배포

패키징은 코드와 종속성을 이미지로 번들링하고 이미지는 자동으로 배포됩니다.

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

플랜리소스
Hobby2 vCPU, 4GB RAM
Pro4 vCPU, 10GB RAM

배포 단계

  1. 수동 배포

    • 서비스 페이지에서 수동 배포를 클릭합니다.
    • 아래 설명된 대로 필요한 필드를 채웁니다.
  2. 구성 세부 정보

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


배포 문제 디버깅

  • 빌드 실패: 배포 정보에서 실시간 로그를 확인하고 출력을 기반으로 문제를 해결합니다.

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


영구 서버 모드

Persistent Server

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

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