KR102140193B1 - 서비스 매쉬 구조를 이용해 배포된 서비스를 모니터링하는 모니터링 시스템 - Google Patents

서비스 매쉬 구조를 이용해 배포된 서비스를 모니터링하는 모니터링 시스템 Download PDF

Info

Publication number
KR102140193B1
KR102140193B1 KR1020190137823A KR20190137823A KR102140193B1 KR 102140193 B1 KR102140193 B1 KR 102140193B1 KR 1020190137823 A KR1020190137823 A KR 1020190137823A KR 20190137823 A KR20190137823 A KR 20190137823A KR 102140193 B1 KR102140193 B1 KR 102140193B1
Authority
KR
South Korea
Prior art keywords
service
monitoring
unit
qos
mesh
Prior art date
Application number
KR1020190137823A
Other languages
English (en)
Inventor
김영한
임호근
Original Assignee
숭실대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 숭실대학교산학협력단 filed Critical 숭실대학교산학협력단
Priority to KR1020190137823A priority Critical patent/KR102140193B1/ko
Application granted granted Critical
Publication of KR102140193B1 publication Critical patent/KR102140193B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 서비스 매쉬(service mesh) 구조를 이용해 배포된 서비스를 모니터링하는 모니터링 시스템에 있어서 상기 서비스 매쉬를 구성하는 분석부에 의해 수집된 데이터에 기반하여 상기 서비스가 QoS(quality of service)를 만족하는지 여부를 모니터링하는 모니터링, 상기 서비스가 QoS를 만족하지 못하는 경우, 상기 서비스를 복구하기 위한 방식을 결정하는 결정부 및 상기 결정부에 의해 결정된 방식에 기반하여 서비스를 복구하기 위한 API(application programming interface)를 결정하고, 상기 서비스 매쉬를 구성하는 오케스트레이터(orchetstrator)로 상기 API를 전송하는 수행부를 포함하는 서비스 모니터링 시스템을 제공한다.

Description

