제퍼넷 로고

Amazon Redshift RSQL을 사용하는 데이터 웨어하우징 워크로드를 위한 일반 오케스트레이션 프레임워크

시간

수만 명의 고객이 비즈니스 크리티컬 워크로드를 아마존 레드 시프트, 최고의 가격 대비 성능을 제공하는 AWS의 빠른 페타바이트 규모 클라우드 데이터 웨어하우스입니다. Amazon Redshift를 사용하면 표준 SQL을 사용하여 데이터 웨어하우스, 운영 데이터 스토어 및 데이터 레이크에서 데이터를 쿼리할 수 있습니다. 다음과 같은 AWS 서비스를 통합할 수도 있습니다. 아마존 EMR, 아마존 아테나, 아마존 세이지 메이커, AWS 접착제, AWS Lake 형성아마존 키네 시스 AWS 클라우드의 모든 분석 기능을 활용합니다.

아마존 레드시프트 RSQL Amazon Redshift 클러스터 및 데이터베이스와 상호 작용하기 위한 기본 명령줄 클라이언트입니다. Amazon Redshift 클러스터에 연결하고, 데이터베이스 객체를 설명하고, 데이터를 쿼리하고, 쿼리 결과를 다양한 출력 형식으로 볼 수 있습니다. Amazon Redshift RSQL을 사용하여 Teradata BTEQ 스크립트와 같은 기존 추출, 변환, 로드(ETL) 및 자동화 스크립트를 대체할 수 있습니다. 셸 스크립트 내에서 Amazon Redshift RSQL 문을 래핑하여 온프레미스 시스템의 기존 기능을 복제할 수 있습니다. Amazon Redshift RSQL은 Linux, Windows 및 macOS 운영 체제에서 사용할 수 있습니다.

이 게시물에서는 다음을 사용하여 일반적인 구성 기반 오케스트레이션 프레임워크를 만드는 방법을 설명합니다. AWS 단계 함수, 아마존 엘라스틱 컴퓨트 클라우드 (아마존 EC2), AWS 람다, 아마존 DynamoDBAWS 시스템 관리자 RSQL 기반 ETL 워크로드를 오케스트레이션합니다. 레거시 데이터 웨어하우스 워크로드에서 Amazon Redshift로 마이그레이션하는 경우 이 방법을 사용하여 데이터 웨어하우징 워크로드를 오케스트레이션할 수 있습니다.

솔루션 개요

레거시 데이터 웨어하우스에서 Amazon Redshift로 마이그레이션하는 고객은 데이터베이스 자동화, ETL 또는 기타 작업을 위한 BTEQ(Basic Teradata Query) 스크립팅과 같은 독점 스크립트에 상당한 투자를 할 수 있습니다. 이제 다음을 사용할 수 있습니다. AWS 스키마 변환 도구 (AWS SCT) BTEQ 스크립트와 같은 독점 스크립트를 Amazon Redshift RSQL 스크립트로 자동 변환합니다. 변환된 스크립트는 변경 사항이 거의 또는 전혀 없이 Amazon Redshift에서 실행됩니다. 데이터베이스 스크립팅을 위한 새로운 옵션에 대해 알아보려면 다음을 참조하십시오. Amazon Redshift로의 데이터 웨어하우스 마이그레이션 가속화 – 4부.

이러한 마이그레이션 중에 현재 온프레미스 타사 오케스트레이션 도구를 클라우드 네이티브 프레임워크로 현대화하여 현재 오케스트레이션 기능을 복제하고 향상할 수도 있습니다. 데이터 웨어하우스 워크로드 오케스트레이션에는 작업 예약, 사전 조건이 충족되었는지 확인, RSQL에 포함된 비즈니스 로직 실행, 작업 상태 모니터링 및 오류가 있는 경우 경고가 포함됩니다.

이 솔루션을 사용하면 온프레미스 고객이 Step Functions, Lambda, DynamoDB 및 Systems Manager와 같은 AWS 서버리스 서비스를 사용하여 영구 EC2 인스턴스에 배포된 Amazon Redshift RSQL 작업을 실행하는 클라우드 네이티브 오케스트레이션 프레임워크로 마이그레이션할 수 있습니다. 그린필드 구현을 위한 솔루션을 배포할 수도 있습니다. 기능 요구 사항을 충족하는 것 외에도 이 솔루션은 실행되는 모든 ETL 및 ELT 프로세스에 대한 전체 감사, 로깅 및 모니터링을 제공합니다.

