ใ…Œ
Introduce | ๊น€๊ทœํ˜•

Introduce | ๊น€๊ทœํ˜•

๐Ÿ‘‹ ์•ˆ๋…•ํ•˜์„ธ์š” ๊น€๊ทœํ˜•์ž…๋‹ˆ๋‹ค

Profile

๊น€๊ทœํ˜• (Unggu)

Backend Developer & DevOps Engineer

unggu556@naver.com

Spring ๊ธฐ๋ฐ˜ ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ DevOps ๋ฌธํ™”์— ๊ด€์‹ฌ์ด ๋งŽ์€ ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค.
์•Œ๋งž์€ ๊ธฐ์ˆ ๊ณผ ๊ตฌ์กฐ๋กœ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค๊ณ„ํ•˜๊ณ , ์ด๋ฅผ ํ†ตํ•ด ์ข‹์€ ์‚ฐ์ถœ๋ฌผ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
Azure ํ™˜๊ฒฝ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ฐ ์šด์˜์„ ๋‹ด๋‹นํ–ˆ์œผ๋ฉฐ, JVM ๋ฉ”๋ชจ๋ฆฌ ์••๋ฐ•(Old Gen ๋ˆ„์ )ยทํ”„๋ก์‹œ ํ—ค๋” ์ด์ŠˆยทIngress ์„ค์ • ์žฅ์•  ๋“ฑ ํ”„๋กœ๋•์…˜ ์ด์Šˆ๋ฅผ ์ง์ ‘ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…ํ•˜๋ฉฐ ์•ˆ์ •์ ์ธ ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค์–ด๊ฐ€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ’ผ ๊ฒฝ๋ ฅ

Software Engineer @ KT DS
2024.07 ~ ํ˜„์žฌ
  • KT ๋Œ€๊ณ ๊ฐ e-์ปค๋จธ์Šค ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ ๋ฐ ITO ์šด์˜
  • ๊ณ ๊ฐ SR(Service Request) ๋ฐ VOC ๋Œ€์‘์„ ์œ„ํ•œ Java/Spring ๊ธฐ๋ฐ˜ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ
  • BO ๋ชจ๋‹ˆํ„ฐ๋ง ์ž๋™ํ™” ๊ธฐ๋Šฅ ์„ค๊ณ„ยท๊ตฌํ˜„ (์Šค์ผ€์ค„๋Ÿฌ ๊ธฐ๋ฐ˜)
์ฃผ์š” ๋‚ด์šฉ:
  • SR/VOC ๋Œ€์‘๋ฅ  100% ๋‹ฌ์„ฑ
  • ์™ธ๋ถ€ ์—ฐ๋™ ๋กœ์ง์„ ํŠธ๋žœ์žญ์…˜์—์„œ ๋ถ„๋ฆฌํ•˜๋Š” ๊ตฌ์กฐ ๊ฐœ์„  ์„ค๊ณ„ (๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ ์‹œ ๋ณ‘๋ชฉ ์ง€์  ์‹๋ณ„ ๋ฐ ํ•ด์†Œ ๋ฐฉ์•ˆ ๋„์ถœ)
  • ๋‹จ์ผ ์žฅ์• ์ (SPOF)์ด๋˜ Redis ์บ์‹œ ๊ตฌ์กฐ๋ฅผ FailoverยทCircuit Breaker ํŒจํ„ด์œผ๋กœ ์žฌ์„ค๊ณ„
  • JVM GC ๋กœ๊ทธ ๋ถ„์„์œผ๋กœ Old Gen ๋ˆ„์  ์›์ธ์„ ๊ทœ๋ช…ํ•ด OOM ์žฌ๋ฐœ ๋ฐฉ์ง€ (IHOPยท๋ฉ”๋ชจ๋ฆฌ limit ์žฌ์‚ฐ์ •)
  • Azure Event Hub(Kafka) ๊ธฐ๋ฐ˜ Pub-Sub ํŒจํ„ด ์„ค๊ณ„
DevOps Engineer @ KT DS
2025.01 ~ ํ˜„์žฌ
  • Kubernetes(AKS) ๊ธฐ๋ฐ˜ ๋Œ€๊ณ ๊ฐ ์„œ๋น„์Šค ์šด์˜
  • GitOps ๊ธฐ๋ฐ˜ CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ• ๋ฐ ์ž๋™ํ™”
  • OpenTelemetry ๊ธฐ๋ฐ˜ Azure Monitor ๋ชจ๋‹ˆํ„ฐ๋ง ์ฒด๊ณ„ ๊ตฌ์ถ•
  • ๋ ˆ๊ฑฐ์‹œ ์‹œ์Šคํ…œ์˜ Azure ํด๋ผ์šฐ๋“œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ˆ˜ํ–‰