서비스 매쉬 구조를 이용해 배포된 서비스를 모니터링하는 모니터링 시스템{MONITORING SYSTEM FOR MONITORING DISTRIBUTED SERVICE BY USING SERVICE MESH}
본 발명은 서비스 매쉬 구조를 이용해 배포된 서비스를 모니터링하는 모니터링 시스템에 관한 것이다.
마이크로 서비스란 하나의 서비스를 여러 개의 부분 업무 영역으로 나눈 후, 각 개별 영역을 완결된 작은 단위의 서비스들의 연결로 구성하는 소프트웨어 설계와 개발 방법론이다.
마이크로 서비스는 웹 기반 온라인 서비스의 글로벌화와 대용량화에 따라 서비스의 안정성을 위해서 분산 구조의 네트워크 시스템 설계 방식으로 등장하였으며, 빠르게 변화하는 비즈니스 환경에 맞춰 서비스의 변경과 개선을 유연하고 빠른 주기로 지속적으로 배포할 수 있는 아키텍처로 각광받으며 전 세계적으로 확산되어 가고 있다.
마이크로 서비스는 구조적으로 많은 단위 서비스로 나누어져 있고, 각 단위 서비스마다 수많은 통신 연결을 가지게 된다. 따라서 마이크로 서비스 구조로 구축하기 위해서는 새롭게 고려할 개발 사항이 크게 증가하고, 복잡한 구조를 가진 서비스를 안정적으로 운영하기 위해 많은 노력과 투자가 필요하다.
이러한 마이크로 서비스를 도입하기 위해서는 단위 서비스들을 독립적으로 개발하여 배포할 수 있는 환경과 배포된 단위 서비스들이 상호 간에 복잡한 설정 없이 쉽게 연결될 수 있는 환경이 필요할 것이다. 그리고 배포된 단위 서비스들을 높은 가용성으로 안정적으로 운영함과 동시에 운영 업무의 부담을 줄이기 위해 부하 분산, 장애 복구, 부하 증가에 따른 자동 스케일링 등이 자동화된 환경을 갖추어야 할 것이다. 또한 마이크로 서비스의 각 단위 서비스들 간에 발생하는 통신에 대한 제어와 관리를 할 수 있는 환경이 필요할 것이다.
한편,마이크로 서비스에서 발생 가능한 문제를 효율적으로 해결하기 위한 방법으로 서비스 매쉬(service mesh) 구조가 제안되었다. 서비스 메쉬 구조에서는 각 서비스 앞에 사이드카 형태로 프록시(proxy)를 배치함으로써 서비스간 통신이 서비스 네트워크 계층의 프록시를 통해 수행되도록 할 수 있다.
종래 기술에 따른 서비스 매쉬 구조에서는 서비스 배포 시 서비스의 특성은 고려되지 않는다. 따라서, 본 발명에서는 서비스 매쉬 구조에서 서비스의 품질을 보장할 수 있는 서비스 모니터링 시스템 또는 서비스 배포 방법을 제공한다.
본 발명은 서비스 매쉬(service mesh) 구조를 이용해 배포된 서비스를 모니터링하는 모니터링 시스템에 있어서 상기 서비스 매쉬를 구성하는 분석부에 의해 수집된 데이터에 기반하여 상기 서비스가 QoS(quality of service)를 만족하는지 여부를 모니터링하는 모니터링부, 상기 서비스가 QoS를 만족하지 못하는 경우, 상기 서비스를 복구하기 위한 방식을 결정하는 결정부 및 상기 결정부에 의해 결정된 방식에 기반하여 서비스를 복구하기 위한 API(application programming interface)를 결정하고, 상기 서비스 매쉬를 구성하는 오케스트레이터(orchetstrator)로 상기 API를 전송하는 수행부를 포함하는 서비스 모니터링 시스템을 제공한다.
일 실시예에 따르면, 상기 모니터링부는 상기 서비스 매쉬에 의해 제공되는 컨테이너 단위, 파드(pod) 단위, 서비스 단위, CPU의 사용량 또는 상기 서비스의 지연 속도 중 적어도 하나에 기반하여 상기 서비스가 QoS를 만족하는지 여부를 모니터링할 수 있다.
일 실시예에 따르면, 상기 서비스를 복구하기 위한 방식은 상기 서비스와 관련된 CPU의 개수, 상기 서비스가 배치되는 노드, 상기 서비스에 대응하는 프록시에 대한 정보를 포함할 수 있다.
일 실시예에 따르면, 상기 서비스 모니터링 시스템은 사용자로부터 서비스 배포 요청을 수신하고, 상기 오케스트레이터를 통해 상기 서비스를 배포하는 서비스 디스커버리(service discovery)를 더 포함할 수 있다.
일 실시예에 따르면, 상기 서비스 디스커버리가 상기 사용자로부터 QoS의 준수가 필요한 서비스 배포 요청을 수신한 경우, 상기 서비스 디스커버리는 상기 분석부를 통해 상기 서비스 매쉬의 인프라 상태를 확인하고, 상기 인프라 상태와 상기 QoS에 기반하여 서비스를 배포할 수 있다.
일 실시예에 따르면, 상기 서비스가 복수개의 인스턴스를 포함하는 경우, 상기 서비스 디스커버리는 상기 서비스를 구성하는 복수개의 서브서비스와 관련된 각 프록시와 각 인스턴스간의 대응관계를 결정하기 위한 설정을 수행할 수 있다.
일 실시예에 따르면, 상기 서비스 디스커버리가 상기 사용자로부터 QoS의 준수가 필요하지 않은 서비스 배포 요청을 수신한 경우, 상기 오케스트레이터는 기설정된 스케줄링 방식에 따라 상기 서비스를 배포할 수 있다.
본 발명은 서비스 매쉬 구조를 이용해 배포된 서비스를 모니터링하는 서비스 모니터링 시스템의 모니터링 방법에 있어서 모니터링부를 통해 상기 서비스 매쉬를 구성하는 분석부에 의해 수집된 데이터에 기반하여 상기 서비스가 QoS(quality of service)를 만족하는지 여부를 모니터링하는 단계, 상기 서비스가 QoS를 만족하지 못하는 경우, 결정부를 통해 상기 서비스를 복구하기 위한 방식을 결정하는 단계 및 수행부를 통해 상기 결정부에 의해 결정된 방식에 기반하여 서비스를 복구하기 위한 API(application programming interface)를 결정하고, 상기 서비스 매쉬를 구성하는 오케스트레이터(orchetstrator)로 상기 API를 전송하는 단계를 포함하는 모니터링 방법을 제공한다.
일 실시예에 따르면, 상기 모니터링하는 단계는 상기 서비스 매쉬에 의해 제공되는 컨테이너 단위, 파드(pod) 단위, 서비스 단위, CPU의 사용량 또는 상기 서비스의 지연 속도 중 적어도 하나에 기반하여 상기 서비스가 QoS를 만족하는지 여부를 모니터링할 수 있다.
일 실시예에 따르면, 상기 서비스를 복구하기 위한 방식은 상기 서비스와 관련된 CPU의 개수, 상기 서비스가 배치되는 노드, 상기 서비스에 대응하는 프록시에 대한 정보를 포함할 수 있다.
일 실시예에 따르면, 서비스 디스커버리(service discovery)를 통해 사용자로부터 서비스 배포 요청을 수신하고, 상기 오케스트레이터를 통해 상기 서비스를 배포하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 상기 서비스를 배포하는 단계는 상기 서비스 디스커버리가 상기 사용자로부터 QoS의 준수가 필요한 서비스 배포 요청을 수신한 경우, 상기 서비스 디스커버리는 상기 분석부를 통해 상기 서비스 매쉬의 인프라 상태를 확인하고, 상기 인프라 상태와 상기 QoS에 기반하여 서비스를 배포하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 서비스가 복수개의 인스턴스를 포함하는 경우, 상기 서비스 디스커버리는 상기 서비스를 구성하는 복수개의 서브서비스와 관련된 각 프록시와 각 인스턴스간의 대응관계를 결정하기 위한 설정을 수행하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 상기 서비스를 배포하는 단계는 상기 서비스 디스커버리가 상기 사용자로부터 QoS의 준수가 필요하지 않은 서비스 배포 요청을 수신한 경우, 상기 오케스트레이터를 통해 기설정된 스케줄링 방식에 따라 상기 서비스를 배포하는 단계를 포함할 수 있다.
본 발명에서 개시하고 있는 일 실시예에 따를 경우, 서비스의 품질에 기반하여 서비스를 배포 또는 복구할 수 있으므로 배포되는 서비스의 품질이 보장될 수 있다.
도 1은 본 발명의 일 실시예에 따른 네트워크 아키텍쳐이다.
도 2는 본 발명의 일 실시예에 따른 모니터링 및 복구 절차를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 모니터링 및 복구 방법에 대한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 서비스 배포 절차를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 서비스 배포 방법에 대한 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면을 참조하여 상세하게 설명하도록 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재 항목들의 조합 또는 복수의 관련된 기재 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급될 때에는 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있다는 것을 의미한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 네트워크 아키텍쳐이다.
일 실시예에 따르면, 서비스 매쉬는 복수개의 서비스(121, 123, 125)를 포함할 수 있으며, 각 서비스 블록마다 각 서비스에 대응되는 프록시(122, 124, 126)가 사이드카 형태로 배치될 수 있다. 다양한 실시예에 따르면, 서비스 매쉬를 통해 홈쇼핑 서비스를 제공하는 경우, 상기 A 서비스는 홈쇼핑 영상 제공과 관련된 서비스일 수 있으며, B 서비스는 홈쇼핑 구매 관련 서비스일 수 있다.
일 실시예에 따르면, 서비스 매쉬의 제어 평면(control plane, 130)은 식별부, 분석부(131) 및 설정부(133)를 포함할 수 있다. 다양한 실시예에 따르면, 분석부(131)는 각 서비스 블록의 프록시(122, 124, 126)와 통신을 송수신할 수 있으며, 이를 통해 각 서비스 블록의 인프라 상태를 수집할 수 있다.
일 실시예에 따르면, 설정부(133)는 상기 복수개의 프록시(122, 124, 126)의 configure를 설정할 수 있다. 다양한 실시예에 따르면, A 서비스가 복수개의 인스턴스로 구성되어 있을 때 A 서비스를 원활하게 제공하기 위해서는 A 서비스에 대응되는 프록시(122)가 A 서비스를 구성하는 인스턴스의 정보를 알고 있어야 하므로 설정부(133)를 통해 이 같은 정보를 프록시(122)에 설정할 수 있다.
한편, 본 발명을 통해 새로 개시하고자 하는 시스템 블록은 모니터링부(111), 결정부(113), 수행부(115), 서비스 디스커버리(117)를 포함하는 HA(high availability) 시스템 블록(110)이다. 일 실시예에 따르면 모니터링부(111)는 분석부(131)에 의해 수집된 데이터를 분석함으로써 제공 서비스가 관리자가 정의한 QoS 정책을 위반하는지 여부를 모니터링할 수 있다. 다양한 실시예에 따르면, QoS 정책에 위반된 경우, 모니터링부(111)는 QoS를 위반하는 서비스와 그 내용을 결정부(113)에 알릴 수 있다.
일 실시예에 따르면, 결정부(113)는 QoS를 위반하는 서비스들에 대해서 어떠한 서비스들이 어떻게 복구되어야 할지를 결정할 수 있다. 다양한 실시예에 따르면, 결정부(113)는 모든 인스턴스에 대해서 복구 요청을 하지 않음으로써 불필요한 복구 작업이 발생하는 것을 방지할 수 있다.
일 실시예에 따르면, 수행부(115)는 결정부(113)에 의해 결정된 복구 요청사항을 이용해 오케스트레이터(140) 및 설정부(133)가 이해하도록 하기 위해 API(application programming interface) 형태를 바꾼 후 각 컴포넌트로 API 호출을 수행할 수 있다. 다양한 실시예에 따르면, 모든 서비스의 배포는 서비스 디스커버리(117)에 의해 배포되며, 사용자(150)의 서비스 배포 요청에 의해 서비스 디스커버리(117)가 동작할 수 있다.
도 2는 본 발명의 일 실시예에 따른 모니터링 및 복구 절차를 설명하기 위한 도면이다. 도 2에서 도시하고 있는 복구 절차는 도 1에서 도시하고 있는 네트워크 구조에 의해 수행될 수 있다.
일 실시예에 따르면, 모니터링부(201)는 S210 단계를 통해 배포되는 서비스가 QoS 정책을 위반하였는지 여부를 모니터링 할 수 있다. 다양한 실시예에 따르면, 상기 모니터링부(201)가 상기 QoS 정책의 위반여부를 판단하기 위해 QoS 정책이 관리자를 통해 상기 모니터링부(201)에 사전에 설정될 수 있다. 예를 들어 상기 QoS 정책은 컨테이너 단위, 파드 단위, 서비스 단위, CPU의 사용량, 서비스의 지연 속도에 기반하여 설정될 수 있다.
일 실시예에 따르면, 모니터링부(201)는 제어평면을 구성하는 분석부에 의해 수집된 데이터를 분석함으로써 현재 QoS가 관리자가 설정한 QoS 정책을 위반하였는지 여부를 모니터링할 수 있다. 다양한 실시예에 따르면, 모니터링부(201)가 QoS 정책 위반을 감지한 경우, S220 단계를 통해 모니터링부(201)는 QoS 정책 위반에 대한 정보를 결정부(203)로 전송할 수 있다.
일 실시예에 따르면, 결정부(203)는 S220 단계를 통해 모니터링부(201)로부터 QoS 정책 위반에 대한 트리거를 받을 수 있으며, S230 단계를 통해 결정부(230)는 어떠한 서비스가 복구되어야 하는지 여부와 서비스를 어떻게 복구할 것인지 여부를 결정할 수 있다. 다양한 실시예에 따르면, 결정부는 서비스를 제공하기 위한 CPU의 개수, 서비스를 배치하는 노드, 서비스에 대한 proxy configure 등 다양한 정보를 결정할 수 있다.
일 실시예에 따르면, 결정부(203)는 서비스를 구성하는 모든 인스턴스에 대해서 복구 요청을 하지 않을 수 있으며, 이를 통해 불필요한 복구 작업을 줄일 수 있다. 다양한 실시예에 따르면, 결정부(203)는 S240 단계를 통해 수행부(205)로 서비스의 복구를 트리거할 수 있다.
일 실시예에 따르면, 수행부(205)는 S250 단계를 통해 결정부(203)에 의해 결정된 방식에 기반하여 서비스를 복구하기 위한 API를 결정할 수 있다. 다양한 실시예에 따르면, 수행부(205)는 결정부(203)에 의해 결정된 서비스 복구 요청사항에 기반하여 오케스트레이터(207)가 이해 가능한 API 형태로 바꾼 후 S260 단계를 통해 상기 API를 오케스트레이터(207)로 전송할 수 있다.
도 3은 본 발명의 일 실시예에 따른 모니터링 및 복구 방법에 대한 흐름도이다. 도 3에서 도시하고 있는 흐름도는 도 1에서 도시하고 있는 네트워크 구조에 의해 수행될 수 있다.
일 실시예에 따르면, S310 단계에서 모니터링부를 통해 서비스 매쉬를 구성하는 분석부에 의해 수집된 데이터에 기반하여 배포되는 서비스가 QoS를 만족하는지 여부를 모니터링할 수 있다. 다양한 실시예에 따르면, S320 단계에서 배포되는 서비스가 QoS를 만족하는 경우, S310 단계를 통해 지속적으로 모니터링을 수행할 수 있다.
일 실시예에 따르면, S320 단계에서 배포되는 서비스가 QoS를 만족하지 않는다고 판단한 경우, 모니터링부는 S330 단계를 통해 결정부로 QoS 위반 사실을 통지할 수 있다. 다양한 실시예에 따르면, S340 단계에서 결정부는 서비스를 복구하기 위한 방식을 결정할 수 있다.
일 실시예에 따르면, S360 단계에서 수행부는 S350 단계를 통해 결정된 방식에 기반하여 서비스를 복구하기 위한 API를 결정할 수 있다. 다양한 실시예에 따르면 상기 서비스를 복구하기 위한 방식은 서비스와 관련된 CPU의 개수, 서비스가 배치되는 노드, 서비스에 대응하는 프록시에 대한 정보를 포함할 수 있다.
일 실시예에 따르면, S370 단계에서 수행부는 S360 단계를 통해 결정된 API를 서비스 매쉬를 구성하는 오케스트레이터로 전송할 수 있다. 다양한 실시예에 따르면, S380 단계에서 오케스트레이터는 수신한 API에 기반하여 서비스를 배포함으로써 배포되는 서비스의 QoS를 향상시킬 수 있다.
도 4는 본 발명의 일 실시예에 따른 서비스 배포 절차를 설명하기 위한 도면이다. 도 4에서 도시하고 있는 서비스 배포 절차는 도 1에서 도시하고 있는 네트워크 구조에 의해 수행될 수 있다.
도 4에서 도시하고 있는 서비스 배포 절차는 두 개의 option으로 구분될 수 있다. 보다 구체적으로 option 1은 사용자로부터 QoS 준수가 필요하지 않은 서비스 배포 요청을 수신한 경우일 수 있으며, option 2는 사용자로부터 QoS 준수가 필요한 서비스 배포 요청을 수신한 경우일 수 있다.
일 실시예에 따르면, S410 단계에서 사용자(401)는 서비스 디스커버리(403)로 QoS 준수가 필요 없는 서비스 배포 요청을 전송할 수 있다. 다양한 실시예에 따르면, 서비스 디스커버리(403)는 사용자(401)가 요청하는 API를 확인한 이후 해당 서비스가 QoS 준수가 필요한지 여부를 결정할 수 있다.
일 실시예에 따르면, QoS 준수가 필요 없는 서비스 배포 요청인 경우, S420 단계에서 서비스 디스커버리는 오케스트레이터(405)로 서비스 배포요청을 할 수 있다. 다양한 실시예에 따르면, S420 단계를 통한 서비스 배포 요청에 대해 오케스트레이터(405)는 기설정된 스케줄링 방식에 따라 서비스를 배포할 수 있다.
일 실시예에 따르면, S430 단계에서 사용자(401)는 서비스 디스커버리(403)로 QoS 준수가 필요한 서비스 배포 요청을 전송할 수 있다. 다양한 실시예에 따르면, QoS 준수가 필요한 서비스 배포 요청인 경우, S440 단계에서 서비스 디스커버리(403)는 분석부(407)로 서비스 인프라 상태를 확인하기 위한 정보를 요청하며 이를 확인할 수 있다.
일 실시예에 따르면, 서비스 디스커버리(403)는 확인된 인프라 상태에 기반하여 특정한 룰을 따르는 서비스를 생성할 수 있으며, 생성된 서비스를 S450 단계를 통해 오케스트레이터(405)로 전송함으로써 사용자의 QoS 요청에 부합하는 서비스를 배포할 수 있다.
일 실시예에 따르면, S460 단계에서 서비스 디스커버리(403)는 설정부(409)로 각 서비스의 프록시를 설정하기 위한 정보를 전송할 수 있다. 다양한 실시예에 따르면, 서비스가 복수개의 인스턴스를 포함하는 경우 서비스 디스커버리(403)는 설정부(409)를 통해 상기 서비스를 구성하는 복수개의 서브서비스와 관련된 각 프록시와 각 인스턴스간의 대응관계를 결정하기 설정을 수행할 수 있다.
도 5는 본 발명의 일 실시예에 따른 서비스 배포 방법에 대한 흐름도이다. 도 5에서 도시하고 있는 흐름도는 도 1에서 도시하고 있는 네트워크 구조에 의해 수행될 수 있다.
일 실시예에 따르면, S510 단계에서 서비스 디스커버리는 사용자로부터 서비스 배포 요청을 수신할 수 있다. 다양한 실시예에 따르면, S520 단계에서 서비스 디스커버리는 서비스 배포 요청에 포함된 사용자의 요청 API에 기반하여 사용자가 배포를 요청하는 서비스가 QoS 준수가 필요한 서비스인지 여부를 판단할 수 있다.
일 실시예에 따르면, S520 단계에서 QoS 준수가 필요하지 않다고 판단된 경우, S530 단계를 통해 오케스트레이터는 기설정된 스케줄링 방식에 따라 사용자가 요청한 서비스를 배포할 수 있다. 다양한 실시예에 따르면, S520 단계에서 QoS 준수가 필요하다고 판단된 경우 S540 단계에서 서비스 디스커버리는 서비스 매쉬를 구성하는 분석부를 통해 서비스 매쉬의 인프라 상태를 확인할 수 있다.
일 실시예에 따르면, S550 단계에서 서비스 디스커버리는 확인된 인프라 상태와 준수가 필요한 QoS에 기반하여 서비스를 배포할 수 있다. 즉, 도 5에서 도시하고 있는 흐름도에 따를 경우, 사용자가 요청한 QoS 준수 규정에 부합되는 서비스를 배포할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 사람이라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (14)

  1. 서비스 매쉬(service mesh) 구조를 이용해 배포된 서비스를 모니터링하는 모니터링 시스템에 있어서,
    상기 서비스 매쉬를 구성하는 분석부에 의해 수집된 데이터에 기반하여 상기 서비스가 QoS(quality of service)를 만족하는지 여부를 모니터링하는 모니터링부;
    상기 서비스가 QoS를 만족하지 못하는 경우, 상기 서비스를 복구하기 위한 방식을 결정하는 결정부; 및
    상기 결정부에 의해 결정된 방식에 기반하여 서비스를 복구하기 위한 API(application programming interface)를 결정하고, 상기 서비스 매쉬를 구성하는 오케스트레이터(orchetstrator)로 상기 API를 전송하는 수행부를 포함하는,
    서비스 모니터링 시스템.
  2. 제1항에 있어서,
    상기 모니터링부는 상기 서비스 매쉬에 의해 제공되는 컨테이너 단위, 파드(pod) 단위, 서비스 단위, CPU의 사용량 또는 상기 서비스의 지연 속도 중 적어도 하나에 기반하여 상기 서비스가 QoS를 만족하는지 여부를 모니터링하는 것을 특징으로 하는,
    서비스 모니터링 시스템.
  3. 제1항에 있어서,
    상기 서비스를 복구하기 위한 방식은 상기 서비스와 관련된 CPU의 개수, 상기 서비스가 배치되는 노드, 상기 서비스에 대응하는 프록시에 대한 정보를 포함하는 것을 특징으로 하는,
    서비스 모니터링 시스템.
  4. 제1항에 있어서,
    사용자로부터 서비스 배포 요청을 수신하고, 상기 오케스트레이터를 통해 상기 서비스를 배포하는 서비스 디스커버리(service discovery)를 더 포함하는,
    서비스 모니터링 시스템.
  5. ◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈
    제4항에 있어서,
    상기 서비스 디스커버리가 상기 사용자로부터 QoS의 준수가 필요한 서비스 배포 요청을 수신한 경우, 상기 서비스 디스커버리는 상기 분석부를 통해 상기 서비스 매쉬의 인프라 상태를 확인하고, 상기 인프라 상태와 상기 QoS에 기반하여 서비스를 배포하는 것을 특징으로 하는,
    서비스 모니터링 시스템.
  6. 제5항에 있어서,
    상기 서비스가 복수개의 인스턴스를 포함하는 경우, 상기 서비스 디스커버리는 상기 서비스를 구성하는 복수개의 서브서비스와 관련된 각 프록시와 각 인스턴스간의 대응관계를 결정하기 위한 설정을 수행하는 것을 특징으로 하는,
    서비스 모니터링 시스템.
  7. 제4항에 있어서,
    상기 서비스 디스커버리가 상기 사용자로부터 QoS의 준수가 필요하지 않은 서비스 배포 요청을 수신한 경우, 상기 오케스트레이터는 기설정된 스케줄링 방식에 따라 상기 서비스를 배포하는 것을 특징으로 하는,
    서비스 모니터링 시스템.
  8. 서비스 매쉬 구조를 이용해 배포된 서비스를 모니터링하는 서비스 모니터링 시스템의 모니터링 방법에 있어서,
    모니터링부를 통해 상기 서비스 매쉬를 구성하는 분석부에 의해 수집된 데이터에 기반하여 상기 서비스가 QoS(quality of service)를 만족하는지 여부를 모니터링하는 단계;
    상기 서비스가 QoS를 만족하지 못하는 경우, 결정부를 통해 상기 서비스를 복구하기 위한 방식을 결정하는 단계; 및
    수행부를 통해 상기 결정부에 의해 결정된 방식에 기반하여 서비스를 복구하기 위한 API(application programming interface)를 결정하고, 상기 서비스 매쉬를 구성하는 오케스트레이터(orchetstrator)로 상기 API를 전송하는 단계를 포함하는,
    모니터링 방법.
  9. 제8항에 있어서,
    상기 모니터링하는 단계는 상기 서비스 매쉬에 의해 제공되는 컨테이너 단위, 파드(pod) 단위, 서비스 단위, CPU의 사용량 또는 상기 서비스의 지연 속도 중 적어도 하나에 기반하여 상기 서비스가 QoS를 만족하는지 여부를 모니터링하는 것을 특징으로 하는,
    모니터링 방법.
  10. 제8항에 있어서,
    상기 서비스를 복구하기 위한 방식은 상기 서비스와 관련된 CPU의 개수, 상기 서비스가 배치되는 노드, 상기 서비스에 대응하는 프록시에 대한 정보를 포함하는 것을 특징으로 하는,
    모니터링 방법.
  11. 제8항에 있어서,
    서비스 디스커버리(service discovery)를 통해 사용자로부터 서비스 배포 요청을 수신하고, 상기 오케스트레이터를 통해 상기 서비스를 배포하는 단계를 더 포함하는,
    모니터링 방법.
  12. 제11항에 있어서,
    상기 서비스를 배포하는 단계는,
    상기 서비스 디스커버리가 상기 사용자로부터 QoS의 준수가 필요한 서비스 배포 요청을 수신한 경우, 상기 서비스 디스커버리는 상기 분석부를 통해 상기 서비스 매쉬의 인프라 상태를 확인하고, 상기 인프라 상태와 상기 QoS에 기반하여 서비스를 배포하는 단계를 포함하는 것을 특징으로 하는,
    모니터링 방법.
  13. ◈청구항 13은(는) 설정등록료 납부시 포기되었습니다.◈
    제12항에 있어서,
    상기 서비스가 복수개의 인스턴스를 포함하는 경우, 상기 서비스 디스커버리는 상기 서비스를 구성하는 복수개의 서브서비스와 관련된 각 프록시와 각 인스턴스간의 대응관계를 결정하기 위한 설정을 수행하는 단계를 더 포함하는,
    모니터링 방법.
  14. 제11항에 있어서,
    상기 서비스를 배포하는 단계는,
    상기 서비스 디스커버리가 상기 사용자로부터 QoS의 준수가 필요하지 않은 서비스 배포 요청을 수신한 경우, 상기 오케스트레이터를 통해 기설정된 스케줄링 방식에 따라 상기 서비스를 배포하는 단계를 포함하는 것을 특징으로 하는,
    모니터링 방법.