고가용성 및 복원력을 보장하기 위해 Auto Scaling 그룹의 일부인 여러 EC2 인스턴스를 다음과 함께 사용할 수 있습니다. 아마존 탄성 파일 시스템 (Amazon EFS) RSQL 작업을 배포하고 실행합니다. Auto Scaling 그룹을 사용하는 경우 부트스트랩 스크립트의 일부로 RSQL을 EC2 인스턴스에 설치할 수 있습니다. 다음을 사용하여 Amazon Redshift RSQL 스크립트를 EC2 인스턴스에 배포할 수도 있습니다. AWS 코드 파이프라인AWS 코드 배포. 자세한 내용은 Auto Scaling 그룹Walk Through California 프로그램, Amazon EFT 사용 설명서Amazon EC2 Auto Scaling과 CodeDeploy 통합.

다음 다이어그램은 오케스트레이션 프레임워크의 아키텍처를 보여줍니다.

아키텍처 다이어그램

프레임워크의 주요 구성 요소는 다음과 같습니다.

  1. 아마존 이벤트 브리지 ETL 워크플로 스케줄러로 사용되며 미리 설정된 일정에 따라 Lambda 함수를 트리거합니다.
  2. 이 함수는 RSQL 작업과 관련된 구성에 대해 DynamoDB 테이블을 쿼리하고 작업 상태, 실행 모드 및 해당 작업에 대한 다시 시작 정보를 쿼리합니다.
  3. 구성을 수신한 후 함수는 구성 세부 정보를 전달하여 Step Functions 상태 머신을 트리거합니다.
  4. Step Functions는 워크플로의 다양한 단계(예: 구성 반복, 실행 유형 확인 등) 실행을 시작합니다.
  5. Step Functions는 Systems Manager를 사용합니다. SendCommand RSQL 작업을 트리거하고 일시 중지 상태로 전환하는 API TaskToken. RSQL 스크립트는 EC2 인스턴스에 유지되며 셸 스크립트에 래핑됩니다. Systems Manager는 AWS-RunShellScript EC2 인스턴스에서 RSQL 작업을 실행하기 위한 SSM 문서.
  6. RSQL 작업은 Amazon Redshift 클러스터에서 ETL 및 ELT 작업을 수행합니다. 완료되면 호출하는 셸 스크립트에 성공/실패 코드 및 상태 메시지를 반환합니다.
  7. 셸 스크립트는 성공/실패 코드, 상태 메시지 및 callwait를 사용하여 사용자 지정 Python 모듈을 호출합니다. TaskToken Step Functions에서 수신했습니다. Python 모듈은 작업 감사 DynamoDB 감사 테이블에 RSQL 작업 상태를 기록하고 로그를 아마존 클라우드 워치 로그 그룹.
  8. 그런 다음 Python 모듈은 다음을 수행합니다. SendTaskSuccess or SendTaskFailure RSQL 작업 실행 상태를 기반으로 하는 API 호출입니다. RSQL 작업의 상태에 따라 Step Functions는 흐름을 재개하거나 실패와 함께 중지합니다.
  9. Step Functions는 DynamoDB 워크플로 감사 테이블에 워크플로 상태(성공 또는 실패)를 기록합니다.

사전 조건

다음과 같은 전제 조건이 있어야 합니다.

AWS CDK 스택 배포

AWS CDK를 사용하여 리소스를 배포하려면 다음 단계를 완료하십시오.

  1. GitHub 리포지토리를 복제합니다.
    git clone https://github.com/aws-samples/amazon-redshift-rsql-orchestration-framework.git

  2. 다음 환경 매개변수를 업데이트합니다. cdk.json (이 파일은 infra 디렉터리에서 찾을 수 있습니다.):
    1. ec2_instance_id – RSQL 작업이 배포되는 EC2 인스턴스 ID
    2. redshift_secret_id – Amazon Redshift 데이터베이스 자격 증명을 저장하는 Secrets Manager 키의 이름
    3. rsql_script_path – RSQL 작업이 저장된 EC2 인스턴스의 절대 디렉터리 경로
    4. rsql_log_path – RSQL 작업 로그를 저장하는 데 사용되는 EC2 인스턴스의 절대 디렉터리 경로
    5. rsql_script_wrapper – EC2 인스턴스에 있는 RSQL 래퍼 스크립트(rsql_trigger.sh)의 절대 디렉터리 경로입니다.

    다음은 샘플입니다 cdk.json 매개변수로 채워진 후 파일

     "environment": { "ec2_instance_id" : "i-xxxx", "redshift_secret_id" : "blog-secret", "rsql_script_path" : "/home/ec2-user/blog_test/rsql_scripts/", "rsql_log_path" : "/home/ec2-user/blog_test/logs/", "rsql_script_wrapper" : "/home/ec2-user/blog_test/instance_code/rsql_trigger.sh" }
    

  3. 다음 코드를 사용하여 AWS CDK 스택을 배포합니다.
    cd amazon-redshift-rsql-orchestration-framework/lambdas/lambda-layer/
    sh zip_lambda_layer.sh
    cd ../../infra/
    python3 -m venv ./venv
    source .venv/bin/activate
    pip install -r requirements.txt
    cdk bootstrap <AWS Account ID>/<AWS Region>
    cdk deploy --all

