์ฃผ๋ง์ ๋ญํ์ง ํ๋ค๊ฐ festa.io์์ ํ๋ฅผ ํ๊ธธ๋ ํ ๋ฒ ๊ฐ๋ด. ํ์ฌ ๊ด๋ จ ์ ๋ณด๋ ํ์ฌ ํ์ด์ง - Next โ19 Extended | Festa! ๋ฅผ ์ฐธ์กฐ.
Beyond kubernetes (์กฐ๋ํ๋)
- microservice pattern
- eg) circuit braking.
- Netflix OSS hystrix ๋ฑ
- ๋ค ์ข์๋ฐ Application Layer๊ณ , Java๋ก ๋์๋ค
- ์คํ๋ง์ด ์ข ํธํ๋ฐ ๊ทธ๋๋ ์๋ฐ๋ค
- Envoy
- Network Layer์์!
- ๋ค ์ข์๋ฐโฆ ๊ทธ๋๊ทธ๋ ๊ณ์ ์ดํ๋ฆฌ์ผ์ด์
์ ์ฎ๊ธฐ๊ฐ ๊ท์ฐฎ๋ค
- Istio
- ๊ทธ๋ฅ k8s ์ฐ๋ฏ์ด ์ฐ๋ฉด ์ปจํ
์ด๋์ Istio Proxy๊ฐ ์์์ ๋ถ์
- Traefik์ด๋ ํฌ๊ฒ ๋ค๋ฅธ๊ฑด ์๋๋ฐ ์ ์ฑ
์ ์
ํ ์ ์๋ค๋ ๊ฒ์ด ํฐ ์ฐจ์ด์
- ํนํ ๋์ ๋๋ ๊ธฐ๋ฅ
- Rate control์ด ํนํ ๋์ ๋์์
- ๋คํธ์ํฌํ ํด๋ก์ง ๋ฝ์์ค
- Distributed Tracing๋ ๋๋ค
- ๋ค ์ข์๋ฐ ๊น์์ ์ฐ๋ฉด ํ๋๋ managed service๋ฅผ ์ฐ์ (GKE์์๋ค)
- 1.0 ๋์ด
- DevOps
- ๊ฐ๋ฐ์๋ค์ด ์ค์ค๋ก ์ด์์ ํ๋ค
- DevOpsํ์ ๊ทธ๊ฒ ๊ฐ๋ฅํ๋๋ก ์์คํ
์ ๋ง๋ ๋ค
- DevOps ํ์ ๋ชฉํ๋ DevOps ํ์ด ํ์ ์๋ ๊ฒ์ธ๋ฐโฆ๊ทธ๊ฒ ์ ์ ๋จ
- SideCar ํจํด
- ๋ณดํต App์ด ์๊ณ fluentd, envoy ์ด๋ฐ๊ฒ ๊ฐ์ด ๋ถ๋๋ค
- ์ด์ฐจํผ App์ด ๋ฐ๋๋๊ฑฐ๋๊น ๊ทธ๋ฅ Pod ํ๋์ ๋ค ๋๊ณ ์ฑ๋ง ๋ฐ๊พผ๋ค
- ๊ดํ k8s์์ Pod ํ๋์ ์ปจํ
์ด๋ ์ฌ๋ฌ๊ฐ ๋ค์ด๊ฐ ์๋๊ฒ ์๋๋ค
- Spinnaker
- ํด๋ฌ์คํฐ ํ๊ฒฝ์์ ๋ฐฐํฌ / ๋กค๋ฐฑ ํ๋ก์ธ์ค๋ฅผ ์๋ํํด์ค
- ์ค๋ชจํฌ ํ
์คํธ๋ฅผ ํ๊ณ 30๋ถ๋์ ๊ด์ฐฎ์ผ๋ฉด ๋์ด๊ฐ์
- ๋ฐค์๋ง ๋ฐฐํฌ๋ฅผ ํ์
- ์๋ ๋กค๋ฐฑ
- StackDriver
- ์ฅ๋น ๋ ๋ฒจ, ์ปจํ
์ด๋ ๋ ๋ฒจ, ์ดํ๋ฆฌ์ผ์ด์
๋ ๋ฒจ์ ๋ชจ๋ํฐ๋ง์ด ํ ๋ฐฉ์!
- ๋ผ์ฐํ
์ฉ๋๋ก ์ฐ๊ณ ์ ์ฅ์ BigQuery์ ํ๋ฉด ๋น์ฉ์ด ๊ฒ๋ ์ธ๋ค
- ๋ชจ ํ์ฌ๋ ์คํ์์ค ๊ธฐ๋ฐ์ผ๋ก ํ๋ค๊ฐ (NELO ๊ฐ์ ํด์ด ์์๋ ๋ด) ์ด๊ฑฐ๋ก ๋ฐ๊ฟ์ ๋น์ฉ 1/10์ผ๋ก ์ค์ด๊ณ ์ด์์ธ๋ ฅ ๋ค ํ์ ์์ด์ง
- ๋ค์ด๋ฒ / ์นด์นด์ค ์ฌ์ด์ฆ ์๋๋ฉด ์ง์ ๋ชจ๋ํฐ๋ง ํ์ง ๋ง๊ณ DataDog์ด๋ ๊ธฐํ ์ ํ์ ์จ๋ผ
- ์์ ์ Heapster์์ Prometheus๋ก ํ
๋์ด๊ฐ ์ ์ด ์๋ค. ์ด ๋ฆฌ์คํฌ๋ฅผ ์์ ์กฐ์ง์ด ๊ฐ๋นํ๊ธฐ๋ ๋ถ๋ด์ด ๋๋ค
- ์ฑ๊ฐ์ ๊ด๊ณ๋ฅผ ๊ทธ๋ํ๋ก ๊ทธ๋ ค์ค๋ค. ๋ถ์ฐ ํธ๋ ์ด์ฑ๋ ๋น์ฐํ ์ง์ (Zipkin, Jagger ๊ธฐ๋ฐ. ์คํ๋ง์์ ์ฝ๊ฒ ๋ถ์ผ ์ ์์)
- Knative
- PaaS์ ์ผ์ข
- ์ฟ ๋ฒ ์ค์ผ์คํธ๋ ์ด์
์ด ์ถ์ถ์ ๊ตญ ์๋๋ฅผ ๊ฑฐ์ฒ์ K8s๋ก ์๋ฏ์ด PaaS ์๋ฃจ์
๋ ์ด๊ฒ ๋์ธ๊ฐ ๋ ๋๋์ด ์จ๋ค
- ๋ค๋ฅธ๊ฑด ๋ถ์ํ๋ฐ Run + Deployment ๊น์ง๋ ๊ทธ๋๋ ์์ ํ๊ฐ ๋์ด์๋ค
- Kubeflow
- ์ ๋ง์ ๋ง ์ข์๋ฐ, ์์ง์ ์ฐ๋ฉด ์๋๋ค
- ML์ ๋ชจ๋ธ๋ณด๋ค๋ ๋ฐ์ดํฐ - ๋น๋ - ์๋น ๋ฑ๋ฑ ํ์ดํ๋ผ์ธ ๊ตฌ์ถ์ด ๊ฒ๋ ๋นก์ธ๋ค.
- K8S ๊ธฐ๋ฐ
- Jupyter Labs๋ผ๊ณ ๊ณต์ฉ Jupyter Notebook์ด ์๋ค
- TF ๋ถ์ฐ ํ๊ฒฝ ์ค์น์ ์ฅ์ ์ด ์๋ค
- Seldon ์ด๋ผ๊ณ TF serve ๋น์ทํ๊ฒ ์ฌ๋ฌ ํ๋ ์์ํฌ ์ง์ํ๋ ์๋น์ฉ ์์ง๋ ์ง์
- Anthos
- GKE๋ฅผ ๊ณ ๊ฐ์ฌ On premise ๋จธ์ ์ ๊น์๋๋ฆผ
- AWS, Azure์๋ ์ฌ๋ผ๊ฐ
- k8s ์ด์์ ๋ค ํด์ค
- ๋น์
- ๊ธฐํ
- ์ฌ๊ธฐ ๋์จ ํด, ๊ทธ๋ฌ๋๊น CNCF์์ ํ์ฐฝ ๊ฐ๋ฐ๋๊ณ ์๋ ํด๋ค์ 1.0 ๋ฒ์ ์ด ๋์ค๊ธฐ ์ ์๋ ์ฐ๋ ๊ฒ์ ๋น์ถ. API๊ฐ ์ ๋ง ํ
ํ
๋ฐ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ ์ค์ ์๋ค ์ด์ํ๋ ค๋ฉด literally ๊น์ ๋นก์นจ์ ๋๋ ์ ์์. (PPL) ๊ตฌ๊ธ ํด๋ผ์ฐ๋ ์ฐ์๋ผ.
- (๊ธ์ด์ด ์ฃผ)
- GCP๊ฐ ๋ ํผ๋ฐ์ค๊ฐ ์ ์ด์ ๊ทธ๋ ์ง ํนํ ์ปจํ
์ด๋ ์ชฝ์ผ๋ก ์ข์๊ฒ ๋ง์๋ฏโฆํ์คํ k8s ์์กฐ ๋ง์ง.
Knative๋ก ์๋ฒ๋ฆฌ์ค ์ํฌ๋ก๋ ๊ตฌํ (๊น์ง์
๋)
- Managed FaaS
- FaaS on k8s
- ํ 15๊ฐ ์๋ค
- Knative๊ฐ ๋์จ์ง๋ ์ผ๋ง ์ ๋ฌ๋๋ฐ, ๊ฒ๋ ์ ๋งํ๋ค
- Knative
- ๋น๋ - ๋ฐฐํฌ - ๊ด๋ฆฌ๋ฅผ ํ๋๋ก
- ์์ค ์ค์ฌ, ์ปจํ
์ด๋ ๊ธฐ๋ฐ์ด๋ผ์ ์ธ์ด ํ๋ ์์ํฌ๋ฅผ ๊ฐ๋ฆฌ์ง ์์
- ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ ์ฉ์ผ๋ก Istio๋ Gloo๊ฐ ์์ด์ผ ํ๋ค
- Eventing์ด ์ข ์ ์ฐํ๊ฑฐ ๊ฐ๋ค
- ์ด๊ฑฐ๋ ๊ทธ๋ฅ Service-Deployment-Pod์ ๋นํด ์ฅ์ ์ด ๋ ๊ฑฐ ๊ฐ์
- (๊ธ์ด์ด ์ฃผ 1) ์๋ ์ค์ผ์ผ๋ง์ด ํํ ์ ๋ ๊น?
- Autoscale Sample App - Go | Knative
- ์ฌ์ค k8s์ CPU ๊ธฐ๋ฐ์ HPA๊ฐ ๊ตผ๋ ์ ์ข ๋ชป๋ง๋
ํ๊ณ ๋ถ์ํ๋๋ฐ (๊ธฐ๋ณธ๊ฐ์ 15์ด ์ฃผ๊ธฐ๋ก CPU ์ฌ์ฉ๋์ ํ๊ท ์ ๋)
- ์๋ ์ผ๋จ 1๋ถ ์๋์ฐ๋ฅผ ๊ฐ์ง๊ณ Pod๋ณ concurrency๋ฅผ ๊ณ์ฐํด์ target concurrency๋ ๋ง์ถ๊ณ (๋ค๋ง ์ด๊ฑด ๊ฐ๋ฐ์๊ฐ ์ ํด์ผ๋๋๊น ์ข ๋ ์ ํ๊ธฐ ์ด๋ ค์ธ ์ ์๊ฒ ๋ค)
- ๋ ํจ๋ ๋ชจ๋๋ผ๊ณ ์์ด์ ๊ฐ์๊ธฐ ํธ๋ํฝ์ด ํ ์น๊ณ ์ฌ๋ผ์ค๋ฉด ๋ฐ๋ก Pod ๊ฐฏ์๋ฅผ 2๋ฐฐ๋ก ์ฌ๋ฆฌ๋ ๊ธฐ๋ฅ์ด ์์
- HPA ๋ณด๋ค๋ ํ์คํ ์ต์
์ด ์ข๋ค
- (๊ธ์ด์ด ์ฃผ 2)
- ํ๋์ AWS ๋๋ค์์ ์ด๊ฒ ์ ๊ฒ ๋๋ฆฌ๋ ค๊ณ AMI Linux์์ ๋น๋ํ๊ณ ๊ทธ ์ํฐํฉํธ๋ฅผ ๋๋ค์ ํ์ฐ๋ ๋ฐฉ๋ฒ๋ค์ ๋ง์ด ์ฐพ์๋ดค๋๋ฐ, ์ด์ ๊ทธ๊ฒ๋ ์๋ ์๊ธฐ๊ฐ ๋ ๊ฑฐ ๊ฐ๋ค
Cloud Spanner (์ด์ ์ด๋)
- CAP๋ฅผ ์ง์ง ๋ค ์ถฉ์กฑ ํ๋๋?
- 99.999% SLA ๊ฒฝ์ DB๋ณด๋ค ๋์
- ์ด๋ฏธ ๊ตฌ๊ธ์์ 5๋
๋๊ฒ ์ฌ์ฉํจ
- ์์ฒญ ๋น ๋ฅด์ง๋ ์์ง๋ง ๋
ธ๋๊ฐ ์ถ๊ฐ๋๋ ์์ค์๋ ์ง์์ ์ธ ์ฑ๋ฅ์ ๋ณด์ฌ์ค
- ์คํค๋ง ๋ณ๊ฒฝ, ํธ๋ฆฌ๊ฑฐ, ํ๋ก์์ ๋ง์ ๊ฒฝ์ฐ๋ ๋ณ๋ก
- ์ฌ๋ก
- ์ค๋ก๋ผ๋ ๋น๊ต
- ์ค๋ก๋ผ๋ MySQL compliant
- ์๋ ์๋๋ค
- ๋์ ์ํ ํ์ฅ์ ๊ตฌ์กฐ๊ฐ ๋ ์ ์ฉํ๋ค (์ค๋ก๋ผ๋ ์ต๊ทผ์ ๋ง์คํฐ - ๋ง์คํฐ ๋ ํ๋ฆฌ์นด๊ฐ ๋๋๋ฐ ์๋ ์ ์ด์ ๊ทธ๋ ๊ฒ ๋ง๋ค์ด์ง. ๊ทผ๋ฐ ์๋ค๋ค์ ์ง์ฐ์ด ๊ฑฐ์ ์์ด์ ๋ ํ๋ฆฌ์นด๊ฐ ๋ ํ๋ฆฌ์นด๊ฐ ์๋โฆ)
- (๊ธ์ด์ด ์ฃผ)
- New SQL ์ด๋ผ๊ณ TiDB, CockroachDB ์ด๋ฐ๊ฒ ๋ง ๋์ค๋๋ฐ ์์ง ์ฐ๋ฆฌ๋๋ผ ์ฌ์ด์ฆ์์๋ ์ ๋ง ์ ๋ง transaction ํ์ํ ๊ฑด ๊ทธ๋ฅ ์ดํ๋ฆฌ์ผ์ด์
์ค๋ฉ์ ํด๋ฒ๋ฆฌ๊ณ ๋๋จธ์ง๋ NoSQL ์ฐ๋๊ฒ ๋ ์ธ๊ฒ ๋จนํ๊ณ , ์์ฌ์๋ ๊ฒฝํ๋ ๋ง์๊ฑฐ ๊ฐ์
- ์ ๊ฒ ๋๋ ค๋ฉด ์ผ๋จ ์ธํ๋ผ ๋จ์์ ์คํ ๋ฆฌ์ง๋ ์ข๊ณ ๋คํธ์ํฌ๋ ์ข๊ณ , ์ผ๋จ ์๊ณ๊ฐ ์ข์์ผ ํ๋ค.. ๊ตฌ๊ธ์ด ๊ดํ ์คํ์์ค๋ฅผ ํ๋๊ฒ ์๋๋ค