KR1020190137823A 2019-10-31 2019-10-31 서비스 매쉬 구조를 이용해 배포된 서비스를 모니터링하는 모니터링 시스템 KR102140193B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190137823A KR102140193B1 (ko) 2019-10-31 2019-10-31 서비스 매쉬 구조를 이용해 배포된 서비스를 모니터링하는 모니터링 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190137823A KR102140193B1 (ko) 2019-10-31 2019-10-31 서비스 매쉬 구조를 이용해 배포된 서비스를 모니터링하는 모니터링 시스템

Publications (1)

Publication Number Publication Date
KR102140193B1 true KR102140193B1 (ko) 2020-07-31

Family

ID=71834935

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190137823A KR102140193B1 (ko) 2019-10-31 2019-10-31 서비스 매쉬 구조를 이용해 배포된 서비스를 모니터링하는 모니터링 시스템

Country Status (1)

Country Link
KR (1) KR102140193B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000365A (zh) * 2020-08-24 2020-11-27 百度时代网络技术(北京)有限公司 基于微服务架构的服务网格配置方法、装置、设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050106590A (ko) * 2003-02-20 2005-11-10 인터내셔널 비지네스 머신즈 코포레이션 서비스 인스턴스 생성 방법, 예측형 그리드 서비스인스턴스 생성 시스템 및 머신 판독 가능 저장 장치
KR20090090984A (ko) * 2008-02-22 2009-08-26 삼성전자주식회사 매쉬업 그래프 생성 방법 및 장치, 및 매쉬업 서비스 추천 방법 및 장치
KR20120067133A (ko) * 2010-12-15 2012-06-25 한국전자통신연구원 서비스 제공 방법 및 장치
KR20150086914A (ko) * 2014-01-21 2015-07-29 한국과학기술원 서비스 의도에 기반하여 동적 매쉬업 서비스를 제공하는 서비스 시스템 및 방법
KR101703837B1 (ko) * 2015-12-08 2017-02-07 국방과학연구소 위젯 플랫폼 제공 시스템 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050106590A (ko) * 2003-02-20 2005-11-10 인터내셔널 비지네스 머신즈 코포레이션 서비스 인스턴스 생성 방법, 예측형 그리드 서비스인스턴스 생성 시스템 및 머신 판독 가능 저장 장치
KR20090090984A (ko) * 2008-02-22 2009-08-26 삼성전자주식회사 매쉬업 그래프 생성 방법 및 장치, 및 매쉬업 서비스 추천 방법 및 장치
KR20120067133A (ko) * 2010-12-15 2012-06-25 한국전자통신연구원 서비스 제공 방법 및 장치
KR20150086914A (ko) * 2014-01-21 2015-07-29 한국과학기술원 서비스 의도에 기반하여 동적 매쉬업 서비스를 제공하는 서비스 시스템 및 방법
KR101703837B1 (ko) * 2015-12-08 2017-02-07 국방과학연구소 위젯 플랫폼 제공 시스템 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000365A (zh) * 2020-08-24 2020-11-27 百度时代网络技术(北京)有限公司 基于微服务架构的服务网格配置方法、装置、设备和介质
CN112000365B (zh) * 2020-08-24 2024-05-17 百度时代网络技术(北京)有限公司 基于微服务架构的服务网格配置方法、装置、设备和介质