์ฃผ์š” ๋‚ด์šฉ:
  • Alert ์›นํ›… โ†’ LLM ๊ธฐ๋ฐ˜ ์ฟผ๋ฆฌ ์ƒ์„ฑ โ†’ Log Analytics ์กฐํšŒ โ†’ ์ž๋™ ์›์ธ ๋ถ„์„๊นŒ์ง€ ์ด์–ด์ง€๋Š” AI Agent ํŒŒ์ดํ”„๋ผ์ธ ๊ฐœ๋ฐœ
  • ๋ฐฐํฌ ์ž๋™ํ™”๋ฅผ ํ†ตํ•ด ๋ฐฐํฌ ์‹œ๊ฐ„ ๋‹จ์ถ• ๋ฐ ์žฅ์•  ์›๋ณต ์‹œ๊ฐ„ ๊ฐ์†Œ
  • Key Vault ์—ฐ๋™ ๋ฐ ๊ด€๋ฆฌ IDยทRBAC ๊ธฐ๋ฐ˜ ์‹œํฌ๋ฆฟยท๊ถŒํ•œ ๊ด€๋ฆฌ ์ฒด๊ณ„ ๊ตฌ์ถ•
  • Nginx Ingress ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…
  • Proxy ํ™˜๊ฒฝ ๋‚ด ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ•
  • Nginx Ingress EOL ๋Œ€์‘ -> Gateway API ์ด๊ด€ ์ž‘์—…


๐ŸŽ“ ๊ต์œก & ์ž๊ฒฉ์ฆ

๊ต์œก ๊ณผ์ •

KTDS Digital Garage (2025.05 ~ 2025.07)

5์ฃผ๊ฐ„ ์‚ฌ๋‚ด ๊ต์œก ๋ฐ 2์ฃผ Sprint MVP ๊ฐœ๋ฐœ ยท 6๊ฐœ MSA ๋ถ„๋ฆฌ ๋ฐ AKS CI/CD ๊ตฌ์ถ•, Event Hub(Kafka) ๊ธฐ๋ฐ˜ ์‹ค์‹œ๊ฐ„ ์ด๋ฒคํŠธ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•

์‚ผ์„ฑ์ฒญ๋…„SW์•„์นด๋ฐ๋ฏธ 11๊ธฐ (2024.01 ~ 2024.07)

์•Œ๊ณ ๋ฆฌ์ฆ˜ยท์ž๋ฃŒ๊ตฌ์กฐ ๊ธฐ๋ฐ˜ Java ์—ญ๋Ÿ‰ ๊ฐ•ํ™” ยท Spring/Vue.js ๊ธฐ๋ฐ˜ ์ž๊ธฐ์ฃผ๋„ํ˜• ํŒ€ ํ”„๋กœ์ ํŠธ ์ˆ˜ํ–‰

NHN ์•„์นด๋ฐ๋ฏธ (2023.08 ~ 2023.12)

Java ์‹ฌํ™” ํ•™์Šต ยท Thread-Safe ๊ฐœ๋ฐœ ๋ฐ TDD ๊ฒฝํ—˜ ยท Servlet/JSP ๊ธฐ๋ฐ˜ Web Application ๊ฐœ๋ฐœ

์ „๋ถ๋Œ€ํ•™๊ต (2024.02 ์กธ์—…)

์ปดํ“จํ„ฐ๊ณตํ•™๊ณผ ยท ํ•™์  3.98 / 4.5

๋ณด์œ  ์ž๊ฒฉ์ฆ

Certified Kubernetes Administrator (CKA)
2025.08
Azure Developer Associate(AZ-204)
2025.02
Azure Fundamentals(AZ-900)
2024.12
SQLD
2024.06
์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ
2023.06
TOEIC(845) / TOPCIT(์ˆ˜์ค€3)
2023.02 / 2023.05

๐Ÿ›  ๊ธฐ์ˆ  ์Šคํƒ

Language & Framework
  • Java
  • Spring Framework/Spring Boot
  • RESTful API
  • Swift/SwiftUI
  • Javascript
DevOps & CI/CD
  • Azure (Key Vault, ๊ด€๋ฆฌ ID/RBAC)
  • Kubernetes (AKS)
  • Docker
  • Helm & Kustomization
  • GitHub Actions & Argo CD
Database & Messaging
  • MySQL
  • PostgreSQL
  • Redis
  • Kafka (Azure Event Hub)
Collaboration
  • JIRA & Confluence
  • Git
  • Notion
Monitoring
  • Jennifer
  • Azure Monitor / Log Analytics
  • OpenTelemetry

๐Ÿš€ ํ”„๋กœ์ ํŠธ

KT ๋Œ€๊ณ ๊ฐ ์„œ๋น„์Šค Azure Migration

์‚ฌ๋‚ด ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ -> Azure ํ™˜๊ฒฝ
2024.10 ~ 2025.03 | KT DS | DevOps
์™„๋ฃŒ

KT ๋Œ€๊ณ ๊ฐ ์„œ๋น„์Šค๋ฅผ ๊ธฐ์กด ์‚ฌ๋‚ด ํ™˜๊ฒฝ(KT Cloud)์—์„œ Azure AKS ํ™˜๊ฒฝ์œผ๋กœ Migrationํ•œ ํ”„๋กœ์ ํŠธ

๊ธฐ์ˆ  ์Šคํƒ
Kubernetes AKS Azure Key Vault Redis App Gateway Kustomize Azure Monitor
์ฃผ์š” ์„ฑ๊ณผ
๋ฌด์ค‘๋‹จ ์ „ํ™˜ ์„ฑ๊ณต
15๋ถ„ -> 5๋ถ„ ๋ฐฐํฌ ์‹œ๊ฐ„
30๋ถ„ -> 5๋ถ„ ์žฅ์•  ๋ณต๊ตฌ ์‹œ๊ฐ„
CI/CD ๊ตฌ์ถ• GitOps ๊ธฐ๋ฐ˜
ํ”„๋กœ์ ํŠธ ๋ฐฐ๊ฒฝ

์ž…์‚ฌ ํ›„ ์ฒซ ํ”„๋กœ์ ํŠธ๋กœ, Docker/Kubernetes ์ง€์‹์ด ๊ฑฐ์˜ ์—†๋Š” ์ƒํƒœ์—์„œ ์‹œ์ž‘ํ–ˆ์ง€๋งŒ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ์˜ ์ „ ๊ณผ์ •์„ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.


ํ•ต์‹ฌ ๊ณผ์ œ

1. CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•

  • Git Action์„ ํ†ตํ•œ ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ ๋ฉ€ํ‹ฐ ๋นŒ๋“œ ํ™˜๊ฒฝ ๊ตฌ์ถ• (์‚ฌ๋‚ด ์ €์žฅ์†Œ ์ด์šฉ)
  • ArgoCD ๊ธฐ๋ฐ˜ ์•ˆ์ •์ ์ธ ๋ฐฐํฌ ํ™˜๊ฒฝ ๊ตฌ์ถ•

2. Kubernetes ํ™˜๊ฒฝ ๊ตฌ์ถ•

  • Kustomization + Gitops ๋ฐฉ์‹์˜ yaml ๊ด€๋ฆฌ
  • Nginx Ingress ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ… ์ •์ฑ… ์ˆ˜๋ฆฝ ๋ฐ TLS ์„ค์ •
  • Pod ๋ฆฌ์†Œ์Šค ์„ค์ • ๋ฐ Health Check ์„ค์ •

3. ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ•

  • Java Agent ๊ธฐ๋ฐ˜ Azure Monitor ํ™˜๊ฒฝ ๊ตฌ์ถ•
  • Alert rule ๋ฐ Action Group ์„ค์ •์„ ํ†ตํ•œ ์‹ค์‹œ๊ฐ„ ์•Œ๋ฆผ ์ฒด๊ณ„ ๊ตฌ์ถ•
  • Log sampling ์ ์šฉ์„ ํ†ตํ•œ LAW ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘๋Ÿ‰ ๊ฐ์†Œ ๋ฐ ๋น„์šฉ ์ตœ์ ํ™”

4. ๋น„๋ฐ€/๊ถŒํ•œ ์„ค์ •

  • Key Vault ์—ฐ๋™์„ ํ†ตํ•œ CI/CD ๋ฐ ์†Œ์Šค ์ฝ”๋“œ ๋‚ด ๋ฏผ๊ฐ์ •๋ณด๋ฅผ Secret์œผ๋กœ ๊ด€๋ฆฌ
  • ๊ด€๋ฆฌ ID/Federation ์„ค์ • ๋ฐ RBAC ์„ค์ • ๊ด€๋ฆฌ

์„ฑ๊ณผ ์ง€ํ‘œ
ํ•ญ๋ชฉAS-ISTO-BE
์žฅ์•  ๋ณต๊ตฌ ์‹œ๊ฐ„30๋ถ„5๋ถ„
์žฅ์•  ๊ฑด์ˆ˜5ํšŒ/๋…„1ํšŒ/๋…„
๋ฐฐํฌ ์†Œ์š” ์‹œ๊ฐ„15๋ถ„5๋ถ„
๊ฐ€์žฅ ํž˜๋“ค์—ˆ๋˜ ์ 

AppGW์˜ X-Forwarded-For ํ—ค๋”๋ฅผ Nginx Ingress๊ฐ€ ๋ฐ”๋ผ๋ณด๋Š” AppGW IP๋กœ ๋ฎ์–ด์จ์„œ, ์ด๋ฅผ ์šฐํšŒํ•˜๋ ค Ingress annotation์— ํ—ค๋” ์žฌ์ž‘์„ฑ ์„ค์ •์„ ์ถ”๊ฐ€ํ•œ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ Azure ๊ด€๋ฆฌํ˜• Nginx์—์„œ ์ค‘๊ด„ํ˜ธ๊ฐ€ ๊ธˆ์ง€ ๋ฌธ๋ฒ•์ธ ๊ฑธ ๋ชฐ๋ผ ์„ค์ •์ด ์กฐ์šฉํžˆ ๋กค๋ฐฑ๋œ ์ฑ„ ์šด์˜๋˜๋‹ค๊ฐ€, ์•ฝ 10์ผ ๋’ค Azure ์ธก ๊ฐ•์ œ ์žฌ๊ธฐ๋™์œผ๋กœ nginx.conf ์ƒ์„ฑ์ด ์‹คํŒจํ•ด ์„œ๋น„์Šค ์ „๋ฉด 404 ์žฅ์• ๋กœ ๋ฒˆ์กŒ์Šต๋‹ˆ๋‹ค. ์„ค์ • ์ œ๊ฑฐ๋กœ ๊ธด๊ธ‰ ๋ณต๊ตฌํ–ˆ๊ณ  Client IP๋Š” Azure Monitor ์ปค์Šคํ…€ ํ—ค๋” ์ˆ˜์ง‘์œผ๋กœ ๋Œ€์ฒดํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝํ—˜์œผ๋กœ ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค๋Š” ํŽธ๋ฆฌํ•จ ๋’ค์— ์ œํ•œ์˜ ์˜์—ญ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ, ๊ทธ ์ œ์•ฝ์„ ๋ฏธ๋ฆฌ ์ƒ๊ฐํ•ด์•ผํ•˜๋Š” ๊ฒƒ์„ ๊บ ๋‹ซ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋А๋‚€์ 

์ž…์‚ฌ ์งํ›„ ๋˜์ ธ์ง„ ํฐ ํ”„๋กœ์ ํŠธ์˜€์ง€๋งŒ, ์˜คํžˆ๋ ค ์‹ค์ „์—์„œ ๋ฐฐ์šฐ๊ณ  ๋А๋ผ๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ๋น ๋ฅธ ์„ฑ์žฅ์ž„์„ ๋А๊ผˆ์Šต๋‹ˆ๋‹ค. ์‹คํŒจ์˜ ๊ฐ€์น˜, ๋ฌธ์„œํ™”์˜ ์ค‘์š”์„ฑ, ํ˜‘์—…์˜ ์ค‘์š”์„ฑ์„ ๊นจ๋‹ฌ์•˜๊ณ , ์ด ํ”„๋กœ์ ํŠธ ์ดํ›„ ์„œ๋น„์Šค ์šด์˜๊นŒ์ง€ ์ง„ํ–‰ํ•˜๋ฉฐ "DevOps ์—”์ง€๋‹ˆ์–ด"๋กœ์„œ์˜ ๊ฒฝํ—˜์„ ์Œ“์•„๊ฐ€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ด์†Œํ”ผ - AI ๊ธฐ๋ฐ˜ ๋ฆฌ๋ทฐ ํ”ผ๋“œ๋ฐฑ ์‹œ์Šคํ…œ

์‚ฌ๋‚ด ๊ต์œก MVP ํ”„๋กœ์ ํŠธ๋กœ ์ง„ํ–‰ํ•œ MSA ๊ธฐ๋ฐ˜ ์›น ์„œ๋น„์Šค
2025.05 ~ 2025.07 | KTDS Digital Garage | Backend & DevOps
์™„๋ฃŒ

์†Œ์ƒ๊ณต์ธ์„ ์œ„ํ•œ AI ๊ธฐ๋ฐ˜ ๊ณ ๊ฐ ํ”ผ๋“œ๋ฐฑ ๊ด€๋ฆฌ ์†”๋ฃจ์…˜์œผ๋กœ, ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์˜ ๋ฆฌ๋ทฐ๋ฅผ ์ž๋™ ์ˆ˜์ง‘ยท๋ถ„์„(๋ฐ์ดํ„ฐ ํฌ๋กค๋ง)ํ•˜๊ณ  AI(ChatGPT API)๊ฐ€ ์ƒ์„ฑํ•œ ๋งž์ถคํ˜• ์‹คํ–‰๊ณ„ํš์„ ํ†ตํ•ด ๋งค์žฅ ์šด์˜ ๊ฐœ์„ ์„ ์ง€์›ํ•˜๋Š” ์„œ๋น„์Šค

๊ธฐ์ˆ  ์Šคํƒ
Spring Boot React AKS Event Hub (Kafka) PostgreSQL Redis
์ฃผ์š” ๊ธฐ๋Šฅ
  • ์ž๋™ ๋ฆฌ๋ทฐ ์ˆ˜์ง‘: ๋ฐ์ดํ„ฐ ํฌ๋กค๋ง์„ ํ†ตํ•œ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ ๋ฆฌ๋ทฐ ํ†ตํ•ฉ ๊ด€๋ฆฌ
  • AI ๊ธฐ๋ฐ˜ ๋ถ„์„: ChatGPT API๋ฅผ ํ™œ์šฉํ•œ ๋ฆฌ๋ทฐ ๊ฐ์ • ๋ถ„์„ ๋ฐ ์ธ์‚ฌ์ดํŠธ ๋„์ถœ
  • ์‹คํ–‰๊ณ„ํš ์ƒ์„ฑ: AI๊ฐ€ ์ถ”์ฒœํ•˜๋Š” ๋งž์ถคํ˜• ๋งค์žฅ ์šด์˜ ๊ฐœ์„  ๋ฐฉ์•ˆ ์ œ๊ณต
  • MSA ์•„ํ‚คํ…์ฒ˜: ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ธฐ๋ฐ˜ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์‹œ์Šคํ…œ ์„ค๊ณ„

๊ธฐ์ˆ ์  ๊ตฌํ˜„

1. MSA ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„

  • ๋ฆฌ๋ทฐ ์ˆ˜์ง‘ยท๋ถ„์„ยท์•Œ๋ฆผ ๋„๋ฉ”์ธ๋ณ„ ๋…๋ฆฝ ์„œ๋น„์Šค๋กœ ๋ถ„๋ฆฌ, ๊ธฐํš ๋‹ด๋‹น์ž์™€ ํ˜‘์—…ํ•ด ์š”๊ตฌ์‚ฌํ•ญ ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค ๊ตฌ์กฐ ์„ค๊ณ„
  • Azure Event Hub(Kafka) ๊ธฐ๋ฐ˜ Pub-Sub ๊ตฌ์กฐ๋กœ ์„œ๋น„์Šค ๊ฐ„ ๋น„๋™๊ธฐ ์ด๋ฒคํŠธ ํ†ต์‹  ์„ค๊ณ„, ๋ฆฌ๋ทฐ ์ˆ˜์ง‘ยท๋ถ„์„ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์„ฑ
  • ์„œ๋น„์Šค ๊ฐ„ ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถ”๊ธฐ ์œ„ํ•ด PostgreSQL DB๋ฅผ ์„œ๋น„์Šค๋ณ„๋กœ ๊ฒฉ๋ฆฌ

2. ๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌ

  • AI ์ฝ”๋”ฉ ๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•ด ์„ค๊ณ„ํ•œ ๊ตฌ์กฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ํ”„๋กœํ† ํƒ€์ž…์œผ๋กœ ๊ตฌํ˜„
  • GitHub Actions + ArgoCD ๊ธฐ๋ฐ˜ GitOps ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•
  • Azure Kubernetes Service์— ๊ฐ MSA ๋ฐฐํฌ ์ž๋™ํ™”
ํ•™์Šต ์„ฑ๊ณผ

MSA ๋ฐ ํด๋ผ์šฐ๋“œ ๋””์ž์ธ ํŒจํ„ด์— ๋Œ€ํ•œ ์ด๋ก  ํ•™์Šต ํ›„, 2์ฃผ๊ฐ„์˜ Sprint๋ฅผ ํ†ตํ•ด ์‹ค์ œ MVP๋กœ ๊ตฌํ˜„ํ•˜๋ฉฐ Cloud Native ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์˜ ์ „ ๊ณผ์ •์„ ์ฒดํ—˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์‹ค๋ฌด์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ด์Šˆ๋ฅผ ๋””์ž์ธํŒจํ„ด์„ ํ†ตํ•ด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ํฌ์ธํŠธ๋ฅผ ๋ชจ์ƒ‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

GitHub Repository

์—ฌํ–‰์ง€๋‹ˆ - ์‚ฌ์ง„ ๊ธฐ๋ฐ˜ ์—ฌํ–‰ ์ถ”์ฒœ ์‹œ์Šคํ…œ

์—ฌํ–‰์„ ์ง€๋‹ˆ๋‹ค + ์—ฌํ–‰์„ ์ถ”์ฒœํ•˜๋‹ค
2024.05 ~ 2024.06 | SSAFY (2์ธ) | Web
์™„๋ฃŒ

์‚ฌ์ง„ ๊ธฐ๋ฐ˜ ์—ฌํ–‰ ์ •๋ณด ์ถ”์ฒœ ์‹œ์Šคํ…œ (2์ธ ํ”„๋กœ์ ํŠธ๋กœ FrontEnd/Backend๋ฅผ ๋ถ„๋‹ดํ•ด ๊ฐœ๋ฐœ, ์ข…๋ฃŒ ํ›„ ๊ฐœ์ธ ํ•™์Šต ๋ชฉ์ ์œผ๋กœ ์ปจํ…Œ์ด๋„ˆํ™” ๋ฐ ํด๋ผ์šฐ๋“œ CI/CD ๊ตฌ์ถ•)

๊ธฐ์ˆ  ์Šคํƒ
Spring Boot Vue.js Docker Argo CD MySQL
ํ”„๋กœ์ ํŠธ ๋ฐฐ๊ฒฝ

SSAFY ๊ณผ์ • ์ค‘ 2์ธ ํŒ€ ํ”„๋กœ์ ํŠธ๋กœ FrontEnd/Backend๋ฅผ ๋ถ„๋‹ดํ•ด ๊ฐœ๋ฐœํ–ˆ๊ณ , ํ”„๋กœ์ ํŠธ ์ข…๋ฃŒ ํ›„ ๊ฐœ์ธ ํ•™์Šต ๋ชฉ์ ์œผ๋กœ ๊ธฐ์กด ์„œ๋น„์Šค๋ฅผ ์ปจํ…Œ์ด๋„ˆํ™”ํ•˜๊ณ  ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์— CI/CD ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค.


์ฃผ์š” ๊ฐœ์„ ์‚ฌํ•ญ

๊ธฐ์กด ํ”„๋กœ์ ํŠธ:

  • ์ „ํ†ต์ ์ธ ๋ชจ๋†€๋ฆฌ์‹ ์•„ํ‚คํ…์ฒ˜
  • ์ˆ˜๋™ ๋ฐฐํฌ ๋ฐฉ์‹

๊ฐœ์„  ํ›„:

  • Docker ์ปจํ…Œ์ด๋„ˆํ™”๋กœ ํ™˜๊ฒฝ ์ผ๊ด€์„ฑ ํ™•๋ณด
  • Kubernetes ๊ธฐ๋ฐ˜ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜
  • GitOps ๋ฐฉ์‹์˜ ์ž๋™ ๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•
ํ•™์Šต ์„ฑ๊ณผ

