삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · api magenement smart routing...

36
SAMSUNG OPEN SOURCE CONFERENCE 2019 삼성 오픈소스 컨퍼런스 퍼레이터 비스메쉬 버리스 차세대 애플리케이션을 위한 오픈소스 신기술 Red Hat | Solution Architect Team | 이규석 2019. 10. 17.

Upload: others

Post on 30-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SAMSUNG OPEN SOURCE CONFERENCE 2019

삼성 오픈소스 컨퍼런스오퍼레이터 서비스메쉬 서버리스

차세대 애플리케이션을 위한 오픈소스 신기술

Red Hat | Solution Architect Team | 이규석2019. 10. 17.

Page 2: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SAMSUNG OPEN SOURCE CONFERENCE 2019

SOSCON 20192

Red Hat 오픈소스 비즈니스

CONTROL CONFIDENCE FREEDOM

Page 3: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019SAMSUNG OPEN SOURCE CONFERENCE 2019

Container | 컨테이너

차세대 애플리케이션 배포

Page 4: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SAMSUNG OPEN SOURCE CONFERENCE 2019

SOSCON 2019

IT 환경의 진화

Cost Saving Productivity Flexibility Time to market Scaliability

I.T. OPTIMIZATION

AGILEINTEGRATION

HYBRID CLOUD INFRASTRUCTURE

CLOUD-NATIVE APP DEV

I.T. AUTOMATION & MANAGEMENT

우리는(회사는)어떤 이유로 새로운 기술/개념을 받아들이게 될까요

Page 5: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SAMSUNG OPEN SOURCE CONFERENCE 2019

SOSCON 2019

IT 환경의 진화

Page 6: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SAMSUNG OPEN SOURCE CONFERENCE 2019

SOSCON 2019

IT 환경의 진화

Page 7: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SAMSUNG OPEN SOURCE CONFERENCE 2019

SOSCON 2019

•Define Container

7•Source:

•https://www.redhat.com/ko/topics/containers

컨테이너는 실행에 필요한 모든 파일을 포함하여

모든 런타임 환경에서 애플리케이션을

패키지화하고 분리할 수 있도록 하는 기술입니다.

이를 통해 전체 기능을 유지하면서 컨테이너화된

애플리케이션을 환경(개발, 테스트, 운영 등) 간에

쉽게 이동할 수 있습니다.

“”

Red Hat

Page 8: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SAMSUNG OPEN SOURCE CONFERENCE 2019

SOSCON 20198•Source:

•컨테이너 연구소 - DevOps Korea branch (페이스북 그룹)

이 컨테이너가 그 컨테이너 인가

컨테이너 최초 도입톤당 운송비 93%절감

1957년SEALAND Company

$5.83 → $0.158

컨테이너를 정의한다면

Page 9: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SAMSUNG OPEN SOURCE CONFERENCE 2019

SOSCON 20199•Source:

•컨테이너 연구소 - DevOps Korea branch (페이스북 그룹)

컨테이너 연구소 - ‘컨테이너 시스템의 활용 방향 및 미래’ 좌담회에서(2019.04.24)

ISOLATION

자원 격리프로세스 격리사용자 격리

애플리케이션 격리

PACKAGE

바퀴도 있고엔진도 있는

Zip같은 패키지

LANGUAGE

개발자의 소통을 위한공용어

INDEPENDENT

H/W로부터 독립 → VMOS로부터 독립 → 컨테이너

컨테이너를 정의한다면

Page 10: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SAMSUNG OPEN SOURCE CONFERENCE 2019

SOSCON 201910•Source:

•컨테이너 연구소 - DevOps Korea branch (페이스북 그룹)

그래서, 왜 컨테이너 일까요

자원 효율성, 자원 격리, 호환성, Auto Scaling, 마이크로서비스, 관리 편의성

VM Type X

Application

WAS

GuestOS

VirtualizationBare Metal

Application

WAS

OSHypervisor X

Any Infrastructure

Container

Application

WAS

OS

Container Engine

Application

WAS

Application

WAS

VM Type X

Application

WAS

GuestOS

VM Type X

Application

WAS

GuestOS

Container

Application

WAS

Container

Application

WAS

• 자원(CPU, Memory) 격리

• 하이퍼바이저 및 GuestOS 부하 단점

• 이기종 VM 기술간 호환성 문제

• Application 자동 확장 불가

• 자원(CPU, Memory) 격리 불가

• OS 간 호환성 문제

• Application 자동 확장 불가

• 자원(CPU, Memory) 격리

• 표준 컨테이너 기술로 호환성 제공

• Application 자동 확장 가능

• 하이브리드 클라우드 환경

OS

Page 11: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SAMSUNG OPEN SOURCE CONFERENCE 2019

SOSCON 201911•Source:

•컨테이너 연구소 - DevOps Korea branch (페이스북 그룹)

컨테이너를 잘 쓰기위해 필요한 수많은 기술과 기능

SERVICE CATALOG(LANGUAGE RUNTIMES, MIDDLEWARE, DATABASES, …)