Similar Documents

Publication Publication Date Title
US11405310B2 (en) Method and apparatus for selecting processing paths in a software defined network
US10819629B2 (en) Method and apparatus for dynamic network routing in a software defined network
US11146486B2 (en) Method and apparatus for enhancing services in a software defined network
US10819606B2 (en) Method and apparatus for selecting processing paths in a converged network
US10659619B2 (en) Method and apparatus for managing resources in a software defined network
US20220239649A1 (en) Technologies for securely extending cloud service apis in a cloud service marketplace
JP6457447B2 (ja) データセンターのネットワークトラフィックスケジューリング方法及び装置
US10505870B2 (en) Method and apparatus for a responsive software defined network
US10284730B2 (en) Method and apparatus for adaptive charging and performance in a software defined network
US9215190B2 (en) Generic control layer in a cloud environment
JP6408602B2 (ja) Nfvシステムにおけるサービス実装のための方法および通信ユニット
CN105979007B (zh) 加速资源处理方法、装置及网络功能虚拟化系统
US20200076709A1 (en) Method and system for assisted automatic network service request and delivery in a network environment
US20230057210A1 (en) Network service construction system and network service construction method
WO2020199686A1 (zh) 一种提供边缘服务的方法、系统及计算设备
US20230034901A1 (en) Resource pool management system, resource pool management method and program
CN107347089B (zh) 一种电信级别的云计算系统的资源分配方法
KR102140193B1 (ko) 서비스 매쉬 구조를 이용해 배포된 서비스를 모니터링하는 모니터링 시스템
WO2017133020A1 (zh) 一种nfv系统中的策略传输方法和装置
US20150372895A1 (en) Proactive Change of Communication Models
US9749224B2 (en) Method and apparatus for cloud provisioning of communication services
CN108512761B (zh) 文件传输调度方法、管理平台、请求平台以及存储介质
US20230040676A1 (en) Network service construction system and network service construction method
EP3258655B1 (en) Method and apparatus for determining nsd to be uploaded
Gomes et al. A framework for SLA establishment of virtual networks based on QoS classes

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant