Istio란?

Istio는 애플리케이션 네트워크 기능을 유연하고 쉽게 자동화할 수 있는 투명한 언어 독립적 방법을 제공하는 현대화된 서비스 네트워킹 레이어인 서비스 메시입니다. 클라우드 기반 애플리케이션을 구성하는 다양한 마이크로서비스를 관리하는 데 널리 사용되는 솔루션입니다. Istio 서비스 메시는 또한 이러한 마이크로서비스가 서로 통신하고 데이터를 공유하는 방법을 지원합니다.

조직이 클라우드로의 이동을 가속화하면서 필요에 따라 애플리케이션도 현대화하고 있습니다. 그러나 모놀리식 레거시 앱을 클라우드 기반 앱으로 전환하면 DevOps팀에 문제가 발생할 수 있습니다.

개발자는 클라우드에서 이동성을 보장하기 위해 느슨하게 결합된 마이크로서비스를 사용하여 앱을 어셈블하는 방법을 학습해야 합니다. 동시에 운영팀은 점점 더 커지는 하이브리드 및 멀티 클라우드 환경 내에서 새로운 클라우드 기반 앱을 관리해야 합니다. Istio를 사용하면 이러한 작업을 수행할 수 있습니다.

Istio의 정의

Istio는 조직에서 분산형 마이크로서비스 기반 앱을 어디서나 실행할 수 있도록 지원하는 오픈소스 서비스 메시입니다. 왜 Istio를 사용해야 하나요? Istio를 통해 조직은 마이크로서비스를 보호, 연결, 모니터링할 수 있으므로 엔터프라이즈 앱을 더욱 빠르고 안전하게 현대화할 수 있습니다.

Istio는 애플리케이션 코드를 변경할 필요 없이 서비스 간 트래픽 흐름을 관리하고 액세스 정책을 적용하며 원격 분석 데이터를 집계합니다. Istio는 기존의 분산형 애플리케이션에 투명하게 레이어링하여 배포 복잡성을 완화합니다.

Istio 서비스 메시의 이점

일관된 서비스 네트워킹 달성

네트워킹 운영자는 개발자 오버헤드를 추가하지 않고도 모든 서비스의 네트워킹을 일관성 있게 관리할 수 있습니다.

Istio 이점을 통한 서비스 보호

보안 운영자는 인증, 승인, 암호화를 비롯한 서비스 간 보안을 쉽게 구현할 수 있습니다.

애플리케이션 성능 향상

카나리아 롤아웃과 같은 권장사항을 구현하고 애플리케이션을 심도 있게 파악하여 성능을 개선하기 위해 집중해야 하는 부분을 파악할 수 있습니다.

Istio, Envoy, Kubernetes의 작동 방식

Istio와 Istio 아키텍처를 이해하기 위해서는 Envoy와 Kubernetes에 대해 알아야 합니다. Istio 대 Envoy 또는 Istio 대 Kubernetes의 문제가 아닙니다. 마이크로서비스 기반의 컨테이너화된 환경이 원활하게 작동하도록 이들을 함께 사용할 수 있습니다.

예를 들어 Istio 같은 서비스 메시는 제어 영역과 데이터 영역으로 구성됩니다. Istio는 Envoy의 확장된 버전을 데이터 영역으로 사용합니다. 그러면 Envoy가 Istio 서비스 메시의 모든 인바운드 트래픽과 아웃바운드 트래픽을 관리합니다.

반면 Kubernetes는 컨테이너화된 애플리케이션을 자동화하고 조정하여 이를 배포 및 확장하는 데 사용되는 많은 수동 프로세스를 제거하는 오픈소스 플랫폼입니다. Istio는 플랫폼에 독립적이지만, 개발자들은 Istio와 Kubernetes를 함께 사용하는 경우가 더 많습니다.

Istio는 플랫폼에 독립적이며 다양한 환경에서 실행되도록 설계되었습니다.

  • 클라우드
  • 온프레미스
  • Kubernetes
  • Mesos

Istio의 용도

Istio를 통해 조직은 분산형 애플리케이션을 대규모로 제공할 수 있습니다. 트래픽 관리, 승인, 암호화는 물론 감사 및 관측 가능성과 같은 서비스 간 네트워크 작업을 단순화합니다. 다음은 Istio의 이점을 제공하는 가장 일반적인 사용 사례입니다.

안전한 클라우드 기반 앱

강력한 ID 기반 인증, 승인, 암호화를 통해 애플리케이션 수준에서 보안을 강화할 수 있습니다.

효율적인 트래픽 관리

다양한 라우팅 규칙, 재시도, 장애 조치, 결함 주입으로 트래픽 동작을 세밀하게 제어할 수 있습니다.

서비스 메시 모니터링

Istio의 강력한 추적, 모니터링, 로깅 기능으로 서비스 성능이 업스트림에 미치는 영향을 자세히 파악할 수 있습니다.

Kubernetes 및 가상 머신을 통한 간편한 배포

Istio는 컨테이너 및 가상 머신을 포함한 기존 워크로드와 최신 워크로드 모두에 대해 가시성과 네트워크 제어를 제공합니다.

고급 기능으로 부하 분산 간소화

클라이언트 기반 라우팅, 카나리아 롤아웃과 같은 고급 기능과 함께 모든 트래픽에 자동화된 부하 분산을 사용할 수 있습니다.

정책 시행

액세스 제어, 비율 제한, 할당량을 지원하는 플러그인 가능한 정책 레이어 및 구성 API를 사용하여 정책을 시행할 수 있습니다.

Anthos Service Mesh는 수년간 Google의 경험을 기반으로 대규모로 서비스를 빌드하고 제공하는 기능을 제공합니다. 이를 통해 사이트 안정성 엔지니어링(SRE) 및 제로 트러스트 권장사항을 채택하여 보안을 손상시키지 않으며 대규모로 신속하게 고품질 서비스를 제공할 수 있습니다. Anthos를 사용하면 필요한 모든 곳에서 서비스 네트워킹을 일관되게 관리할 수 있습니다.