IoE 와 서비스 메쉬 (service mesh) 의 뜻은 무엇인가?
IoE ( 만물인터넷 : Internet of Everything )
IoE 는 사람,프로세스,데이터,사물 등 세상 만물이 인터넷에 연결되어 서로 소통하며
새로운 가치와 경험을 창출하는 기술을 의미합니다.
이것은 IoT(사물인터넷)에서 좀 더 확장된 개념으로 사람,모바일,클라우드 등 모든것을
연결시켜 상호 소통할 수 있습니다.
예를 들면, IoE 세상에서는 무인자동차가 다른 자동차, 집, 도로, 주차장, 가로등과
서로 정보와 데이터를 주고 받게 됩니다.
이와 같이, IoE 가능한 것은 초연결(Hyper-Connection)이 가능하기 때문입니다.
21세기 인류의 모든 문명은 ICT 기술이 더욱 진일보 할 것이고,
인터넷에 연결되고 우리의 생활세계는 이러한 초연결 인터넷에 더욱 의존하게 될 것이다.
IoE 세상은 거대한 디지털 행성과도 같은 모습이 될것 이라 한다. IoE가 성장하면서 나타나는
디지털 행성과 같은 미래 사회는 현재보다 1천배이상 초대용량 무한 클라우드가 생기고
유무선 네트워크도 초대규모 네트워크로 연결 된다고 예상한다.
* 초연결이란, 가트너 사가 2008년 처음 사용한 용어로, 모바일 시대에 사람과 사람, 사람과 사물,
사물과 사물이 서로 연결되는 상황을 의미 합니다.
* ICT기술이란(Information & Communication Technologies)
정보기술과 통신기술을 합쳐서 정보통신기술을 이야기 한다.
* ICT와 IT 차이
IT는 인터넷, 휴대전화 등에 사용되는 전반적인 기술을 말하는 큰 개념
ICT는 IT라는 큰 개념에서 통신(Communication)에 관련된 사업을 이야기하고 IT에 포함되어 있는 개념
ICT는 IT 범주내에서 통신사업과 관련된 부분을 지칭한다고 보면 된다.
서비스 메쉬 ( Service Mesh ) 란 ?
application의 다양한 부분들이 서로 데이터를 공유하는 방식을 제어하는 방법
서비스간 커뮤니케이션을 관리하는 다른 시스템들과 달리, 서비스 메쉬는 어플리케이션에
구축된 전용 인프라 계층이다. 이 가시적인 인프라 계층은 서로 다른 어플리케이션 부분이
얼마나 원활하게 상호 작용하는지를 기록 할 수 있으므로, 더욱 손쉽게 커뮤니케이션을
최적화 하고 어플리케이션 확장에 따른 다운 타임을 방지 할 수 있다.
MicroService Architecture를 적용한 시스템의 내부 통신이 Mesh 네트워크 형태를 띄는 것을
빗대어 이야기 하는 것을 Service Mesh 라 한다.
Service Mesh는 MSA구현된 서비스간 통신을 추상화하여 안전하고, 빠르고, 신뢰할 수 있게
만드는 전용 InfraStructure Layer 이다.
추상화를 통해 복잡한 내부 네트워크를 제어하고, 추적하고, 내부 네트워크 관련 로직을 추가
함으로써 안정성, 신뢰성, 탄력성, 표준화, 가시성, 보안성 등을 확보합니다.
Service Mesh의 구현체인 경량화 Proxy를 통해 다양한 Routing Rules, circuit breaker(서킷브레이커)등
공통기능을 설정 할 수 있다. 이는 서비스간 통신에 연관된 기능뿐만 아니라, 서비스의 배포 전략에도
도움이 된다.
Service Mesh를 사용하는이유?
MSA의 문제점 중에서 시스템의 런타임 복잡성 때문이다.
시스템 규모에 따라 다르지만 수십게의 MSA 서비스가 분리되어 있고
이 서비스 사이에 수백 수천의 Instance가 동작합니다.
Paas 환경에서 각서비스의 Instance는 스케일링 되며 동적으로 처리됩니다.
이 수백~수천개의 Instance를 모니터링하고 로깅 처리하고 Instance를 관리해야 합니다.
이 많은 서비스간의 통신에서 안정적이지 않은 내부 네트워크는 시스템의 신뢰성, 안정성을 보장할수 없다.
동적으로 수많은 Instance가 up/down 사이에 이런 복잡한 상황에서 내부 네트워크를 안정적으로 다루기 위해
새로운 기능, 요구사항 관리포인트 들이 필요하기 때문에 Service Mesh를 사용한다.
Service Mesh 구현
구성은 보통 서비스 앞단에 경량화 프록시를 사이드카 패턴으로 배치하여 서비스 간 통신을 제어하는 방법으로 구현
서비스간의 통신은 사이트카로 배치된 경향화 Proxy를 통해 동작한다.
이 Proxy에 Routing rules, retry, timeout등 설정하고 로직을 공통기능으로 기본 어플리케이션에서 분리 할수 있다.
현재 활발하게 발전하고 있는 Service Mesh 는 istio, linked, conduit 등이 있다.
다시 쉽게 정리 하자면
Service Mesh는 마이크로 서비스 간의 통신(네크워크)를 담당하는 요소이다.
마이크로 서비스 구성 요소간 상호 통신을 위해서 Service Discovery(서비스 확인),
서비스 라우팅, Failure recovery(실패복구), load balancing(트래픽 관리), 보안 등의
문제를 처리 할 수 있는 별도 메커니즘이 필요하다.
그래서 Service Mesh는 통신 및 네트워크 기능을 비즈니스 로직과 분리한 네트워크 통신 인프라이다.
모든 서비스의 Infra layer(인프라 레이어)로서 서비스들 간의 통신을 처리하며, 위에 이야기한 별도의
메커니즘 처리 기능을 포함하고 있다.
[그림 참조]
'경험치바(Experience Opint Bar)' 카테고리의 다른 글
[JAVA] Split 메소드 말고 StringTokenizer로 문자열 여러 구분자로 한번에 분리 (0) | 2023.01.06 |
---|---|
일하는 방법만 알고 일하는 의미를 모르면 무슨 가치가 있겠나? (0) | 2022.05.17 |
Mysql select 조회시 특정값 제외, 포함 검색 및 LIKE NOT 활용 (2) | 2020.05.26 |
기획디자인 UI TOOL PowerMockup 4.3.3.0 설치 무료라이센스 팁 (0) | 2020.04.09 |
Infrastructure 인프라스트럭처 란 무엇일까? (0) | 2020.02.17 |