OCI Generative AI 및 Oracle E-Business Suite를 사용하여 IoT 작업을 기반으로 실시간으로 장치 모니터링

오늘날의 세계에서는 각 애플리케이션에 대해 데이터 처리를 위해 중앙 서버에 연결된 많은 장치와 데이터 포인트가 있습니다. 이러한 데이터 포인트는 지속적으로 메트릭을 내보내며, 모니터링하고 계산하면 데이터에서 매우 유용한 통찰력을 얻을 수 있습니다. 그런 다음 이러한 인사이트를 사용하여 일부 장치의 충돌 시기와 같은 예측을 수행할 수 있으며, 결국 Oracle E-Business Suite와 같은 시스템과 통합되어 이동 중에도 결함이 있는 장치를 교체하도록 주문할 수 있습니다.

의료를 위해 우리가 제안하는 아키텍처는 장치가 방출하는 수신 이벤트의 입력을 가져옵니다. 이러한 이벤트에는 장치 상태에 대한 데이터가 포함됩니다. 예를 들어, 병원에서 실행되는 산소 모니터에 의해 방출되는 데이터는 얼마나 오래되었는지에 대한 데이터, 운영 체제, 보안 패치 적용, 메모리 및 스토리지 사용량에 대한 기록 및 현재 정보, 제공되는 로드에 대한 데이터를 가집니다.

이 데이터를 정리한 후 Oracle Cloud Infrastructure Data Science 서비스에서 실행되는 ML 모델로 전달한 다음 이 디바이스의 작동이 중지될 가능성 및 시기를 알려주는 가능성을 계산합니다. 추가 보고를 위해 Oracle Autonomous Data Warehouse에 대한 요구 사항에 따라 이 모든 데이터를 집계합니다. 또한 Oracle E-Business Suite와 데이터를 더 통합하여 장치 오류에 대해 지정된 기준에 맞춰 주문하는 즉시 자동으로 주문할 수 있습니다.

구조

이 참조 아키텍처는 오라클 클라우드 인프라스트럭쳐(OCI)의 클라우드 기능을 활용하여 OCI에서 호스팅되는 디바이스 모니터링 솔루션을 생성하는 방법을 보여줍니다.

이 아키텍처에서는 이 디바이스 모니터링 솔루션이 OCI에서 호스팅되는 방법과 관리 사용자가 비즈니스 및 관리 또는 운영 목적으로 솔루션에 액세스하는 방법을 설명했습니다.

다음 다이어그램은 이 참조 아키텍처 데이터 플로우를 보여 줍니다.



oci-genai-iot-ebs-arch-oracle.zip

장치에서 데이터가 생성되자마자 장치에서 실행되는 클라이언트 애플리케이션은 API 게이트웨이를 통해 노출된 엔드포인트의 OCI Streaming에 액세스합니다. 이러한 엔드포인트는 하이엔드 웹 보안 서비스인 WAF(Web Application Firewall)로 보호됩니다. 이 서비스는 프론트엔드 보안이 기본적으로 애플리케이션에 적용 가능한지 확인합니다. 동일한 스트리밍 끝점이 서비스 커넥터 허브에서 접속되어 스트림을 계속 모니터링하고 장치에서 생성된 새 데이터가 있는 즉시 데이터를 소비하고 추가 데이터 처리를 위해 OCI 함수를 트리거합니다.

OCI Functions는 소비된 데이터를 가져와 데이터 처리를 시작합니다. 입력 트래픽에 따라 단일 소비 호출에서 여러 레코드가 소비되고 함수가 모든 레코드를 별도로 처리할 수 있는 시나리오가 있습니다. 각 레코드에 대해 이 함수는 다음 태스크를 수행합니다.

  1. 레코드 데이터를 정리하고 필요한 매개변수를 수집합니다.
  2. 끝점에 호스트된 ML 모델에 대한 API 요청 호출을 생성합니다. 이 요청에 대한 입력은 모델에서 장치 실패 예측을 수행하는 데 필요한 매개변수입니다. 이 요청의 응답은 장치 실패 예측입니다(0.00에서 10.00까지, 여기서 0.00은 장치 실패 가능성을 최소화하고, 10.00은 장치 실패 가능성을 최대로 나타냄).
  3. 예측이 완료되면 함수는 이를 입력 레코드에 추가하고 향후 보고를 위해 Autonomous Data Warehouse에 푸시하며 ML 모델은 지속적인 재학습을 수행합니다.
  4. 예측 값에 따라 OCI 함수가 다음 태스크를 트리거합니다. 예측이 실패하지 않을 경우 수행할 다른 작업이 없으므로 해당 레코드의 실행이 종료됩니다. 예측이 실패할 경우 함수는 다음 하위 작업을 수행합니다.
    1. 주문 제출자 및 승인자 세부정보, 장치와 관련된 데이터 및 기타 모든 관계자와 같은 새 주문에 대한 모든 세부정보는 Autonomous Data Warehouse 참조 테이블에 접근하십시오.
    2. OCI 생성형 AI를 사용하여 주문 세부정보 요약을 생성합니다.
    3. Oracle E-Business Suite 또는 기타 ERP, CRM 소프트웨어에 주문 세부 정보를 제출합니다.
    4. OCI 생성형 AI를 사용하여 이해 관계자 요약을 위한 이메일 초안 작성.
    5. 해당 관계자에게 주문 배치를 알리는 통지를 보냅니다.
  5. 이 플로우가 완료되면 함수가 레코드를 처리됨으로 표시하고 다음 레코드로 이동합니다.

이 솔루션은 자체 학습 ML 모델로 구성되며, Autonomous Data Warehouse에 제공되는 새로운 데이터로 계속 업데이트됩니다. 애플리케이션의 세 계층은 모두 서로 다른 서브넷에 호스트되어 애플리케이션에 필요한 올바른 보안 포트를 열었는지 확인합니다. 데이터베이스에 저장된 데이터는 적절한 보안을 위해 다른 서브넷에서 가져옵니다.

아키텍처 다이어그램은 관리 사용자에 대한 다른 사용자 액세스 플로우도 보여줍니다. 이들은 OCI에서 장치 모니터링 애플리케이션을 운영해야 하는 사용자입니다. 사이트 간 VPN 또는 FastConnect를 통한 SSH를 사용하여 애플리케이션 리소스에 액세스합니다. 그러면 고객 데이터 센터의 CPE 장치를 OCI의 DRG와 연결하는 보안 터널이 생성됩니다. 이 경로를 사용하여 관리자는 데이터 센터 컴퓨터에서 OCI의 애플리케이션 리소스에 액세스합니다. 이 액세스는 패치 적용, 애플리케이션 업그레이드, 운영 체제 보안 업그레이드 및 기타 작업과 같은 모든 작업 작업이 정시에 안전하게 수행되도록 하는 데 필요합니다.

이 아키텍처에서는 OCI에 구현된 고가용성 및 재해 복구의 개념을 추가할 수도 있습니다. 고가용성은 애플리케이션이 동일한 지역의 여러 가용성 도메인에 배포됨을 의미합니다. 이렇게 하면 가용성 도메인 중 하나가 화재 또는 전기와 같은 일부 문제로 인해 다운되는 경우에도 애플리케이션을 항상 사용할 수 있습니다. 재해 복구란 애플리케이션이 여러 OCI 리전에도 배치됨을 의미합니다. 이것은 쓰나미, 사이클론 또는 지진과 같은 일부 문제로 인해 지역 중 하나가 다운되는 경우에도 응용 프로그램을 항상 사용할 수 있는지 확인합니다. 또한 여러 장애 도메인에 리소스를 배치하여 Oracle 데이터 센터 내 랙 레벨에서의 장애로부터 구조도 안전하게 보호해야 합니다. 이러한 애플리케이션은 다운타임 없이 오랫동안 계속 실행되어야 하므로 고려해야 할 매우 중요한 주제입니다.