SELF-SERVICE

APPLICATION LIFECYC LE MAN AGEMENT(CI / CD)

BUILD AUTOMATION DEPLOYMENT AUTOMATION

CON TAIN ER CON TAIN ERCON TAIN ER CON TAIN ER CON TAIN ER

NETWORKING SECURITYSTORAGE REGISTRYLOGS & METRICS

CONTAINER ORCH ESTRATION & CLUSTER MAN AGEMENT(KUBERNETES)

ATOMIC HOST /RED HAT ENTERPRISE LINUX

OCI CONTAIN ER RUNTIME & PACKAGING

INFRASTRUCTURE AUTOMATION & COCKPIT

● Kubernetes 기반의 컨테이너 오케스트레이션

● + 메트릭 수집 기능

● + 관리자 콘솔

● + 중앙화 된 로그 수집

● + 어플리케이션 빌드와 배포

● + CI/CD 툴

● + Docker/O CI 표준 컨테이너

● + 안정화 된 OS

● + 기존 시스템과의 조화

Page 12: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SAMSUNG OPEN SOURCE CONFERENCE 2019

SOSCON 2019

차세대 애플리케이션을 위한 기술

Operators Service Mesh Serverless

우리가 갖고있는 지식과노하우로 애플리케이션

패키징

마이크로서비스 기반

애플리케이션을

연결, 관리, 관찰, 추적

인프라에 손대지 않고애플리케이션 배포

Page 13: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019SAMSUNG OPEN SOURCE CONFERENCE 2019

Operator | 오퍼레이터

애플리케이션 패키징

Page 14: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019쿠버네티스 기반 운영 프레임워크

애플리케이션의유연한 설계

일관된 배포와디버깅

개념적으로새롭지는 않은 것

진정한 하이브리드

오퍼레이터는 쿠버네티스를 사용하여 컨테이너화 된 애플리케이션의

수명주기 관리를 자동화하기 위해 운영 지식 및 워크 플로우를

체계화합니다.

Page 15: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019오퍼레이터 프레임워크

오퍼레이터 생성을 위한 개발도구

[ 빌드 | 테스트 | 순환 ]

모든 오퍼레이터의 수명주기와쿠버네티스 클러스터에 대한

종속성을 관리

[ 설치 | 업데이트 | 관리 ]

오퍼레이터에 사용량 측정

[ 예산 | 청구 | 원격 분석 | 집계 ]

https://github.com/operator-framework

Page 16: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019애플리케이션을 위한 빌드 오퍼레이터

Ansible SDKHelm SDK Go SDK

Helm ChartAnsible Playbooks

APBs

코딩 없이Helm chart로 부터오퍼레이터 빌드

Ansible playbooks,Ansible playbook Bundles로 부터

오퍼레이터 빌드

전체 라이프사이클관리를 위한

오퍼레이터 고급 빌드

Page 17: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019오퍼레이터 허브와 인증된 오퍼레이터

• OperatorHub.io는 Amazon, Microsoft 및 Google과 함께

Red Hat에 의해 시작되었습니다.

• OpenShift 환경에 인증된 오퍼레이터가 있습니다.

• OpenShift 4 환경에 오퍼레이터 허브가 통합되어있습니다.

COMMUNITY OPERATORS

OPENSHIFT CERTIFIED OPERATORS

Page 18: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019

우리의 개발팀은 ‘Prometheus

Operator’를 사용하여 자체 엔드 투

엔드 모니터링을 제공 할 수 있습니다.

오퍼레이터의 캡슐화기능이

없었더라면, 344 개의 Prometheus

인스턴스를 관리 할 수 없었을

것입니다.

Michael GoodnessLead Systems Engineer Ticketmaster

“”

Page 19: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019SAMSUNG OPEN SOURCE CONFERENCE 2019

Service Mesh | 서비스 메쉬

애플리케이션 연결

Page 20: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019서비스 메쉬는 어떻게 쓰일까요

MySQL Database

app.example.com

backend-app (Java)frontend-app

backend-app (Go)frontend-app

애플리케이션 구성 요소 간의 트래픽 흐름 제어

v1

v2

Page 21: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019OPENSHIFT SERVICE MESH

적응 형 트래픽 관리 | 서비스 성능 추적 | 안전한 통신 및 API 액세스

Package Service Mesh Serverless

추적 및 관찰 기능과 사용편의성을 위해 패키징된 포함한

완벽한 서비스 메쉬

3scale API Management로 기존

서비스 메쉬에서 API 계층으로

보안, 제어,관리 확장

‘Service Mesh Operator’로설치 및 운영 관리 간소화

Page 22: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019MSA 라이프사이클 지원

Observe Observe

Secure

ControlConnect

Jaeger Prometheus

Istio

Page 23: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019Istio를 이용한 쉬운 Service Mesh 구현

Platform

Microservice

Service Discovery Load Balancing

Circuit Breaker Traffic Control

Monitoring Tracing

Business Logic

Netflix OSSConfig Server Security Policies

Service Registry Traffic Control

