DevOps์ ์์๋ถํฐ ๋๊น์ง!
์ค์ ๊ตฌํ์ ์ํ ํต์ฌ์ ์ง์ด๋๋ฆฝ๋๋ค.
Point 1
ํ์
์์ DevOps ํ๊ฒฝ์ ์ ์ฉํด๋ณด์ง ์์ผ๋ฉด
์ ์ ์๋ ์ค์ ๋
ธํ์ฐ ์ ๋ฌ
Point 2
5๋
์ฐจ ์ด์ ์์ง๋์ด ์๊ฐ ์ถ์ฒ!
์ AWS ์ปจ์คํดํธ์ DevOps ๊ฒฝํ ์ด์งํธ
15๋
์ด์ ๊ฒฝ๋ ฅ์๊ฐ ์ ์ํ๋ DevOps์ ์ ์.
์ AWS ์ปจ์คํดํธ, ํธ์ฃผ 4๋ ๋ํ์ํ ์ฌ์ง!
ํ์คํ ๊ฐ๋ฐ์, ๊ธ์ต/์ฆ๊ถ ์
๊ณ ๋ฑ์ ๊ฑฐ์น๋ฉฐ ์์์ฌ๋ฆฐ
ํ์
๋ฐ๋ธ์ต์ค ์์ง๋์ด์ ๊ฒฝํ์ ๊ฐ์์ ๋ด์์ต๋๋ค.
๋ฐ๋ธ์ต์ค ์์ง๋์ด/์ปจ์คํดํธ๋ก ์ฌ์งํ๋ฉฐ ๋ฐ๋ธ์ต์ค์ ๋ํ ์ฌ๋ฌ ์กฐ์ง๋ค์ ๋ค์ํ ๊ณ ๋ฏผ๋ค์ ๋ํด ๋ค์ด์์ต๋๋ค. ์ฌ๋ฌ๋ถ์ด ์๊ฐํ์๋ ๋ฐ๋ธ์ต์ค๋ ๋ฌด์์ธ๊ฐ์? ๋ฐ๋ธ์ต์ค๊ฐ ๋ฌธํ๋ผ๋ ์๋ฏธ, ์ด๋ป๊ฒ ์ดํดํ๊ณ ๊ณ์ ๊ฐ์? ํน์ ํ ๋๊ตฌ๊ฐ ๊ธฐ์ ์ ๋์
ํ๋ฉด ๋ฐ๋ธ์ต์ค๊ฐ ์ ์ฐฉํ๋ค๊ณ ๋งํ ์ ์์๊น์?
์ด ๊ฐ์์ ๊ฐ์ฅ ํฐ ๋ชฉ์ ์ โDevOps๋ ๋ ์ด์ ๋๊ตฌ์ ์งํฉ์ด ์๋๋คโ๋ผ๋ ๊ฐ๋
์ ์ ๋ฆฝ์์ผ๋๋ฆฌ๋ ๊ฒ์
๋๋ค. ๋ฐ๋ธ์ต์ค์ 3๋ ์์๋ผ๊ณ ํ ์ ์๋ People, Process & Technology์ ๊ด์ ์์, ์ค์ ๋ก ๋ฐ๋ธ์ต์ค๋ฅผ ์ฐ๋ฆฌ ์กฐ์ง์ ์ ์ฉํ๊ธฐ ์ํด ํ์ํ ๊ด์ ์ ์๋ ค๋๋ฆฌ๋ ค ํฉ๋๋ค.
โข โข โข
๋ฐ๋ธ์ต์ค๊ฐ ๋ฌธํ๋ผ๋ ์๋ฏธ๋ฅผ Continuous Delivery Pipeline(CDP)์ ํตํด ์ดํด๋ณด๊ณ , (1) ์ด ํ์ดํ๋ผ์ธ ํ๋ก์ธ์ค๋ฅผ ์ ์ํ ๋ ๋จ๊ณ๋ณ๋ก ํ์ํ ๊ธฐ์ ์ ๋ฌด์์ธ์ง (2) ์ด๋ ์ ๋ ๊ตฌํํ์์ ๋ ๋ง์กฑํ ๋งํ ์์ค์ผ์ง์ ๋ํ ํ๊ฐ ์ฒ๋๋ฅผ ์ ์ํฉ๋๋ค.
๋ํ Value-Stream Mapping์ด๋ผ๋ ํ๋ก์ธ์ค ๋ถ์ ๊ธฐ๋ฒ์ ํตํด CI/CD ๋ด์์ ์ฐ๋ฆฌ ์กฐ์ง์ด ๊ฐ๋ฐ์์ ์ด์๊น์ง ์ด๋ค ํ๋ก์ธ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๋์ง, ๊ฐ ๋จ๊ณ๋ณ ๋ด๋น์๊ฐ ๋๊ตฌ์ธ์ง, ๊ทธ๋ฆฌ๊ณ ์ด๋ ์ ๋ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋์ง์ ๋ํด ๋ถ์ํ๋ ๋ฐฉ๋ฒ๊ณผ ์ด๋ค ๊ฒ์ ์๋ํํด์ผ ํ๋์ง์ ๋ํด ํจ๊ป ์ค๋ช
ํด๋๋ฆฌ๊ฒ ์ต๋๋ค.
DevOps์ ๋ํ ๊ณ ๋ฏผ, ๊ณต๊ฐํ์๋์?
DevOps์ ๋ํ ์๊ตฌ์ฌ์ ๋ฐฉํฅ์ ์ ์ํด๋๋ฆฝ๋๋ค.
๋ฐ๋ธ์ต์ค ์ด์ผ๊ธฐ๋ ๋ง์ด ๋ฃ๋๋ฐ, ์ด๋ป๊ฒ ์ฐ๋ฆฌ ์กฐ์ง์ ๋ฐ๋ธ์ต์ค๋ฅผ ์ ์ฉํด์ผ ํ๋ ๊ฑด์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๋ฐ๋ธ์ต์ค๋ฅผ ์ ์ฉํ๋ ค๊ณ CI/CD ํด์ ๋์
ํ๋๋ฐ, ์ด๊ฒ ๋ง์ ์กฐ์ง์ ์ด๋ค ๋์์ ์ฃผ๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์ฐ๋ฆฌ ์กฐ์ง์ ๊ฐ๋ฐ๋ถํฐ ์ด์๊น์ง ๋๋์ฒด ์ด๋ป๊ฒ ํ๋ฌ๊ฐ๊ณ ์์๊น์? ์ด๋ฐ ํ๋ก์ธ์ค๋ฅผ ๋ถ์ํ ์๋ ์์๊น์?
๐ IT ๋ถ์ผ 5๋
์ฐจ ์ด์์ด์ ๋ถ๋ค๊ป ์ ํฉํ ๊ฐ์์
๋๋ค.
- ์ด ๊ฐ์๋ IT ๊ฒฝ๋ ฅ 5๋
์ฐจ ์ด์์ด์ ๋ถ๋ค๊ป ์ ํฉํฉ๋๋ค. ๋ง์ฝ 5๋
์ฐจ ๋ฏธ๋ง์ด์๋ผ๋ฉด ๋ชธ๋ด๊ณ ์๋ ์กฐ์ง์ 5๋
์ฐจ ์ด์ ์ ๋ฐฐ ๋ถ๊ณผ ํจ๊ป ๋ค์ด๋ณด์๊ธฐ๋ฅผ ๊ฐ๋ ฅํ ๊ถ์ฅ๋๋ฆฝ๋๋ค.
๋น์ฆ๋์ค ๊ด์ ์ผ๋ก ๋ฐฐ์ฐ๋
DevOps์ ์ดํด์ ์ค์ .
DevOps์ ์ ์! ํต์ฌ ํน์ง 4-Step โ
์กฐ์ง์ ์์์ผ ๋ฐ๋ธ์ต์ค๊ฐ ๋ณด์
๋๋ค
๋ค๋ฅธ DevOps ๊ฐ์์ ๋ค๋ฅด๊ฒ People๊ณผ Process๋ฅผ ๋ค๋ฃจ๋ ์ด์ผ๊ธฐ๊ฐ ๋ง์ต๋๋ค. ๋จ์ํ ๊ธฐ์ ์ ์ธ ๊ด์ ๋ฟ๋ง ์๋๋ผ, ์กฐ์ง ๊ด์ ์์ ํ๋ก์ธ์ค๋ฅผ ์ด๋ป๊ฒ ๊ฐ์ ํ ์ ์๋์ง๋ฅผ ํจ๊ป ์๋ ค๋๋ฆฝ๋๋ค.
ํฌ์์ฑ ๋์ ์ค์๊ธ ๊ธฐ์ ๊น์ง
๋ณดํต CI/CD ๋ฐ Containerization์ด DevOps ๊ธฐ์ ์คํ์์ ์ฃผ๋ก ๋ค๋ค์ง๋ค๋ฉด, ์ด ๊ฐ์์์๋ Automated Testing, Policy as Code, Application Telemetry์ ๋ํ ๊ธฐ์ ๋ค์ ๊ฒฝํํ์ค ์ ์์ต๋๋ค.
ํ๊ฐ๋ฅผ ์ํ ๊ฐ์ด๋๋ผ์ธ
์กฐ์ง์ DevOps ํํฉ์ ๋ํด 16๊ฐ์ง ํ๋์ ๊ธฐ์ค์ผ๋ก ํ๊ฐํด๋ณผ ์ ์๋ ๋ฐฉ๋ฒ์ ์๊ฐํฉ๋๋ค. ๋ํ IT ํ๋ก์ธ์ค๋ฅผ ํ์
ํ๋ ๋ฐ ํ์ํ ์ ๊ทผ๋ฒ, ์์ฃผ ํ๋ ์คํด์ ์๊ทธ๋์ ๋ํด์๋ ํจ๊ป ์๋ ค๋๋ฆฝ๋๋ค.
์์ผ๋ก์ ํ์ต๊น์ง ์๊ฐํฉ๋๋ค
ํ์
์์ DevOps ๊ด๋ จ ๊ธฐ์ ์ ๋์
ํ ๋ ์คํ์์ค ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์๊ฐํ๋ฉฐ, ๋น์ฆ๋์ค ๊ด์ ์์ ์ ์ด ๊ธฐ์ ์ด ํ์ํ์ง๋ฅผ ์ค๋ช
ํ ์ ์๊ฒ ๋ฉ๋๋ค. (์ถํ ๋ ๋ง์ ์์๊ฐ ์๋ค๋ฉด SaaS ๋๋ Managed Service๋ฅผ ๊ฒํ ํ์๊ธธ ์ถ์ฒ๋๋ฆฝ๋๋ค.)
๐ก ๊ฐ์๋ฅผ ํตํด DevOps์ ๋ํ ๋ค์ํ ๊ณ ๋ฏผ๋ค์ ํด๊ฒฐํด ๋๊ฐ ๊ฐ์ด๋๋ผ์ธ์ ์ ์ํด๋๋ฆด ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. โ์ฐ๋ฆฌ๊ฐ ๊ณผ์ฐ ๋ฐ๋ธ์ต์ค๋ฅผ ํ๊ณ ์๋ ๊ฑธ๊น?โ ์๊ตฌ์ฌ์ด ์๋ ๋ถ๋ค์ด์๋ผ๋ฉด ํนํ ๋์์ด ๋์๋ฆฌ๋ผ ๊ธฐ๋ํฉ๋๋ค.
ํ์ต ๋ด์ฉ์
ํ์ธํด๋ณด์ธ์.
1. DevOps๋ ๋ฌด์์ธ๊ฐ?
- ์กํ์์น์ผ๋ก ๋ณด๋ ๊ฐ์ ์๊ฐ
- DevOps์ ๋ํ ๋ค์ํ ์ ์
- DevOps์ ๋ํด ๋ค์ ์๊ฐํด๋ด์ผ ํ ์๊ทธ๋๊ณผ 5๊ฐ์ง ์คํด
2. ์ฐ๋ฆฌ ํ์ฌ IT ์กฐ์ง์ ์ด๋ค ์ํฉ์ผ๊น?
- ์กฐ์ง ํํฉ์ ํ์
ํ ์ ์๋ 2๊ฐ์ง ๋ฐฉ๋ฒ
- SAFe DevOps Assessment
- Value Stream Mapping
3. IT ํ๋ก์ธ์ค ๋ณ๊ฒฝ์ ์ด๋์๋ถํฐ ์์ํ ๊น?
- Value Stream Mapping ๋์ถ - 10๋จ๊ณ ์ ๊ทผ๋ฒ
- Lean Startup์ ์ด์ฉํ PDCA ์ํ ๊ตฌ์กฐ ๊ตฌ์ถ
- Lean UX๋ฅผ ์ด์ฉํ MMF ์๋ณ
- DORA์ 4 Key Indicators
4. CDP์ ์ฒซ ๋จ๊ณ, ์ง์์ ํ๊ตฌ - Continuous Exploration
- Overview
- Behaviour-driven Development (BDD)
5. ์ง์์ ํตํฉ, ์๋ฃจ์
๊ตฌ์ฑ - Develop & Build
- ์๋ฃจ์
๊ฐ๋ฐ
- ์ง์์ ์ธ ๋น๋ ํ๋
6. ์ง์์ ํตํฉ, ์๋ฃจ์
๊ตฌ์ฑ - Test End-to-end & Stage
- Test end-to-end (e2e)
- Mountebank, Test data management
- Cucumber - Behaviour-driven Development & End-to-End Testing
- ์คํ
์ด์ง ํ๊ฒฝ์์ ๊ฒ์ฆํ๊ธฐ
7. ์ง์์ ๋ฐฐํฌ - Deploy & Verify
- ์ด์ ํ๊ฒฝ์ผ๋ก ๋ฐฐํฌ
- FlipT๋ฅผ ์ด์ฉํ Feature Toggle ๊ตฌํ
- ArgoCD๋ฅผ ์ด์ฉํ GitOps ๊ตฌํ
- ์๋ฃจ์
๊ฒ์ฆ
8. ์ง์์ ๋ฐฐํฌ - Monitor & Respond
- ๋ฌธ์ ๋ฐ์์ ๋ํ ๋ชจ๋ํฐ๋ง
- Jaeger๋ฅผ ์ด์ฉํ Observability
- ์๋ต๊ณผ ๋ณต๊ตฌ
- Rrweb๋ฅผ ์ด์ฉํ Session Replay
9. Release on Demand
- Overview
- OWASP ZAP๋ฅผ ์ด์ฉํ ์ง์์ ์ธ ๋ณด์ ๋ชจ๋ํฐ๋ง
10. Time to say Goodbye
Github Repositories
๐พ ๊ธฐ์ ์์ญ์์ ๋ค๋ฃจ๋ ์คํ์์ค ์๋ฃจ์
- Aqua Trivy, TruffleHog, Mountebank, Cucumber, Kubernetes Blue/Green Deployment, FlipT, ArgoCD, Jaeger, OpenTracing (OpenTelemetry), Rrweb, OWASP ZAP
DevOps์ ์ ์
์ด์ ์์
๋๋ค.
ํ๊ตญ ยท ํธ์ฃผ ยท ์๊ตญ์์ Full-stack Developer, DevOps Engineer/Consultant๋ก 15๋
์ ๋ ์ผํ๊ณ ์๋ Digital Nomad IT Engineer์
๋๋ค. IT ์กฐ์ง ์ด์ ์ต์ ํ๋ฅผ ์ํด ๋์์์ด ์๋ก์ด ์ฃผ์ ์ ๋ํด ๊ณต๋ถํ๊ณ ์์ผ๋ฉฐ, ์ํดํ ๋๊น์ง Engineer๋ก ์ํํ๊ณ ์ถ๋ค๋ ๊ฟ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ํ์ฌ๋ ํธ์ฃผ Melbourne์ ์๋ ํ ์ํ์ Developer Experience ํ์์ DevOps๋ก ํ๋ํ๊ณ ์์ต๋๋ค.
์์ธ ์ด๋ ฅ
- ์ ) The Latin Traveller์์ ์ธํด์ผ๋ก ์ฒซ ์ง์ฅ ์ํ ์์! [London, UK]
- ์ ) ํ์ง๊ทธ๋ฃน ํ ํ์ค์ฌํ์ ๋ณด - Java/Oracle ๊ฐ๋ฐ [Seoul, KR]
- ์ ) NuSkin Korea - Java/Oracle ๊ฐ๋ฐ [Seoul, KR]
- ๋น์ฆ๋์ค ํ๋ฆ์ ๋ํ ํธ๊ธฐ์ฌ์ผ๋ก Full-time MBA ๊ณผ์ ์กธ์
[Seoul/Nice, KR/FR]
- ์ ) KOSCOM - C ๊ฐ๋ฐ [Seoul, KR]
- ์ ) KDB๋์ฐ์ฆ๊ถ - Java, C#, Python, MongoDB, Oracle, Sybase, ActiveMQ ๋ฑ์ ์ด์ฉํ ๊ฐ๋ฐ [Seoul, KR]
- ์ ) National Australia Bank (NAB) - Full-stack Development [Melbourne, AU]
- ์ ) ํธ์ฃผ 4๋ ์ํ ์ค ํ ๊ณณ - Full-stack Development/In-house DevOps Consulting [Melbourne, AU]
- ์ ) Amazon Web Services - DevOps Consultant [Seoul/Melbourne, KR/AU]
- ํ) ํธ์ฃผ 4๋ ์ํ ์ค ํ ๊ณณ - DevOps๋ก DORA Metrics ์ ์์ Scalable CI Structure ๊ตฌํ์ผ๋ก ์จ๋ฆ ์ค... [Melbourne, AU]
Q&A ๐ฌ
Q. ์ 5๋
์ฐจ ์ด์์๊ฒ ์ด ๊ฐ์๋ฅผ ์ถ์ฒํ๋์?
๊ฐ๋ฐ/์ด์ ํ๋ก์ธ์ค์ ๋ํ ์ ๋ฐ์ ์ธ ๊ณ ๋ฏผ์ ํ๋ ์์ ์ด 5๋
์ฐจ ์ ํ๋ผ๊ณ ์๊ฐํฉ๋๋ค. Container image๋ฅผ ๋ง๋๋ ๋ฒ, CI/CD๋ฅผ ๊ตฌ์ถํ๋ ๋ฒ๊ณผ ๊ฐ์ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ์ ๊ณผ์ ์ ์ด ๊ณผ์ ์์ ๋ค๋ฃจ์ง ์์ต๋๋ค. ๋ง์ ํธ๊ธฐ์ฌ์ ๊ฐ์ง๊ณ IT ๊ฒฝ๋ ฅ 5๋
์ฐจ ์ด์์ผ๋ก ์ ์ด๋์ ๋ถ๋ค์ด ๊ฐ์ง ๊ณ ๋ฏผ์ ๋ํด ์ด๋ฌํ ๋ฐฉ๋ฒ์ผ๋ก ์ ๊ทผ์ ํด๋ณผ ์๋ ์๋ค๋ ๋ฐฉํฅ์ฑ์ ์ ์ํ๋ ๊ฒ์ด ์ด ๊ฐ์์ ์ ์ฌ์ ๋ชฉ์ ์
๋๋ค.
Q. DevOps๋ ํํ ์ ์์ผ(Agile) ๊ธฐ๋ฐ์ผ๋ก ๋ฌธํ๊ฐ ์ ํ๋๋ ๊ฒ์ผ๋ก ์๊ณ ์๋๋ฐ, ์ฐ๋ฆฌ ์กฐ์ง์ ์์ง๋ ์ํฐํด(Waterfall)๋ก ์ด์๋๋๋ฐ์?
DevOps๋ ์ ์์ผ ๋ฐํ์ผ๋ก ์ ๊ฐ๋์ง๋ง, ์ ์์ผ ๊ธฐ๋ฐ ์กฐ์ง ์ด์์ด ๋์ง ์์ ๊ณณ์์๋ DevOps๋ฅผ ์ ์ฉํด๋ณด๊ธฐ ์ํ ๋ค์ํ ๋
ธ๋ ฅ๋ค์ด ์ด๋ฃจ์ด์ง๊ณ ์์ต๋๋ค.
๋ณธ ๊ฐ์์์๋ ํ๋ DevOps์๋ ๋ง์ด ํ์ฉ๋ ๋ฟ๋ง ์๋๋ผ ์ ํต์ ์ธ ์ํฐํด ํํ์ ์กฐ์ง์์๋ ๋ง์ด ์ฌ์ฉํ๊ณ ์๋ Value Stream Mapping(VSM, ๊ฐ์น ํ๋ฆ ์ง๋)์ ์๊ฐํจ์ผ๋ก์จ ์ด๋ฌํ ์ด์๊ณผ ํ์ค์ ๊ฐ๊ทน์ ์ค์ด๊ธฐ ์ํ ์ฅ์น๋ฅผ ๋์์ต๋๋ค.
Q. ๊ฐ์๋ฅผ ๋ฃ๊ธฐ ์ ์ค๋นํด์ผ ํ ๊ฒ์ด ์๋์?
์ด ๊ฐ์๋ ์ค/๊ณ ๊ธ ๊ธฐ์ ์ ๋์์ผ๋ก ๊ธฐํ๋์์ต๋๋ค. ๋ฐ๋ผ์ ์ด๊ธ ๊ธฐ์ ์์ด์ ๋ถ๋ค์ ์ธํ๋ฐ์์ ๋ณผ ์ ์๋ DevOps์ ๋ํ ๋ค๋ฅธ ๊ฐ์๋ค์ ์ ๋ฐ์ ์ผ๋ก ๋ค์ด๋ณด์ ๋ค์ ์ด ๊ฐ์๋ฅผ ์๊ฐํ์๋ ๊ฑธ ์ถ์ฒ๋๋ฆฝ๋๋ค. Shell Script, Kubernetes, Terrafotm, Flyway์ ๊ฐ์ ๋ถ๋ถ์ ๋ณ๋์ ๊ธฐ์ด ์ค๋ช
์์ด ๋ฐ๋ก ์์ฉ ๊ณผ์ ์ผ๋ก ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์ ์ด์ ๋ํ ์ฌ์ ์ง์์ด ์๊ตฌ๋ฉ๋๋ค.
+) ์ค๊ธ ์ด์ ๊ธฐ์ ์์ด์ ๋ถ๋ค์ ์กธ์์ ์ซ์ ์ ์๋ ์ปคํผ ํ ์์ด ํ์ํ์ค ์ ์์ต๋๋ค.