AWS CDK 스택이 배포하는 리소스를 자세히 살펴보겠습니다.

CloudWatch 로그 그룹

CloudWatch 로그 그룹(/ops/rsql-logs/)이 생성되어 EC2 인스턴스 및 기타 소스의 로그 파일을 저장, 모니터링 및 액세스하는 데 사용됩니다.

로그 그룹은 RSQL 작업 실행 로그를 저장하는 데 사용됩니다. 각 RSQL 스크립트에 대해 모든 stdoutstderr 로그는 이 로그 그룹 내에 로그 스트림으로 저장됩니다.

DynamoDB 구성 테이블

DynamoDB 구성 테이블(rsql-blog-rsql-config-table)는 이 솔루션의 기본 구성 요소입니다. 모든 RSQL 작업, 다시 시작 정보 및 실행 모드(순차 또는 병렬), 작업이 실행되는 순서가 이 구성 테이블에 저장됩니다.

테이블의 구조는 다음과 같습니다.

  • 워크플로 ID – RSQL 기반 ETL 워크플로의 식별자입니다.
  • 작업 흐름 설명 – RSQL 기반 ETL 워크플로에 대한 설명입니다.
  • 워크플로_단계 – 워크플로 내의 단계 순서입니다.
  • 실행 유형 – RSQL 작업에 대한 실행 유형(순차 또는 병렬).
  • 무대 설명 – 스테이지에 대한 설명입니다.
  • 스크립트 – 실행할 RSQL 스크립트 목록. RSQL 스크립트는 이후 단계에서 정의된 위치에 배치해야 합니다.

다음은 구성 테이블 항목의 예입니다. 당신은 볼 수 있습니다 workflow_id is blog_test_workflow 설명은 Blog용 Test Workflow입니다.

다음 순서로 트리거되는 세 단계가 있습니다. Schema & Table Creation Stage, Data Insertion Stage 1, and Data Insertion Stage 2. 단계 Schema & Table Creation Stage 순차적으로 실행되는 두 개의 RSQL 작업이 있고 Data Insertion Stage 1Data Insertion Stage 2 각각 병렬로 실행되는 두 개의 작업이 있습니다.

{ "workflow_id": "blog_test_workflow", "workflow_description": "Test Workflow for Blog", "workflow_stages": [{ "execution_flag": "y", "execution_type": "sequential", "scripts": [ "rsql_blog_script_1.sh", "rsql_blog_script_2.sh" ], "stage_description": "Schema & Table Creation Stage" }, { "execution_flag": "y", "execution_type": "parallel", "scripts": [ "rsql_blog_script_3.sh", "rsql_blog_script_4.sh" ], "stage_description": "Data Insertion Stage 1" }, { "execution_flag": "y", "execution_type": "parallel", "scripts": [ "rsql_blog_script_5.sh", "rsql_blog_script_6.sh" ], "stage_description": "Data Insertion Stage 2" } ]
}

DynamoDB 감사 테이블

감사 테이블은 모니터링 및 보고 목적을 위해 고유한 식별자와 함께 ETL 워크플로 내의 각 RSQL 작업에 대한 실행 세부 정보를 저장합니다. 두 개의 감사 테이블이 있는 이유는 하나의 테이블은 RSQL 작업 수준에서 감사 정보를 저장하고 다른 하나는 작업 수준에서 감사 정보를 저장하기 때문입니다.

작업 감사 테이블(rsql-blog-rsql-job-audit-table) 구조는 다음과 같습니다.

  • 직업 이름 – RSQL 스크립트의 이름
  • 워크플로우_실행_ID – 워크플로의 실행 ID
  • 실행_시작_ts – RSQL 작업의 시작 타임스탬프
  • 실행_끝_ts – RSQL 작업의 종료 타임스탬프
  • 실행_상태 – RSQL 작업의 실행 상태(Running, Completed, Failed)
  • 인스턴스_ID – RSQL 작업이 실행되는 EC2 인스턴스 ID
  • ssm_command_id – RSQL 작업을 트리거하는 데 사용되는 시스템 관리자 명령 ID
  • 워크플로 ID - workflow_id RSQL 작업이 실행되는 조건

워크플로 감사 테이블(rsql-blog-rsql-workflow-audit-table)의 구조는 다음과 같습니다.

  • 워크플로우_실행_ID – 워크플로의 실행 ID
  • 워크플로 ID – 특정 워크플로의 식별자
  • 실행_시작_ts – 워크플로우의 시작 타임스탬프
  • 실행_상태 – 워크플로 또는 상태 시스템의 실행 상태(Running, Completed, Failed)
  • rsql_jobs – 워크플로의 일부인 RSQL 스크립트 목록
  • 실행_끝_ts – 워크플로의 종료 타임스탬프

Lambda 함수

AWS CDK는 DynamoDB 구성 테이블에서 구성 데이터를 검색하고, DynamoDB에서 감사 세부 정보를 업데이트하고, EC2 인스턴스에서 RSQL 스크립트를 트리거하고, 각 단계를 반복하는 Lambda 함수를 생성합니다. 다음은 기능 목록입니다.

  • rsql-blog-master-iterator-lambda
  • rsql-blog-parallel-load-check-lambda
  • rsql-blog-sequential-iterator-lambda
  • rsql-blog-rsql-invoke-lambda
  • rsql-blog-update-audit-ddb-lambda

Step Functions 상태 시스템

이 솔루션은 Step Functions를 구현합니다. 콜백 태스크 통합 패턴 Step Functions 워크플로가 여러 AWS 서비스를 통해 외부 시스템에 토큰을 보낼 수 있도록 합니다.

AWS CDK는 다음 상태 시스템을 배포합니다.

  • RSQLParallelStateMachine – 구성 테이블의 단계에 대한 execution_type이 병렬로 설정된 경우 병렬 상태 머신이 트리거됩니다. 콜백 토큰이 있는 Lambda 함수는 다음을 사용하여 각 RSQL 스크립트에 대해 병렬로 트리거됩니다. 지도 상태.
  • RSQLSequentialStateMachine – 구성 테이블의 단계에 대한 execution_type이 순차로 설정된 경우 순차 상태 머신이 트리거됩니다. 이 상태 머신은 반복자 디자인 패턴 구성에 언급된 순서에 따라 단계 내에서 각 RSQL 작업을 실행합니다.
  • RSQLMasterState머신 – 기본 상태 기계는 각 단계를 반복하고 다음을 사용하여 실행 모드(순차 또는 병렬)에 따라 다른 상태 기계를 트리거합니다. 선택 상태.

RSQL 스크립트 및 인스턴스 코드 이동

복사 instance_codersql_scripts 디렉터리(GitHub 리포지토리에 있음)를 EC2 인스턴스로 복사합니다. 내의 프레임워크 디렉토리를 확인하십시오. instance_code 역시 복사된다.

다음 스크린샷은 instance_codersql_scripts 디렉터리는 EC2 인스턴스의 동일한 상위 폴더에 복사됩니다.

인스턴스 코드 스크립트 이미지
인스턴스 코드 EC2 복사 이미지
RSQL 스크립트 이미지
RSQL 스크립트 EC2 복사 이미지

RSQL 스크립트 실행 워크플로우

RSQL 스크립트를 실행하는 메커니즘을 자세히 설명하려면 다음 다이어그램을 참조하십시오.

RSQL 스크립트 워크플로 다이어그램