Monitoring Tracing

API Magenement Smart Routing

OpenShift 상에서Istio를 사용하여마이크로 서비스들을연결, 관리, 보안 구성

Microservice

Business Logic

Istio

20182012 Microservice, Netflix OSS Kubernetes, OpenShift, Istio

Page 24: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019Istio와 Jaeger로 분산 추적

720 ms 210 ms

POD

SERVICEC

ENVOY

930 ms

POD

SERVICEB

ENVOY

POD

SERVICEA

ENVOY

• 서비스 간에 명확한 서비스 연결에

대한 정보와 각 프로세스 소요

시간을 발견합니다.

• 애플리케이션에서의 서비스 실행

시간을 시각화합니다.

• 각 서비스에서 보이지 않던 처리 및

대기 시간 문제를 식별합니다.

Page 25: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019Kiali로 서비스 메쉬 시각화

• Kiali는 Istio와 함께 서비스 메쉬

토폴로지를 시각화합니다.

• 서비스 메쉬로 구성된 서비스와의

연결된 방식을 식별합니다.

• 서비스 메쉬의 토폴로지 및 상태의

이해를 돕습니다.

POD

SERVICEC

ENVOY

930 ms

POD

V1

ENVOY

POD

SERVICEA

ENVOY

POD

Page 26: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019SAMSUNG OPEN SOURCE CONFERENCE 2019

Serverless | 서버리스

인프라 독립적 서비스

Page 27: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019애플리케이션의 아키텍쳐적 진화

제어의 복잡도 높은 생산성과 낮은 제어도

PORTABILITY

> 단일 목적> 무상태(Stateless)> 독립적 확장성> 자동화

> 단일 동작> 일시적으로 사용

> 자율적인> 낮은 관계성

Service Mini/Micro Function

f{ }

Page 28: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019OpenShift Serverless

Key Features

● Kubernetes 사용자에게 익숙함

● 필요에 따라 0부터 N개 까지 자동 확장

● 애플리케이션과 펑션 형태로 모든 컨테이너 작업수행

● 벤더 락인 없음

Learn more

https://openshift.com/learn/topics/knative

http://bit.ly/knative-tutorial

"모든 컨테이너 워크로드를위한 서버리스 빌딩블록"

Tech Preview 4.2

Page 29: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019KNative - 구성

0

Serving

애플리케이션과 함께 컨테이너를 제공하고“0개로 확장” 할 수있는이벤트 중심 모델입니다.

Events

애플리케이션에 신호를 주는이벤트의 소비 및 생성을위한 비동기

메커니즘 모듈

"... 어느 곳에서나 실행할 수있고, 최신 컨테이너 기반 애플리케이션을 구축하기 위한

Kubernetes의 확장"

Page 30: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019서버리스는 어떻게 동작 할까요

Event Function

Event fires Your code runs

f{ }(µ)Service

Do!!!

Page 31: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019SAMSUNG OPEN SOURCE CONFERENCE 2019

Closing | 마무리

인프라 독립적 서비스

Page 32: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019차세대 애플리케이션

여기서 우리는 우리가 진정 원하는 것이 무엇인지 정해야 합니다.

새로운 전략과 기술이 주는 의미와 우리가 집중해야할 방향은?

Cloud-Native MSA DevOps

Page 33: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019차세대 애플리케이션

형태나 기술이 아니라 가치를 취하는 것이 목적 입니다.

Cloud-Native MSA DevOps

유연성/확장성

자동화

언제어디서나

비용없는 기능확장

새로운 기능과사업에 인력최소화

리스크 관리

새로운 효율적협업

Page 34: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019차세대 애플리케이션을 위한 기술

기술은 늘 우리 주변에서 변화하고 있습니다.오픈소스 커뮤니티와 협력하는 Red Hat 모델을 통해 기술 혁신에 함께 할 수 있습니다.

Operators는 개발자가 애플리케이션과 솔루션들을 사용하는데집중하게 하고 관리에서 멀어지게 해줍니다.

OpenShift Service Mesh는 개발자가 소스 변경 없이 MSA 형태의서비스 배포를 가능하게 하고 그 흐름을 추적 할 수 있도록도와줍니다.

Serverless를 통해 개발자는 서버 관리없이 서비스를 배포 할 수있습니다.

Page 35: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019차세대 애플리케이션을 위한 기술

기술은 늘 우리 주변에서 변화하고 있습니다. 이전보다 훨씬 빠르게 말이죠.오픈소스 커뮤니티와 협력하는 Red Hat 모델을 통해 기술 혁신에 함께 할 수 있습니다.

VS

Page 36: 삼성오픈소스컨퍼런스 오 서 2_1100_2.pdf · 2019-10-30 · API Magenement Smart Routing OpenShift 상에서 Istio를사용하여 마이크로서비스들을 연결, 관

SOSCON 2019SAMSUNG OPEN SOURCE CONFERENCE 2019

THANK YOU

“좋아요 꾹” 보다, “좋은 피드백”은 더 나은 오픈소스 문화를 만듭니다.