SSAFY ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹จ์ˆœํžˆ ๋๋‚ด์ง€ ์•Š๊ณ , ์‹ค๋ฌด์—์„œ ์‚ฌ์šฉ๋˜๋Š” DevOps ๊ธฐ์ˆ ์„ ์ ์šฉํ•˜์—ฌ ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๋ฐœ์ „์‹œํ‚ค๋ฉฐ ์•ž์„œ ์ง„ํ–‰ํ•œ Azure Migration ์—…๋ฌด ์‹ค๋ฌด ์—ญ๋Ÿ‰ ํ–ฅ์ƒ์— ํฐ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

GitHub Repository

๋‚˜์ฃผ ๋ฒ„์Šค - iOS ์•ฑ

๋‚˜์ฃผ์‹œ ๋ฒ„์Šค ๋„์ฐฉ ์ •๋ณด ์ œ๊ณต ์•ฑ
2023.03 ~ 2023.09 ๊ฐœ๋ฐœ | ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ | iOS App
์™„๋ฃŒ

SwiftUI ๊ธฐ๋ฐ˜ iOS ์•ฑ - App Store 3๋…„๊ฐ„ ๋ฐฐํฌยท์šด์˜ (ํ˜„์žฌ๋Š” ๋ฏธ์šด์˜) | ๋‹ค์šด๋กœ๋“œ 5,000ํšŒ | ์„œ๋ฒ„๋ฆฌ์Šค ์•„ํ‚คํ…์ฒ˜

๊ธฐ์ˆ  ์Šคํƒ
SwiftUI iOS CoreData
๊ฐœ๋ฐœ ๋™๊ธฐ

๋‚˜์ฃผ์‹œ์—๋Š” ๋ฒ„์Šค ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์•ฑ์ด ์—†์–ด, ๊ณต๊ณต API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ง์ ‘ ๊ฐœ๋ฐœํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„์Šค ์ •๋ฅ˜์žฅ ๋ฐ ๋…ธ์„ ์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ๋ฒ„์Šค ๋„์ฐฉ๊นŒ์ง€ ๋‚จ์€ ์‹œ๊ฐ„๊ณผ ๋…ธ์„ ์˜ ํ˜„์žฌ ์œ„์น˜๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.


๊ธฐ์ˆ ์  ํŠน์ง•

์„œ๋ฒ„๋ฆฌ์Šค ์•„ํ‚คํ…์ฒ˜

  • ๊ณต๊ณต API ์ง์ ‘ ํ˜ธ์ถœ๋กœ ๋ณ„๋„ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„ ๋ถˆํ•„์š”
  • CoreData๋ฅผ ํ™œ์šฉํ•œ ๋กœ์ปฌ ๋ฐ์ดํ„ฐ ์บ์‹ฑ
  • ์ธํ”„๋ผ ๋น„์šฉ 0์›์œผ๋กœ 3๋…„๊ฐ„ ์„œ๋น„์Šค ์ œ๊ณต
  • Google AdMob์„ ํ†ตํ•œ ์ˆ˜์ตํ™” ์‹คํ˜„

SwiftUI ํ™œ์šฉ

  • ์„ ์–ธํ˜• UI๋กœ ์œ ์ง€๋ณด์ˆ˜ ์šฉ์ด
  • iOS ๋„ค์ดํ‹ฐ๋ธŒ ์„ฑ๋Šฅ ์ตœ์ ํ™”
  • ๋‹คํฌ๋ชจ๋“œ ์ž๋™ ์ง€์›
๋А๋‚€์ 

์‹ค์ œ ์‚ฌ์šฉ์ž๊ฐ€ ์žˆ๋Š” ์•ฑ์„ 3๋…„๊ฐ„ ์šด์˜ํ•˜๋ฉด์„œ, ๋ฒ„๊ทธ ์ˆ˜์ •, ๊ธฐ๋Šฅ ๊ฐœ์„ , iOS ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ ๋Œ€์‘ ๋“ฑ ์•ฑ ๊ฐœ๋ฐœ ์‹ค๋ฌด์™€ ์œ ์‚ฌํ•œ ๊ฒฝํ—˜์„ ์Œ“์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ“ ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ

์ „์ฒด ํฌ์ŠคํŠธ ๋ณด๊ธฐ

๐Ÿ“ž Contact


ํ•จ๊ป˜ ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๊ฐ€ ์žˆ๋‹ค๋ฉด ์–ธ์ œ๋“  ์—ฐ๋ฝ ์ฃผ์„ธ์š”! ๐Ÿ˜Š