동일한 아키텍처에서 모든 구성요소가 민첩한 방식으로 배포되도록 하는 OCI DevOps 서비스를 사용하여 배포를 생성했음을 확인할 수도 있습니다. 모든 구성요소는 Terraform을 사용하여 배포되며 Ansible을 통해 유지 관리됩니다. 이 프레젠테이션에서는 OCI에서 자동화를 활용하고 코드형 인프라(IaaC) 접근 방식을 따라 메인프레임 애플리케이션의 민첩성과 유지 관리 용이성을 높이는 방법을 소개합니다.

아키텍처의 구성 요소는 다음과 같습니다.

  • Tenancy

    테넌시는 Oracle Cloud Infrastructure에 등록할 때 Oracle이 Oracle Cloud 내에서 설정하는 격리된 보안 분할영역입니다. Oracle Cloud에서 테넌시 내의 리소스를 생성, 구성 및 관리할 수 있습니다. 테넌시는 회사 또는 조직과 동의어입니다. 일반적으로 회사는 단일 테넌시를 가지며 해당 테넌시 내의 조직 구조를 반영합니다. 일반적으로 단일 테넌시는 단일 구독과 연관되며, 단일 구독에는 일반적으로 하나의 테넌시만 포함됩니다.

  • 지역

    Oracle Cloud Infrastructure 지역은 가용성 도메인이라는 하나 이상의 데이터 센터를 포함하는 지역화된 지리적 영역입니다. 지역은 다른 지역과는 독립적이며, 거리는 국가 또는 대륙에 걸쳐 분리될 수 있습니다.

  • 구획

    구획은 Oracle Cloud Infrastructure 테넌시 내의 영역 간 논리적 분할 영역입니다. 구획을 사용하여 Oracle Cloud에서 리소스를 구성하고, 리소스에 대한 액세스를 제어하고, 사용 할당량을 설정합니다. 지정된 구획의 리소스에 대한 액세스를 제어하려면 리소스에 액세스할 수 있는 사용자 및 수행할 수 있는 작업을 지정하는 정책을 정의합니다.

  • 가용성 도메인

    가용성 도메인은 한 지역 내의 독립형 독립형 데이터 센터입니다. 각 가용성 도메인의 물리적 리소스는 결함 허용을 제공하는 다른 가용성 도메인의 리소스와 격리됩니다. 가용성 도메인은 전원이나 냉각과 같은 인프라나 내부 가용성 도메인 네트워크를 공유하지 않습니다. 따라서 한 가용성 도메인에서 장애가 발생해도 해당 지역의 다른 가용성 도메인에 영향을 미치지 않습니다.

  • 결함 도메인

    장애 도메인은 가용성 도메인 내 하드웨어와 인프라의 그룹입니다. 각 가용성 도메인에는 독립적인 전원 및 하드웨어가 있는 3개의 장애 도메인이 있습니다. 여러 장애 도메인에 리소스를 배포할 때 애플리케이션은 장애 도메인 내의 물리적 서버 장애, 시스템 유지 관리 및 전원 장애를 견딜 수 있습니다.

  • VCN(가상 클라우드 네트워크) 및 서브넷

    VCN은 Oracle Cloud Infrastructure 지역에서 설정한 커스터마이징 가능한 소프트웨어 정의 네트워크입니다. 기존 데이터 센터 네트워크와 마찬가지로 VCN을 통해 네트워크 환경을 제어할 수 있습니다. VCN은 VCN 생성 후 변경할 수 있는 겹치지 않는 여러 CIDR 블록을 가질 수 있습니다. VCN을 서브넷으로 분할할 수 있으며, 영역 또는 가용성 도메인으로 범위를 지정할 수 있습니다. 각 서브넷은 VCN의 다른 서브넷과 겹치지 않는 연속적인 주소 범위로 구성됩니다. 서브넷을 생성한 후 크기를 변경할 수 있습니다. 서브넷은 공용 또는 전용일 수 있습니다.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect provides an easy way to create a dedicated, private connection between your data center and Oracle Cloud Infrastructure. FastConnect는 인터넷 기반 연결에 비해 더 높은 대역폭 옵션과 더 안정적인 네트워킹 환경을 제공합니다.

  • IPSec VPN

    VPN Connect는 온프레미스 네트워크와 Oracle Cloud Infrastructure의 VCN 간에 사이트 간 IPSec VPN 연결을 제공합니다. IPSec 프로토콜 제품군은 패킷이 소스에서 대상으로 전송되기 전에 IP 트래픽을 암호화하고 트래픽이 도착하면 해독합니다.

  • 보안 목록

    각 서브넷에 대해 서브넷에 들어오고 나가야 하는 트래픽의 소스, 대상 및 유형을 지정하는 보안 규칙을 생성할 수 있습니다.

  • 서비스 게이트웨이

    서비스 게이트웨이는 VCN에서 Oracle Cloud Infrastructure Object Storage와 같은 다른 서비스로의 액세스를 제공합니다. VCN에서 Oracle 서비스로의 트래픽은 Oracle 네트워크 패브릭을 통해 이동하며 인터넷을 순회하지 않습니다.

  • 독립 데이터베이스 시스템

    Oracle Autonomous Database는 복잡성, 규모 또는 중요도에 관계없이 모든 조직에서 애플리케이션 워크로드를 쉽게 개발하고 배포할 수 있는 완전 자동화된 서비스입니다. 이 서비스의 컨버지드 엔진은 다양한 데이터 유형을 지원하여 모델링 및 코딩에서 ETL, 데이터베이스 최적화 및 데이터 분석에 이르기까지 애플리케이션 개발 및 배포를 단순화합니다. 머신 러닝 기반의 자동 튜닝, 확장 및 패치 적용을 통해 Autonomous Database는 OLTP, 분석, 배치 및 Internet of Things(IoT) 워크로드를 위한 최고의 성능, 가용성 및 보안을 제공합니다. Oracle Database 및 Oracle Exadata를 기반으로 구축된 Autonomous Database는 Oracle Cloud Infrastructure(OCI)에서 Oracle Exadata Cloud@Customer 및 OCI Dedicated Region을 통한 온프레미스뿐만 아니라 서버리스 또는 전용 배포를 위해 사용할 수 있습니다.

  • 스트리밍

    Oracle Cloud Infrastructure Streaming은 실시간으로 소비하고 처리할 수 있는 대용량의 연속 데이터 스트림을 수집할 수 있는 확장 가능하며 내구성이 뛰어난 전담 관리 스토리지 솔루션을 제공합니다. Streaming을 사용하여 애플리케이션 로그, 운영 원격 측정, 웹 클릭-스트림 데이터와 같은 대용량 데이터를 입수하거나, 게시-구독 메시징 모델에서 데이터가 연속적으로 생성되고 처리되는 기타 사용 사례에 사용할 수 있습니다.

  • 서비스 커넥터

    Oracle Cloud Infrastructure Service Connector Hub는 OCI의 서비스 간 데이터 이동을 조정하는 클라우드 메시지 버스 플랫폼입니다. 서비스 커넥터를 사용하여 소스 서비스에서 대상 서비스로 데이터를 이동할 수 있습니다. 서비스 커넥터를 사용하면 대상 서비스로 전달되기 전에 데이터에 대해 수행할 작업(예: 함수)을 선택적으로 지정할 수도 있습니다.

    Oracle Cloud Infrastructure Service Connector Hub를 사용하여 보안 정보 및 이벤트 관리(SIEM) 시스템을 위한 로깅 집계 프레임워크를 빠르게 구축할 수 있습니다.

  • Data Science

    Oracle Cloud Infrastructure Data Science는 데이터 과학 팀이 Oracle Cloud Infrastructure(OCI)에서 머신 러닝(ML) 모델을 구축, 교육 및 관리하는 데 사용할 수 있는 완전 관리형 서버리스 플랫폼입니다. Oracle Autonomous Data Warehouse, Oracle Cloud Infrastructure Object Storage 등과 같은 다른 OCI 서비스와 쉽게 통합할 수 있습니다. 신뢰할 수 있는 엔터프라이즈 데이터를 신속하게 작동하도록 하여 비즈니스 유연성을 높이는 고품질 머신 러닝 모델을 구축하고 평가할 수 있으며, ML 모델을 보다 쉽게 배포하여 데이터 기반 비즈니스 목표를 지원할 수 있습니다.

  • 함수

    Oracle Cloud Infrastructure Functions는 확장성이 뛰어난 완전 관리형 멀티테넌트, 온디맨드 FaaS(Functions-as-a-Service) 플랫폼입니다(FaaS). 그것은 Fn 프로젝트 오픈 소스 엔진에 의해 구동 됩니다. 함수를 사용하면 코드를 배치하고 직접 호출하거나 이벤트에 대한 응답으로 트리거할 수 있습니다. Oracle Functions는 Oracle Cloud Infrastructure Registry에서 호스팅되는 Docker 컨테이너를 사용합니다.

  • 로깅
    로깅은 확장성이 뛰어난 완전 관리형 서비스로, 클라우드의 리소스에서 다음 유형의 로그에 액세스할 수 있습니다.
    • 감사 로그: 감사 서비스에서 내보낸 이벤트와 관련된 로그입니다.
    • 서비스 로그: API Gateway, Events, Functions, Load Balancing, Object Storage, VCN 플로우 로그와 같은 개별 서비스에서 내보낸 로그입니다.
    • 사용자 정의 로그: 사용자 정의 응용 프로그램, 다른 클라우드 공급자 또는 온프레미스 환경의 진단 정보를 포함하는 로그입니다.

권장사항

다음 권장사항을 OCI Functions 및 OCI Events를 사용하여 이 참조 아키텍처를 구현하는 시작점으로 사용하십시오. 요구 사항은 여기에 설명된 아키텍처와 다를 수 있습니다.
  • VCN

    VCN을 생성할 때 VCN의 서브넷에 연결할 리소스 수를 기준으로 필요한 CIDR 블록 수와 각 블록의 크기를 결정합니다. 표준 전용 IP 주소 공간 내에 있는 CIDR 블록을 사용합니다.

    전용 접속을 설정할 다른 네트워크(Oracle Cloud Infrastructure, 온프레미스 데이터 센터 또는 다른 클라우드 제공자)와 겹치지 않는 CIDR 블록을 선택합니다.

    VCN을 생성한 후 해당 CIDR 블록을 변경, 추가 및 제거할 수 있습니다.

    서브넷을 설계할 때 트래픽 흐름 및 보안 요구 사항을 고려합니다. 특정 계층 또는 역할 내의 모든 리소스를 보안 경계로 사용할 수 있는 동일한 서브넷에 연결합니다.

  • 애플리케이션 디자인

    이 참조 아키텍처는 모든 처리에 OCI Functions를 사용합니다. 최대 실행 시간 300초와 같은 OCI Functions 사용에 대한 제한은 거의 없으며, 대량의 입력 흐름 데이터에 이 아키텍처를 사용하려는 경우 OCI Compute 인스턴스에서 애플리케이션 실행을 고려할 수 있습니다. 여러 실행자를 실행할 수 있으며 각 실행자는 입력 이벤트를 개별적으로 병렬로 사용하고 처리할 수 있습니다.

  • 장애 복구

    다른 OCI 지역의 대기 재해 복구 인스턴스는 엔터프라이즈 애플리케이션에 권장됩니다. SLA 및 데이터 내구성 요구사항을 충족하려면 3계층 전반에서 DR 전략이 일관되어야 합니다. 재해 복구 Oracle Exadata Database Service on Dedicated InfrastructureOracle Data Guard를 사용하여 운영 환경과 동기화됩니다. 대기 Oracle Exadata Database Service on Dedicated Infrastructure는 기본 데이터베이스의 트랜잭션상 일관된 복사본입니다. Oracle Data Guard는 기본 데이터베이스에서 대기 데이터베이스로 리두 데이터를 전송하고 적용하여 데이터베이스 간의 동기화를 자동으로 유지 관리합니다. 기본 영역에서 재해가 발생하면 Oracle Data Guard가 보조 영역의 대기 데이터베이스로 자동으로 페일오버됩니다. 프런트엔드 로드 밸런서는 네트워크 로드 밸런서에 대해 대기 모드로 배치되거나, 서비스형 로드 밸런서를 사용하여 고가용성을 제공합니다.

고려사항

이 참조 아키텍처를 구현할 때는 다음 측면을 고려해야 합니다.

  • 성능

    OCI Functions, Autonomous Data Warehouse 및 기타 중요한 서비스는 확장성이 뛰어납니다. 메인프레임 애플리케이션의 크기 및 요구 사항에 따라 컴퓨트 및 스토리지 리소스 수를 조정하는 것이 좋습니다.

  • 보안

    정책을 사용하여 OCI 리소스에 액세스할 수 있는 사용자를 제한합니다. OCI Object Storage의 경우 암호화는 기본적으로 사용으로 설정되며, 해제할 수 없습니다. OCI Functions에 배포된 함수에 대한 모든 액세스는 Oracle Cloud Infrastructure Identity and Access Management(OCI IAM)를 통해 제어됩니다. 이를 통해 함수 관리 및 함수 호출 권한을 모두 특정 사용자와 사용자 그룹에 할당할 수 있습니다. OCI Vault에 암호 및 민감한 데이터를 저장하는 것이 좋습니다. OCI 서비스 권한 부여에 사용되는 API 키 및 인증 토큰을 저장하려면 OCI Vault를 사용하는 것이 좋습니다.

  • 가용성

    Oracle은 클라우드 네이티브 및 완전 관리형 OCI Functions, Autonomous Data Warehouse 및 기타 서비스의 고가용성을 보장합니다. 단일 가용성 도메인 내에 배포된 워크로드의 경우, 이 아키텍처에 표시된 대로 장애 도메인 전반에 리소스를 배포하여 복원성을 보장할 수 있습니다. 둘 이상의 가용성 도메인이 있는 영역에 작업 로드를 배치하려는 경우 리소스를 여러 가용성 도메인에 분산할 수 있습니다.

  • 확장성

    컴퓨트 인스턴스 구성으로 전환하고 구성을 변경하여 애플리케이션 서버를 수직으로 확장할 수 있습니다. 코어 수가 더 많은 구성은 더 많은 메모리 및 네트워크 대역폭을 제공합니다. 스토리지가 더 필요하면 애플리케이션 서버에 연결된 블록 볼륨의 크기를 늘리십시오. Autonomous Data Warehouse DB 시스템에 더 많은 코어를 사용으로 설정하여 데이터베이스를 수직으로 확장할 수 있습니다. 쿼터 랙의 경우 OCPU를 2의 배수로 추가할 수 있습니다. 데이터베이스는 크기 조정 작업 중에 계속 사용할 수 있습니다. 워크로드가 사용 가능한 CPU 및 스토리지보다 커지면 더 큰 랙으로 마이그레이션할 수 있습니다.

확인

  • 작성자: Lovelesh Saxena