Baremetal 환경이란?
1대의 물리서버를 단일 사용자가 전용으로 사용하는 형태
-> 하나의 서버에 하나의 어플리케이션 존재
VM 환경이란?
가상머신을 이용하여 물리서버 위에 가상 컴퓨터 시스템으로 작동하는 환경
-> 하나의 하드웨어의 많은 어플리케이션 존재가능
SDN(Software-Defined Networking)이란?
소프트웨어 정의 네트워킹(SDN)은 네트워크에서 트래픽을 이동하고 기반 하드웨어 인프라와 통신하기 위해 소프트웨어 기반 컨트롤러 또는 애플리케이션 프로그래밍 인터페이스(API)를 활용하는 네트워킹에 대한 접근 방법입니다.
Consul이란?
콘술(Consul)은 DNS 기반 서비스 디스커버리를 위해 2014년 처음 출시된 소프트웨어이며 service mesh 솔루션을 제공하는 다중 네트워킹 도구입니다.
Service discovery란?
마이크로서비스에서 다양한 서비스중에서 클라이언트가 서비스를 호출할때 서비스의 위치 (즉 IP주소와 포트)를 알아낼 수 있는 기능이 필요한데, 이것을 바로 서비스 디스커버리 (Service discovery)라고 한다.
Service mesh란?
서비스 간의 통신을 제어하고 표시, 관리할 수 있도록 하는데 특화된 마이크로 서비스를 위한 어플리케이션에 구축된 인프라 계층
서비스 메시 없이 동작하는 마이크로 서비스는 서비스 간 커뮤니케이션을 통제하는 로직으로 코딩해야 하기 때문에 비즈니스 로직에 집중하기 어려워짐 또 서비스가 커짐에 따라 장애대응이 힘들어짐
Consul on HCP(Hashicorp Cloud Platform)
SMaaS(Service Mesh as a Service) Consul의 완전 관리형버전으로 Consul의 가치 실현 시간을 단축합니다 . 이를 통해 더 적은 설정 시간으로 서비스 검색 및 서비스 메시 기능에 Consul을 사용할 수 있습니다.
Consul on kubenetes
서비스를 안전하게 연결 해주는 용도??
좀 더 유연하게 로드 벨런서 역할을 해주는 것 같음
디스커버리기능
1. Service Discovery
DNS 또는 HTTP 인터페이스를 통해 서비스를 자체적으로 검색하고 등록(self-register)
2. Failure Detection
Health check에 실패한 서비스를 자동으로 제거
3. Multi Datacenter
Datacenter를 구축하고 Datacenter간 WAN GOSSIP 프로토콜을 이용하여 정보를 조회 할 수 있도록 기능 제공
4. KV Storage
Key/Value를 저장할 수 있는 저장소를 제공하여 서비스 별 Config 정보나 특정 데이타를 저장하여 instance간 config 정보 수정이나 데이타 공유를 할 수 있도록 지원
기존 방화벽의 단점
서비스가 커지게 되면 보안이 중요해짐
그 결과 많은 양의 방화벽과 유지비용 방대한 방화벽 규칙 목록이 요구됨에 따라 확장성이 떨어짐
consul 강점
consul은 서로 다른 환경에서 모든 앱 또는 서비스 간의 보안 연결가능
결론 consul의 주기능으로 4가지가 있고 다른 헤쉬코프 스택이나 다른 클라우드서비스(aws, gcp, azure)를 함께 사용 할 수 있어 다른 도구의 장점까지 살릴 수 있다.