주요 컨텐츠로 이동

오케스트레이션 (Orchestration)

Databricks 무료로 시작하기

오케스트레이션이란 무엇입니까?

오케스트레이션은 여러 개의 컴퓨터 시스템, 애플리케이션 및/또는 서비스를 조율하고 관리하는 것으로, 여러 개의 작업을 함께 연결하여 크기가 큰 워크플로나 프로세스를 실행하는 방식을 취합니다. 이러한 프로세스는 여러 개의 자동화된 작업으로 구성될 수 있으며 관련되는 시스템도 여러 개일 수 있습니다.

오케스트레이션의 목표는 빈도가 높고 반복할 수 있는 프로세스의 실행을 간소화 및 최적화하여 데이터 팀이 복잡한 작업과 워크플로를 간편하게 관리하도록 돕는 것입니다. 프로세스를 반복할 수 있고 작업을 자동화할 수 있다면 오케스트레이션을 사용하여 시간을 절약하고 효율성을 증대하고 중복성을 없앨 수 있습니다. 예를 들면, 작업 오케스트레이션을 통해 데이터 및 머신 러닝을 간소화할 수 있습니다.

프로세스 오케스트레이션과 프로세스 자동화의 차이점은 무엇입니까?

자동화와 오케스트레이션은 고도로 상호보완적이지만, 의미는 서로 다릅니다. 자동화는 사람이 개입할 필요 없이 작업이 실행되도록 프로그래밍하는 것이고 오케스트레이션은 여러 개의 작업(그중 일부는 자동화되어 있을 수도 있음)을 하나의 종단간 프로세스나 작업으로 구성하는 것을 말합니다. 또한 오케스트레이션 소프트웨어는 프로세스 전체에 걸쳐 이벤트나 활동에 반응해야 하고, 한 가지 자동화된 작업에서 얻은 출력을 바탕으로 의사 결정을 내려 다음 작업을 판단하고 조율할 줄도 알아야 합니다.

애플리케이션 오케스트레이션이란 무엇입니까?

애플리케이션 오케스트레이션은 두 개 이상의 소프트웨어 애플리케이션을 통합하는 것입니다. 프로세스를 자동화하거나 데이터의 실시간 동기화를 지원하기 위해 애플리케이션 오케스트레이션을 수행할 수 있습니다. 대부분의 소프트웨어 개발에는 일종의 애플리케이션 오케스트레이션이 필요합니다. 오케스트레이션을 수행하지 않는다면 애플리케이션 개발, 데이터 분석, 머신 러닝, AI 프로젝트를 확장하기가 훨씬 더 어려울 수 있습니다.

이 프로세스를 통해 통합을 중앙에서 관리하고 모니터링할 수 있으며, 메시지 라우팅, 보안, 혁신 및 신뢰성을 위한 기능을 추가할 수 있습니다. 이러한 접근법이 지점 간 통합보다 더 효과적인 이유는 통합 논리가 애플리케이션 자체와 분리되고 대신 컨테이너에서 관리되기 때문입니다.

서비스 오케스트레이션이란 무엇입니까?

서비스 오케스트레이션은 여러 클라우드 공급업체 및 도메인에 걸쳐 있는 시스템을 조율하고 관리하도록 지원하기 때문에 애플리케이션 오케스트레이션과 유사합니다. 오늘날 시스템의 조율과 관리는 필수적입니다. 이 접근법은 마이크로서비스 오케스트레이션, 네트워크 오케스트레이션, 워크플로 오케스트레이션을 포함합니다.

개별 서비스는 기본적으로 서로 통합될 수 있는 능력이 없으며 자체적인 종속성과 요구 사항이 있고 시스템이 복잡할수록 다양한 구성 요소를 오케스트레이션하는 것이 더욱 중요합니다. 오케스트레이션을 통해 필요에 따라 인프라를 확장하고, 비즈니스 목표에 맞게 시스템을 최적화하고, 서비스 제공 실패를 방지할 수 있습니다.

컨테이너 오케스트레이션이란 정확히 무엇입니까?

애플리케이션 및 서비스 오케스트레이션을 언급할 때 "컨테이너 오케스트레이션"이라는 용어를 접해 보셨을 수 있습니다. 그러면 컨테이너 오케스트레이션은 무엇이고 왜 이 기술을 사용해야 할까요?

컨테이너 오케스트레이션은 컨테이너 관리와 조율을 자동화하는 것입니다. 소프트웨어 팀은 컨테이너 프로비저닝 및 배포, 컨테이넌 간 리소스 배정, 컨테이너의 상태 모니터링, 컨테이너 간 상호작용 시 보안 유지 등과 같은 작업을 제어하고 자동화하기 위해 최고의 컨테이너 오케스트레이션 툴을 사용합니다.

컨테이너 오케스트레이션의 작동 원리는 무엇입니까?

소프트웨어 오케스트레이션 팀은 일반적으로 Kubernetes 및 Docker Swarm과 같은 컨테이너 오케스트레이션 툴을 사용합니다. 먼저 파일에서 앱 구성을 설명해야 합니다. 이 파일로 툴에게 어디서 컨테이너 이미지를 수집하고 어떻게 컨테이너들을 연결할지 알려 줍니다.

또한 이 툴은 컨테이너를 클러스터로 배포하기 위한 일정을 관리하고, 라벨 또는 메타데이터와 같은 사전 설정된 제약 요소를 바탕으로 가장 적절한 호스트를 찾습니다. 그 다음, 파일에 제시된 사양에 따라 컨테이너의 수명 주기를 관리합니다.

그러면 컨테이너 오케스트레이션이 왜 필요할까요? 자동화와 오케스트레이션의 목적은 무엇일까요? 컨테이너 오케스트레이션을 자동화하면 명령 하나로 애플리케이션을 확장하고, 증가하는 트래픽에 대처하기 위해 컨테이너화된 새 애플리케이션을 만들고, 설치 프로세스를 간소화할 수 있으며 보안 역시 향상됩니다.

클라우드 오케스트레이션이란 무엇입니까?

클라우드 오케스트레이션은 프라이빗 및 퍼블릭 클라우드에서 연결을 관리하는 작업을 자동화하는 프로세스입니다. 또한, 클라우드 오케스트레이션은 자동화된 작업과 프로세스를 특정 비즈니스 기능을 수행하는 데 도움을 주는 워크플로로 통합합니다.

퍼블릭, 프라이빗, 하이브리드 클라우드 등을 포함하는 클라우드 컴퓨팅이 부상함에 따라 복잡성이 증가하였고 여러 클라우드에 걸쳐 있는 다수의 종속성 항목을 관리하고 배포할 수 있는 클라우드 오케스트레이션 소프트웨어가 필요하게 되었습니다. 클라우드 서비스 오케스트레이션에는 서버 워크로드 및 스토리지 용량의 프로비저닝과 서비스, 워크로드, 리소스의 오케스트레이션과 같은 작업이 포함됩니다.

클라우드 오케스트레이션과 자동화는 다르다는 점을 기억하세요. 클라우드 오케스트레이션은 IT 프로세스 전체에 중점을 두지만, 자동화는 개별 구성 요소에 중점을 둡니다. 오케스트레이션은 정책 및 보안 프로토콜을 유지하는 동시에 멀티클라우드 환경 전반에서 자동화를 간소화합니다.

보안 오케스트레이션이란 무엇입니까?

보안 오케스트레이션은 자동화된 보안 툴이 서로 효과적으로 작동하도록 지원하고 보안 팀의 보안 툴 사용 방식을 효율화합니다. 목표는 툴이 서로 통신하고 데이터를 공유하도록 하는 것입니다.—이를 통해 인적 오류 가능성을 낮추어 위험 요소에 더 나은 방식으로 대응하고 시간과 비용을 절약할 수 있습니다.

SOAR(Security Orchestration Automation and Response)란 무엇입니까? 이 두문자어는 Gartner가 정의한 세 가지 소프트웨어 기능을 설명합니다.

  • 오케스트레이션—위협 및 취약성 관리
  • 자동화—보안 오케스트레이션 자동화
  • 대응­—보안 인시던트 대응

이 접근법은 자동화와 오케스트레이션을 결합하므로 조직은 위협 헌팅, 위협 인텔리전스 수집, 낮은 수준의 위협에 대한 인시던트 대응을 자동화할 수 있습니다.

오케스트레이션 레이어란 무엇입니까?

다수의 API 서비스를 조율해야 하는 경우 오케스트레이션 레이어가 필요합니다. 오케스트레이션 레이어를 통해 사용자의 커넥터와 타사 애플리케이션 커넥터 사이를 연결하거나 명령을 수행하여 단일 API 요청에 응답하기 위해 여러 서비스를 여러 번 호출하는 단일 API를 효과적으로 생성합니다.

또한 오케스트레이션 레이어는 요청과 응답을 분할, 병합 또는 라우팅해야 하는 별도의 서비스 사이의 데이터 형식을 관리합니다. 이러한 추상화 레이어를 추가하여 서비스 간 통신을 위해 일정 수준의 인텔리전스를 API에 제공할 수 있습니다. 오케스트레이션 레이어는 데이터 변환, 서버 관리, 인증 처리, 레거시 시스템 통합을 지원합니다.

클라우드에서 오케스트레이션 레이어는 클라우드 기반 구성 요소와 온프레미스 구성 요소 사이의 상호작용과 상호연결을 관리하며 여기에는 서버, 네트워킹, 가상 머신, 보안 및 스토리지가 포함됩니다.

여정 오케스트레이션이란 무엇입니까?

고객 여정 오케스트레이션이란 무엇일까요? 여정 오케스트레이션은 한 단계 더 나아간 고객 여정이라는 개념을 기반으로 합니다. 여정 오케스트레이션은 과거 데이터에 의존하기보다는 실시간으로 여정을 맞춤화하기 위해 자동화를 활용합니다. 목표는 이상적인 고객 여정을 만들고 구성하는 것입니다.

여정 오케스트레이션을 통해 기업은 변화에 대응하고 문제 발생 전 잠재적 문제를 찾아내어 민첩성을 향상할 수 있습니다.

오케스트레이션 툴

복잡한 작업에 필요한 오케스트레이션의 경우, 데이터 팀이 특수 툴을 사용해 파이프라인을 개발, 관리, 모니터링하고 안정적으로 운영하는 등 힘든 부분을 담당해 주어야 합니다. 이런 툴은 대개 실제 데이터나 머신 러닝 작업과는 별개입니다. 이렇게 통합성이 부족하기 때문에 회사 전체에 업무가 흩어지게 되고, 사용자가 컨텍스트를 바꿔야 할 때가 많습니다.

비즈니스 인텔리전스(BI)와 인공지능(AI) 이니셔티브를 추진하는 기업이 늘어나면서 단순하고 확장할 수 있으며 안정적인 오케스트레이션 툴이 절실해졌습니다. 오케스트레이션의 장점을 온전히 이용하는 데 유용한 다양한 툴이 있으며, 여기에 워크로드를 자동화하는 데 쓸 수 있는 프레임워크가 포함되어 있습니다.

서비스 오케스트레이션 툴을 사용하면 다양한 애플리케이션과 시스템을 통합할 수 있으며, 클라우드 오케스트레이션 툴은 다수의 클라우드 시스템을 통합합니다. 또한 오케스트레이션 툴은 단일 위치에서 종단간 프로세스를 관리하고 프로세스 생성을 간소화하여 이 방식이 아니면 불가능한 워크플로를 생성하도록 지원합니다.

예를 들면, Databricks는 데이터 웨어하우징과 AI 사용 사례를 하나의 플렛폼에 통합하도록 돕습니다. 여기를 클릭하여 Databricks 워크로드를 오케스트레이션하는 방법을 알아보세요.

애플리케이션 릴리스 오케스트레이션이란 무엇입니까?

애플리케이션 릴리스 오케스트레이션(application release orchestration, ARO)을 통해 DevOps 팀은 애플리케이션 배포를 자동화하고, 지속적으로 통합 및 전달 파이프라인을 관리하고, 릴리스 워크플로를 오케스트레이션할 수 있습니다. 새로운 릴리스의 품질, 속도, 거버넌스를 향상하는 것을 목표로 합니다.

애플리케이션 릴리스 오케스트레이션 툴은 배포 자동화와 파이프라인 관리를 지원할 뿐만 아니라 기업이 다양한 팀, 기술, 방법론, 파이프라인 전반에서 릴리스 활동을 확장하도록 지원합니다. 잘 알려진 ARO 툴로는 GitLab, Microsoft Azure Pipelines 및 FlexDeploy가 있습니다.

프로세스 오케스트레이션이란 무엇입니까?

효과적인 오케스트레이션에는 자동화된 프로세스가 필요하지만, 개별적인 작업에 다양한 툴을 사용할 경우(그리고 여러 공급업체의 툴을 사용할 경우) 사일로를 유발할 가능성이 있습니다. 그래서 툴과 워크플로의 통합이 필요하며 프로세스 오케스트레이션이란 이러한 통합 작업을 의미합니다.

프로세스 오케스트레이션을 수행하려면 개별 작업들을 종단간(end-to-end) 프로세스로 통합하고, 범용 커넥터, 직접 통합 또는 API 어댑터를 사용한시스템 통합을 효율화해야 합니다. 그러면 IT 팀은 단일 위치에서 프로세스 수명 주기 전체를 관리할 수 있습니다.

이를 통해 얻을 수 있는 장점으로는 개별 툴을 조율 및 통합하여 복잡성을 감소시키고, 프로세스 모니터링 및 로깅을 중앙집중화하여 평균 해결 시간(mean time to resolution, MTTR)을 단축하고, 단일 오케스트레이션 플랫폼으로 새로운 툴과 기술을 통합할 수 있다는 것입니다. 이러한 유형의 소프트웨어 오케스트레이션 덕분에 다양한 툴과 기술을 가상으로 신속하게 통합하는 것이 가능해집니다.

데이터 오케스트레이션 플랫폼의 목적

데이터 오케스트레이션은 여러 스토리지 위치에서 사일로화된 데이터를 결합하고 정리하여 분석에 사용할 수 있도록 만들기 위한 자동화된 프로세스입니다. 이 프로세스는 레거시 시스템, 클라우드 기반 툴 또는 데이터 레이크의 구분없이 모든 데이터 센터를 연결합니다. 데이터는 표준 형식으로 변환되므로 이해하기가 더 쉽고 의사 결정을 위해 더 간편하게 사용할 수 있습니다.

대부분의 기업은 엄청난 양의 데이터를 축적하여 축적된 데이터를 정리하기 위한 자동화된 툴이 필요합니다. 빅데이터 오케스트레이션이란 무엇일까요? 기존 방법으로 처리하기에는 너무 방대하거나 변화가 빠르거나 복잡한 데이터를 정리하는 프로세스를 말합니다. 또한, 데이터 오케스트레이션은 서버에서 공간은 차지하지만 사용되지 않는 정보, 즉 "다크 데이터(dark data)"를 찾아냅니다.

데이터 오케스트레이션 플랫폼은 규정 준수와 문제 발견에 적합합니다. 예를 들면, 결제 오케스트레이션 플랫폼을 사용할 경우 고객 데이터에 실시간으로 액세스할 수 있어 위험한 트랜잭션을 볼 수 있습니다.

DevOps 오케스트레이션이란 무엇입니까?

DevOps 오케스트레이션은 회사 전체의 DevOps 관행과 이를 따르기 위해 사용하는 자동화 툴을 조율하는 것입니다. 목표는 프로덕션 문제를 최소화하고 새 릴리스를 출시하는 데 드는 시간을 줄이는 것입니다.

