Lithops 프레임워크로 작업 실행

Lithops는 Python 애플리케이션을 대규모로 스케일링하기 위해 설계된 오픈 소스 프레임워크입니다. Lithops는 Python 코드에 집중할 수 있도록 IBM Cloud® Code Engine 경험에 대한 단순 푸시를 제공하지만, Lithops는 실행 모니터링, 결과 얻기 등을 수행하는 동안 대규모의 스케일 시 코드의 배치에 집중합니다. Lithops는 Lithops API를 사용하여 코드 엔진과의 네이티브 Python 통합이 가능하도록 합니다. 리톱스에 대한 자세한 내용은 리톱스 빠른 시작 가이드를 참조하세요.

Lithops 프레임워크를 사용하여 첫 번째 플로우 실행

Lithops 프레임워크를 참조하는 작업을 실행하려면 먼저 Lithops를 설치하고 스토리지 백엔드를 설정해야 합니다.

시작하기 전에

Lithops 설치

  1. Lithops를 설치하십시오.

  2. Lithops 구성 파일을 작성하십시오.

  3. Docker(커뮤니티 에디션)버전을 설치하십시오.

  4. Docker에 로그인하십시오.

    docker login
    

Lithops의 스토리지 백엔드 설정

지원되는 스토리지 백엔드(예: IBM Cloud Object Storage)를 선택하십시오.

IBM Cloud Object Storage를 설정하려면 다음을 수행하십시오.

  1. IBM Cloud Object Storage 계정을 작성하십시오.
  2. 사용할 지역의 버킷을 작성하십시오.
  3. 측면 탐색에서 엔드포인트를 클릭하여 API 엔드포인트를 찾으십시오. 버킷을 작성한 지역의 공용 및 사설 엔드포인트를 모두 복사해야 합니다.
  4. IBM Cloud Object Storage 계정에 액세스하는 데 필요한 인증 정보를 작성하십시오. 한 개의 옵션을 선택하십시오.

Lithops의 옵션 1(API 키)

  1. IBM Cloud Object Storage 탐색에서 서비스 인증 정보를 클릭하십시오.

  2. **새 인증 정보 +**를 클릭한 후 이름을 제공하고 역할을 선택하십시오.

  3. 추가를 클릭하여 서비스 인증 정보를 생성하십시오.

  4. 인증 정보 보기를 클릭하고 apikey 값을 복사하십시오.

  5. lithops 구성 파일을 편집하고 다음 키를 추가하십시오.

    lithops:
        storage_backend: ibm_cos
    
    ibm_cos:
        endpoint   : <REGION_ENDPOINT>  
        private_endpoint : <PRIVATE_REGION_ENDPOINT>
        api_key    : <API_KEY>
    

Lithops의 옵션 2(IBM Cloud Object Storage HMAC 인증 정보)

  1. IBM Cloud Object Storage 탐색에서 서비스 인증 정보를 클릭하십시오.

  2. **새 인증 정보 +**를 클릭한 후 이름을 제공하고 역할을 선택하십시오.

  3. 고급 옵션을 클릭하고 Include HMAC Credential 옵션을 사용으로 설정하십시오.

  4. 추가를 클릭하여 서비스 인증 정보를 생성하십시오.

  5. 인증 정보 보기를 클릭하고 access_key_idsecret_access_key 값을 복사하십시오.

  6. lithops 구성 파일을 편집하고 다음 키를 추가하십시오.

    lithops:
        storage_backend: ibm_cos
    
    ibm_cos:
        endpoint   : <REGION_ENDPOINT>  
        private_endpoint : <PRIVATE_REGION_ENDPOINT>
        access_key    : <ACCESS_KEY_ID>
        secret_key    : <SECRET_KEY_ID>
    

Lithops의 옵션 3(IBM IAM API 키)

  1. IAM API 키가 없으면 IBM IAM 대시보드로 이동하십시오.

  2. IBM Cloud API 키 작성을 클릭하십시오. API 키에 대한 이름과 선택적 설명을 입력하고 작성을 클릭하십시오.

  3. 생성된 IAM API 키를 복사하십시오(키를 작성하는 경우에만 볼 수 있으므로 복사해야 함).

  4. lithops 구성 파일을 편집하고 다음 키를 추가하십시오.

    lithops:
        storage_backend: ibm_cos
    
    ibm:
        iam_api_key: <IAM_API_KEY>
    
    ibm_cos:
        endpoint   : <REGION_ENDPOINT>  
        private_endpoint : <PRIVATE_REGION_ENDPOINT>
    

Lithops를 사용하여 첫 번째 Code Engine 작업 배치

다음 hello world 예제를 실행하십시오.

import lithops

iterdata = [1,2,3,4,5]

def my_map_function(data):
    return data + 1

if __name__ == '__main__':
    pw = lithops.function_executor(type = "serverless", backend='code_engine')
    futures = pw.map(my_map_function, iterdata)
    print (pw.get_result())
    pw.clean()

Lithops의 다음 단계

Lithops 프로젝트 페이지에서 더 많은 예제와 사용 사례를 확인하고 질문할 수 있습니다.