구성 DynamoDB 테이블에서 구성 세부 정보를 가져오는 Lambda 함수는 다음 단계를 수행하는 Step Functions 워크플로를 트리거합니다.

  1. 워크플로 단계로 정의된 Lambda 함수는 Step Functions를 수신합니다. TaskToken 및 구성 세부 정보.
  2. XNUMXD덴탈의 TaskToken 시스템 관리자를 사용하여 구성 세부 정보가 EC2 인스턴스로 전달됩니다. SendCommand API 호출. Lambda 함수가 실행된 후 워크플로 분기는 일시 중지 상태로 전환되고 콜백 토큰을 기다립니다.
  3. RSQL 스크립트는 Amazon Redshift에서 ETL 및 ELT를 수행하는 EC2 인스턴스에서 실행됩니다. 스크립트가 실행된 후 RSQL 스크립트는 완료 상태를 전달하고 TaskToken 파이썬 스크립트로. 이 Python 스크립트는 RSQL 스크립트에 내장되어 있습니다.
  4. Python 스크립트는 작업 감사 DynamoDB 테이블에서 RSQL 작업 상태(성공/실패)를 업데이트합니다. 또한 RSQL 작업 로그를 CloudWatch 로그 그룹으로 내보냅니다.
  5. Python 스크립트는 RSQL 작업 상태(성공/실패) 및 상태 메시지를 다음과 함께 Step Functions 워크플로에 다시 전달합니다. TaskToken 를 사용하여 SendTaskSuccess or SendTaskFailure API 호출.
  6. 수신된 작업 상태에 따라 Step Functions는 워크플로를 재개하거나 중지합니다.

EC2 Auto Scaling 그룹을 사용하는 경우 Systems Manager를 사용할 수 있습니다. SendCommand 하나 이상의 EC2 인스턴스(Auto Scaling 그룹의 일부)를 지정하여 탄력성과 고가용성을 보장합니다. 자세한 내용은 다음을 참조하십시오. 규모에 맞게 명령 실행.

여러 EC2 인스턴스를 사용하는 경우 max-concurrency 의 매개 변수 RunCommand RSQL 작업이 하나의 EC1 인스턴스에서만 트리거되도록 하는 2에 대한 API 호출. 자세한 내용은 다음을 참조하십시오. 동시성 제어 사용.

오케스트레이션 프레임워크 실행

오케스트레이션 프레임워크를 실행하려면 다음 단계를 완료하세요.

  1. DynamoDB 콘솔에서 구성 테이블로 이동하여 이전에 제공된 구성 세부 정보를 삽입합니다. 예제 JSON 구성 세부 정보를 삽입하는 방법에 대한 지침은 다음을 참조하세요. 콘솔 또는 AWS CLI를 사용하여 테이블에 데이터 쓰기.DynamoDB 구성 삽입
  2. Lambda 콘솔에서 다음을 엽니다. rsql-블로그-rsql-워크플로-트리거-람다 기능 및 선택 Test .워크플로 트리거 Lambda 함수
  3. 다음 코드와 유사한 테스트 이벤트를 추가하고 다음을 선택합니다. Test :
    { "workflow_id": "blog_test_workflow", "workflow_execution_id": "demo_test_26"
    }

    워크플로 트리거 Lambda 함수 페이로드

  4. Step Functions 콘솔에서 다음으로 이동합니다. rsql-master-state-machine 세부정보 페이지를 여는 기능입니다.RSQL 마스터 단계 함수
  5. 왼쪽 메뉴에서 편집다음을 선택 워크플로 스튜디오 신규. 다음 스크린샷은 기본 상태 머신을 보여줍니다.RSQL 마스터 단계 함수 흐름
  6. 왼쪽 메뉴에서 취소 Workflow Studio를 종료한 다음 취소 다시 편집 모드를 종료합니다. 세부정보 페이지로 돌아갑니다.
    RSQL 마스터 단계 함수 세부 정보
  7. 사형 집행 탭에서 최신 실행을 선택합니다.
    RSQL 마스터 단계 함수 실행
  8. 그래프 보기에서 각 상태를 선택하여 상태를 확인할 수 있습니다. 외부 리소스를 사용하는 모든 상태에는 외부 리소스에 대한 링크가 있습니다. 세부 정보 탭.RSQL 마스터 단계 함수 실행 그래프
  9. 오케스트레이션 프레임워크는 다음 샘플 RSQL 스크립트로 구성된 ETL 로드를 실행합니다.
    • rsql_blog_script_1.sh – 이 스크립트는 스키마를 생성합니다. rsql_blog 데이터베이스 내에서
    • rsql_blog_script_2.sh – 이 스크립트는 테이블을 생성합니다. blog_table 이전 스크립트에서 생성된 스키마 내에서
    • rsql_blog_script_3.sh – 이전 스크립트에서 생성된 테이블에 하나의 행을 삽입합니다.
    • rsql_blog_script_4.sh – 이전 스크립트에서 생성된 테이블에 하나의 행을 삽입합니다.
    • rsql_blog_script_5.sh – 이전 스크립트에서 생성된 테이블에 하나의 행을 삽입합니다.
    • rsql_blog_script_6.sh – 이전 스크립트에서 생성된 테이블에 하나의 행을 삽입합니다.

