MLOps Engineer at Corca.
EC2 endpoint : 3.34.122.192:3000
ECS endpoint : 3.38.172.73:3000
- Phase 1์ ๊ตฌ์ฑ์ ํฌ๊ฒ
MLOps์ ์ ์,RESTful API,DB์ ๊ณต๋ถํ๊ณ Corca์ code convention์ ๋ฐํ์ผ๋กAPI๋ฅผ ๊ฐ๋ฐํ๊ณ . MLOps CI/CD์ ๊ธฐ์ด๊ฐ ๋๋Docker,Docker-compose,AWS(EC2, ECS) ๋ฐฐํฌ์ ๋ํด์ ์์๋ณด๊ณ ๊ฐ๋ฐํ API๋ฅผ ๋ฐฐํฌํ๋ค.
- MLOps๋ผ๋ ์ง๋ฌด๊ฐ ๋งค์ฐ ์์ํ๋๋ฐ, ML product์ ์ง์์ ์ธ ํ์ต, ํ ์คํ , ๋ชจ๋ํฐ๋ง, ๋ฐฐํฌ(CI/CD)์์์ MLOps์ ์ค์์ฑ์ ๋ฐฐ์ฐ๋ฉฐ ์ฐ๋ฆฌ Corca์์ ์ด๋ค ์ญํ ์ ํด์ผํ๋์ง ๋๋ผ๊ณ ํ์ํ ๊ธฐ๋ณธ ์ง์์ ๋ํ ๊ธฐ์ด๋ฅผ ๋ค์ง ์ ์์๋ค.
- ๋จ์ํ API๋ฅผ ๊ฐ๋ฐํจ์ ์์ด์๋ DB, RESTful API ๋ช ์ธ๋ฅผ ๋ฐํ์ผ๋ก ๊ฐ๋ฐํ ๋ SOLID ์์น์ ์งํค๋ฉด์, ์ฌ๋ฌ ์์ธ์ํฉ์ ์๊ฐํ ์๋ฒ๋ฅผ ๊ฐ๋ฐํ๋ ๊ฒ์ด ์ฝ์ง ์๋ค๋ ๊ฒ์ ์ ์ ์์๋ค.
- Code Review์ Corca์ convention์ ํตํด์ ๊ฐ๋ฐ์ ์ค์ํ MVC ํจํด, ์์ธ์ฒ๋ฆฌ ๋ฑ ์ง์ ๋ฟ ์๋๋ผ ๋ฏธ์ฒ ๊ณ ๋ คํ์ง๋ชปํ๋ ์ ์ ๋ณด์ํ ์ ์์ด ๋ฆฌํฉํ ๋ง์ ํตํด ์ค์ค๋ก ์ฑ์ฅํจ์ ๋๊ผ๋ค.
- ํนํ, Docker, Docker-compose, EC2, ECS ๋ฐฐํฌ๋ฅผ ๊ณต๋ถํ๋ฉฐ ๋ง์ ์ด๋ ค์์ ๊ฒช์ด์ Computer Network, Computer Architecture์ ๋ํด ์ข ๋ ์ดํดํ๋ ์๊ฐ์ ๊ฐ์ง ์ ์์๋ค.
- ์๋ฒ ๊ฐ๋ฐ๊ณผ ๋ฐฐํฌ์ ๊ธฐ์ด๊ฐ ๋๋ ๋ถ๋ถ์ ๋๋ฌด ์ ์ค๋น๋ผ์์ด, Phase 1์์๋ง ํด๋ ๋ง์ด ์ฑ์ฅํจ์ ๋๋ ์ ์์๋ค. ์์ผ๋ก ์ผ๋ง๋ ๋ ์ฑ์ฅํ ์ ์์์ง ๊ธฐ๋๋๊ณ ๋ ๋ ธ๋ ฅํ๊ณ ์ถ์ด์ง๋ค.
- API ๊ฐ๋ฐ ๋ช ์ธ๋ฅผ ๋ฐํ์ผ๋ก TDD๋ฅผ ํตํด ์ฝ๋๋ฅผ ์ง ๋ค๋ฉด ๋์ฑ ์ฒด๊ณ์ ์ธ ์๋ฒ ๊ฐ๋ฐ์ ์ตํ ์ ์์ง ์์๊น ์๊ฐํ๋ค. ํ์ง๋ง, TDD์ ์ฑ๋ฅํ ์คํธ๊ฐ ์์ด์ ์ง๊ธ ์ปค๋ฆฌํ๋ผ๋ ์ถฉ๋ถํ ์ข์ ๊ฒ ๊ฐ๋ค!
- ๋ด์ฉ์ด ์๊ธฐ์ฝ๊ฒ ์ ์ ๋ฆฌ๋ผ์์ด ์๋ฒ ๊ฐ๋ฐ๊ณผ ๋ฐฐํฌ์ ๊ธฐ์ด๊ฐ ๋๋ ๋ถ๋ถ์ ์ ๋ฐฐ์ธ ์ ์์๋ค.
- ์ด๋ ค์ ๋ ์ : mac m1 ํ๊ฒฝ์์ docker build default architecture๊ฐ arm64 ์ด๋ผ์ exec format error๋ฅผ ๊ฒช์ด์ ์๊ฐ ์์๊ฐ ๋ง์๋ค. docker buildx build --platform=linux/amd64 ์ต์ ์ ํตํด์ ๋น๋ํ๊ณ ECR์ pushํด์ผ ecs, docker ecs cli ์์ ๋ฌธ์ ๊ฐ ์๊ธฐ์ง์์ผ๋ฏ๋ก ๋ค์ ์ปค๋ฆฌํ๋ผ ์งํ์์๊ฒ ๋์์ด ๋์์ผ๋ฉด ํ๋ค. link 1
docker buildx build --platform=linux/amd64 -t <tag> .
Unit Testing Command :
yarn test
E2E Testing Command :
yarn test:e2e
Locust Testing : Locust Testing
-
Testing,CI/CD,IaC,Monitoring,LoadBalancing,Architecture -
Phase 1์์ ๊ฐ๋ฐํ ๊ฐ๋จํ ์๋ฒ๋ฅผ ECS ๋ฅผ ํตํด์ ๋ฐฐํฌํ๊ณ ,
Testingํ๋ ์์ํฌ์ ๋ง๋ testing library๋ฅผ ํ์ฉํ์ฌ Unit Testing, E2E Testing ์ฝ๋๋ฅผ ์์ฑํ๋ค. -
Github Actions๋ฅผ ํ์ฉํ์ฌ ์๋ฒ์ ๋ํ ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ Github์ push ํ ๋ Unit Testing, E2E Testing, ECS ์ธ์คํด์ค ๋ฐฐํฌ๋ฅผ ์๋ํํ๋ค. -
์์ ์ ์ธ ์๋ฒ๋ฅผ ์ด์ํ๊ธฐ ์ํด์ ์ธํ๋ผ ์ค์ ์ ์ฝ๋ํ ํ๋
Iac( Infra as code)๋ฅผ ํตํด์ ๋ค๋ฅธ ํ๊ฒฝ์์๋ ๋์ผํ ์ธํ๋ผ๋ฅผ ๊ตฌ์ถํ๊ณ , ํ์ฅํ ์ ์๋ค. -
๋ฐฐํฌํ ์๋น์ค์ ๋ํด์ ์๋ชป๋ ์ ๊ทผ์ด๋ ์ง์์ ์ธ ์ ์ง๋ณด์๋ฅผ
LMA( Logging, Monitoring, Alerting) ํ๋ฉฐ, AWS SNS, Lambda๋ฅผ ์ด์ฉํ์ฌ CPU Utilization Alerting, Error Alerting Message์ Slack์ผ๋ก ๋ ๋ฆฌ๊ณ , ์๋ฒ๋ฅผ ์ง์์ ์ผ๋ก ๊ด์ฐฐํ๋ฉฐ ๊ด๋ฆฌํ ์ ์๋ค. -
CPU Utilization์ CloudWatch๋ฅผ ํตํด ๋ชจ๋ํฐ๋งํ๊ณ , 50% ๋ฅผ ๋์ผ๋ฉด ์๋์ผ๋ก ECS๋ฅผ ํตํด์ task๋ฅผ ๋๋ฆฌ๋
Load Balancing์ ํตํ์ฌ, ํธ๋ํฝ์ ๋ฐ๋ผ Scale out, Scale in ํ๋ฉฐ ์์ ์ ์ธ ์๋ฒ๋ฅผ ์ด์ํ ์ ์๋ค. -
10 common
architecture์ ๋ํด์ ๊ณต๋ถํ๋ฉด์, ๊ฐ ์๋น์ค ๋ณ๋ก ์ ์ฉํ ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ ์ ์๋ค. Uber, Woowahhan, HyperConnect ๋ฑ ๊ธฐ์ ์์ ์๋น์ค ํน์ฑ์ ๋ง๋ ์ํคํ ์ฒ ์ค๊ณ์ ์ค๊ณ ์ด์ ๋ฅผ ์ดํด๋ณด๋ฉฐ ์ฝ๋ฅด์นด์ ์ ํฉํ ์ํคํ ์ฒ๋ฅผ ๊ณ ๋ฏผํ๊ณ ์ ์ ํ ์ํคํ ์ฒ๋ฅผ ์ค๊ณํด๋ณธ๋ค.
- Phase 1์ ์งํํ๋ฉฐ ์๊ฒ๋๋ DevOps, MLOps ์ ๊ฐ๋ ์ ๋๋ฌด๋ ์ถ์์ ์ด์๊ณ , ์ง๊ธ ๋ด๊ฐ ์ฝ๋ฅด์นด์ ์ด๋ป๊ฒ ๋์์ด ๋ ์ ์์์ง, ํ๋ก์ ํธ์์ ์ด๋ ํ ์ญํ ์ ๋ด๋นํ๋ฉฐ, CI/CD, Monitoring, Testing ํด์ ์ด๋ค ๊ฒ์ด ์๊ณ , ํ์ฉํ ์ ์์์ง ๋ถ๋ถ๋ช ํ๊ณ ๋ถ์ํ๋ค.
- MLOps Curriculum์ ์งํํ๋ฉด์, ๊ธฐ์กด์ ์งํ๋๋ ์ฝ๋ฅด์นด์ ๋ค์ํ ํ๋ก์ ํธ์์ MLOps๊ฐ ์ฌ์ฉํ๋ Github Actions, Pulumi, AWS ์ ์ฌ์ฉ๋ฐฉ๋ฒ์ ๋ํด์ ์ค์ค๋ก ํ์ตํ๋ฉด์ ํ๋ก์ ํธ์ ํ๋ฆ๊ณผ MLOps์ ํ์์ฑ์ ๋ํด์ ๊ตฌ์ฒดํํ๊ณ , ์์ ๊ฐ์ ํค์ธ ์ ์๋ ์๊ฐ์ด์๋ค.
- Phase 1์ ๋นํด์ ๋ง๋ฅ๋จ๋ฆฌ๋ ์ค๋ฅ๋, ์ค์ค๋ก ์๊ฐํ๋ฉฐ ๊ณต๋ถํด์ผํ ๋ด์ฉ์ด ๋ง์์ก๊ณ , ์ค์ค๋ก๋ฅผ ๊ฐ์ ํด๋๊ฐ ์ฌ์ง๊ฐ ๋ง์ด ๋๋ ์ ์๋ ์์คํ ๊ธฐํ๋ผ๊ณ ์๊ฐํ๋ค.
- MLOps๊ฐ ์ฌ์ฉํ๋ ๋ค์ํ ํด์ ์ฅ๋จ์ ์ ๋น๊ตํ๊ณ ํ๋ก์ ํธ์ ์ ์ ํ๊ฒ ๋์ ํ๋ ์ญ๋ ๋ฟ๋ง์๋๋ผ, ์ ์ง๋ณด์์ ํ์ฅ์ด ๊ฐ๋ฅํ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ํ ํด๋ฆฐ์ํคํ ์ณ, ๋ฆฌํํ ๋ง, ํด๋ฆฐ์ฝ๋ ๊ณต๋ถ์ ํ์์ฑ์ ๋๋ผ๊ณ ๊ฐ๋ฐ ๊ณต๋ถ๋ ์ํํ ํ์ง์์์ผ๊ฒ ๋ค๊ณ ์์ ์ ๋ถ์กฑํจ์ ๋ง์ด ๋๊ผ๋ค. ์์ผ๋ก ๋์ฑ ๋ ์ ์งํด์ ์ฝ๋ฅด์นด์์ ์์ด์๋ ์๋ ์ฌ๋์ด ๋๊ณ ์ถ๋ค.
-
CI/CD: unit testing ์ ์ดํ์ Pulumi ๋ ์ถ๊ฐ์ ์ธ ๋๋ ํ ๋ฆฌ๊ฐ ์๊ธฐ๋ฉด์ ์์กด์ฑ ์ค๋ฅ๊ฐ ์๊ธธ ์ ์๋๋ฐ, ์์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํ๊ฑฐ๋, tsconfig.build.json ๋ฑ์ ์ด์ฉํ ๊ฐ ํ๋ ์์ํฌ ๋ณ ๋น๋ ํ๊ฒฝ์ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ถ๊ฐํ๋ ๊ฒ๋ ์ข์ ๊ฒ ๊ฐ๋ค. -
Monitoring: CloudWatch๋ฅผ ํตํด์ ๋ค์ํ ์งํ๋ฅผ ํ์ธํด๋ณผ ์ ์๋๋ฐ, ์ฝ๋ฅด์นด์์ ์ ์ฉํ๊ฒ ์ฌ์ฉํ๊ฑฐ๋ ์ด๋ค ์งํ๋ฅผ ์ด๋ป๊ฒ ํ์ฉํ์๋ค ๋ผ๋ ๋ด์ฉ์ด ์ถ๊ฐ๋๋ค๋ฉด, ๋ชจ๋ํฐ๋ง์ ํ์์ฑ์ ์กฐ๊ธ ๋ ๊ฐํ๊ฒ ๋๋ ์ ์์ ๊ฒ ๊ฐ๋ค.