자동화된 작업을 오케스트레이션하면 자동화 툴의 잠재력을 극대화할 수 있습니다. 이쯤에서 오케스트레이션과 자동화를 비교하는 질문이 다시 떠오릅니다. 기본적으로, 수많은 기능이 동시에 실행되도록 자동화하면 효율성을 극대화할 수 있습니다. 한편, 이러한 기능들이 함께 작동하도록 하려면 오케스트레이션이 필요합니다.

예를 들면, 클라우드 기반 배포 파이프라인을 위한 DevOps 오케스트레이션을 통해 개발, QA, 프로덕션을 결합할 수 있습니다.

Docker 오케스트레이션이란 무엇입니까?

Docker는 컨테이너화된 애플리케이션 개발을 위한 툴 세트를 제공하는 사용자 친화적인 컨테이너 런타임입니다. Docker를 사용하여 코드를 이미지로 패키지한 후 이 이미지를 컨테이너를 만드는 데 사용할 수 있기 때문에 Docker 오케스트레이션은 Docker 컨테이너를 관리하기 위한 관행과 기술을 의미합니다.

컨테이너화된 애플리케이션이 많은 컨테이너로 확장되는 경우 이러한 유형의 컨테이너 오케스트레이션이 필요합니다. 컨테이너 오케스트레이션은 컨테이너 프로비저닝, 확장 및 축소, 네트워킹 및 로드 밸런싱 관리와 같은 작업에 사용됩니다.

Docker 에코시스템은 Swarm과 같은 오케스트레이션을 위한 툴을 몇 가지 제공합니다. Kubernetes는 Docker 컨테이너를 오케스트레이션하는 데 주로 사용되며, 클라우드 컨테이너 플랫폼은 기본적인 오케스트레이션 기능을 제공합니다.

Databricks의 데이터 및 머신 러닝 파이프라인 오케스트레이션

Databricks를 이용하면 여러 작업을 손쉽게 오케스트레이션하여 데이터와 머신 러닝 워크플로를 손쉽게 구축할 수 있습니다.

여러 단계를 포함한 작업을 오케스트레이션하면 상호의존적, 모듈 방식 작업을 사용해(노트북, Python 스크립트와 JAR로 구성) 데이터와 ML 파이프라인을 간단히 정의할 수 있습니다. 데이터 팀에서 다단계 파이프라인을 손쉽게 만들고 관리하여 데이터를 변환, 구체화하고 머신 러닝 알고리즘을 교육하는 과정이 간편해지는데, 이 모든 것을 친숙한 Databricks 워크스페이스 내에서 해결하기 때문에 시간과 수고는 물론 컨텍스트 전환 횟수도 대폭 줄어듭니다.

위의 예시에서는 여러 개의 작업으로 구성된 Job 하나가 두 개의 작업(task)을 사용해 데이터를 수집합니다. Clicks_Ingest와 Orders_Ingest의 두 개입니다. 이렇게 수집한 데이터를 집계한 다음 "Match" 작업에서 필터링하면 새로운 머신 러닝 특징이 생성되고(Build_Features) 영구 지속되며(Persist_Features) 새로운 모델을 교육하는 데 쓰입니다(Train).

Job 오케스트레이션은 Databricks에서는 완전 통합형으로 제공되므로 안프라나 DevOps 리소스를 추가 투입할 필요가 없습니다. 고객은 Jobs API나 UI를 사용해 작업과 기능을 만들어 관리하면 됩니다. 모니터링을 위한 이메일 알림이 대표적인 예입니다.

이 기능의 장점은 데이터 팀에서 따로 새 스킬을 익힐 필요도 없이 손쉽게 누릴 수 있습니다. 또한 이 기능을 이용하면 Databricks 밖, 모든 클라우드를 총망라해 API를 포함한 것이라면 무엇이든 오케스트레이션할 수 있습니다(예: CRM에서 데이터 가져오기). 오늘 바로 Job 오케스트레이션을 시작하세요. 워크스페이스(AWS|Azure|GCP)에서 직접 활성화하면 됩니다.

추가 자료

용어집으로 돌아가기