관련 구성 세부 정보를 구성 DynamoDB 테이블(rsql-blog-rsql-config-table).

검증

프레임워크를 실행한 후 스키마( rsql_blog) 하나의 테이블( blog_table) 만들어진. 이 테이블은 XNUMX개의 행으로 구성됩니다.

RSQL 실행 테이블

CloudWatch 로그 그룹(/ops/rsql-logs/) 및 워크플로 감사 DynamoDB 테이블(rsql-blog-rsql-workflow-audit-table).

RSQL 스크립트 CloudWatch 로그
RSQL 워크플로 감사 레코드

정리

생성한 리소스에 대해 지속적으로 요금이 청구되지 않도록 하려면 리소스를 삭제하십시오. AWS CDK는 DynamoDB 테이블과 같은 데이터 리소스를 제외한 모든 리소스를 삭제합니다.

  • 먼저 모든 AWS CDK 스택을 삭제합니다.
    cdk destroy --all

  • DynamoDB 콘솔에서 다음 테이블을 선택하고 삭제합니다.
    • rsql-blog-rsql-config-table
    • rsql-blog-rsql-job-audit-table
    • rsql-blog-rsql-workflow-audit-table

결론

Amazon Redshift RSQL, Systems Manager, EC2 인스턴스 및 Step Functions를 사용하여 ETL 워크플로를 위한 현대적이고 비용 효율적인 오케스트레이션 프레임워크를 생성할 수 있습니다. 각 ETL 워크플로에 대해 서로 다른 상태 시스템을 만들고 관리하는 오버헤드가 없습니다. 이 게시물에서는 이 구성 기반 일반 오케스트레이션 프레임워크를 사용하여 복잡한 RSQL 기반 ETL 워크플로를 트리거하는 방법을 시연했습니다.

또한 이메일 알림 을 통하여 아마존 단순 알림 서비스 (Amazon SNS) 상태 시스템 내에서 ETL 프로세스의 완료 상태를 운영 팀에 알립니다. 또한 EventBridge를 사용하여 워크플로 트리거 람다 기능을 시작함으로써 이벤트 기반 ETL 오케스트레이션 프레임워크를 달성할 수 있습니다.


저자에 관하여

아킬 AWS Professional Services의 데이터 분석 컨설턴트입니다. 그는 고객이 확장 가능한 데이터 분석 솔루션을 설계 및 구축하고 데이터 파이프라인 및 데이터 웨어하우스를 AWS로 마이그레이션하도록 돕습니다. 여가 시간에는 여행, 게임, 영화 감상을 즐깁니다.


라메쉬 라구파티 AWS에서 WWCO ProServe의 선임 데이터 설계자입니다. 그는 AWS 고객과 협력하여 AWS 클라우드의 데이터 웨어하우스 및 데이터 레이크를 설계, 배포 및 마이그레이션합니다. 일을 하지 않는 동안 Ramesh는 여행, 가족과 시간 보내기, 요가를 즐깁니다.

라자 하피즈 AWS Professional Services의 Shared Delivery Practice 내의 선임 데이터 설계자입니다. 그는 엔터프라이즈 데이터 웨어하우스를 구축하고 최적화하는 데 12년 이상의 전문적인 경험을 가지고 있으며 고객이 데이터의 힘을 실현할 수 있도록 지원하는 데 열정적입니다. 엔터프라이즈 데이터 웨어하우스를 AWS Modern Data Architecture로 마이그레이션하는 일을 전문으로 합니다.

디팔 마하잔 인도에 기반을 둔 Amazon Web Services의 수석 컨설턴트로서 전 세계 고객이 클라우드에서 매우 안전하고 확장 가능하며 안정적이고 비용 효율적인 애플리케이션을 구축하도록 안내합니다. 그는 금융, 통신, 소매 및 의료와 같은 산업에서 소프트웨어 개발, 아키텍처 및 분석에 대한 광범위한 경험을 제공합니다.

spot_img

최신 인텔리전스

spot_img