Posts
DDD ๊ธฐ๋ณธ๊ฐœ๋… ์ •๋ฆฌ
· โ˜• 7 min read
๋“ค์–ด๊ฐ€๋ฉฐ ๋ชจ๋†€๋ฆฌ์‹ ์„œ๋น„์Šค๊ฐ€ ์ ์  ๊ฑฐ๋Œ€ํ•ด์ง€๋ฉด์„œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์˜ ๋ณต์žก์„ฑ์ด ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ํŠนํžˆ ๋ณต์žกํ•œ ๋„๋ฉ”์ธ์—์„œ๋Š” ์—ฌ๋Ÿฌ ๋น„์ฆˆ๋‹ˆ์Šค ๊ทœ์น™๋“ค์ด ์–ฝํ˜€์žˆ์–ด ์ฝ”๋“œ์˜ ๊ฐ€

AWS DMS๋ฅผ ํ™œ์šฉํ•œ NoSQL ์ ์šฉ๊ธฐ
· โ˜• 1 min read
์ตœ๊ทผ ํšŒ์‚ฌ์—์„œ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—‘์…€๋กœ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๊ธฐ๋Šฅ์˜ ์„ฑ๋Šฅ๊ฐœ์„  ์š”์ฒญ์ด์Šˆ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์›Œ๋‚™ ๋งŽ์€์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ฒˆ์— ๋ถˆ๋Ÿฌ์˜ค๋Š” ์ž‘์—…์ด๋‹ค๋ณด๋‹ˆ DB์— ๋ณ‘๋ชฉํ˜„์ƒ์ด ๋ฐœ

์ •์‚ฐ์‹œ์Šคํ…œ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜(EDA)๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ•˜๊ธฐ
· โ˜• 5 min read
๋“ค์–ด๊ฐ€๋ฉฐ ์ž‘๋…„ ํ•˜๋ฐ˜๊ธฐ์— ์ž…์‚ฌ๋‹น์‹œ๋ถ€ํ„ฐ ๋ฌธ์ œ๊ฐ€ ๋งŽ์•˜๋˜ ์ •์‚ฐ์‹œ์Šคํ…œ์„ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ•˜์˜€๋‹ค. ํšŒ์‚ฌ ๋„๋ฉ”์ธ ํŠน์„ฑ์ƒ ๋งค๋‹ฌ ์‚ฌ์šฉ์ž์˜ ๊ธ‰์—ฌ๋ฅผ ์ž…๊ธˆ๋ฐ›์•„ ์ •์‚ฐํ•˜๊ณ  ์ด๋ฅผ ๋‹ค์‹œ ์‚ฌ์šฉ์ž

AWS Elastic Beanstalk ํ™˜๊ฒฝ ๊ตฌ์„ฑํ•˜๊ธฐ
· โ˜• 3 min read
๋“ค์–ด๊ฐ€๋ฉฐ Elastic Beanstalk(์ดํ•˜ EB)์€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ/๊ด€๋ฆฌ(ํ”„๋กœ๋น„์ €๋‹, ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ, ์Šค์ผ€์ผ๋ง, ๋ชจ๋‹ˆํ„ฐ๋ง๋“ฑ)๋ฅผ ์†์‰ฝ๊ฒŒ ํ• ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” AWS

์ผ์ฒดํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ๋ชฉ์ ์— ๋งž๊ฒŒ MSA ๊ตฌ์กฐ๋กœ ์ „ํ™˜ํ•˜๊ธฐ
· โ˜• 4 min read
๋“ค์–ด๊ฐ€๋ฉฐ ํ˜„์žฌ ํšŒ์‚ฌ์—์„œ Monolothic Django๋กœ ์„œ๋น„์Šค๋ฅผ ์šด์˜์ค‘์ด๋‹ค. Django Admin, ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ Worker ์„œ๋ฒ„๋Š” ๋‹ค๋ฅธ Elastic Beanstalk ์„œ๋ฒ„๋กœ ์šด์˜์ค‘์ด์ง€๋งŒ ๊ฐ™์€ DB, ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๊ณต์œ ์ค‘์ธ ์ƒํƒœ๋กœ

AWS Lambda with SAM
· โ˜• 5 min read
๋“ค์–ด๊ฐ€๋ฉฐ ์„œ๋น„์Šค ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๋ณด๋ฉด Serverless๋กœ ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธด๋‹ค. AWS๋ฅผ ์“ฐ๊ณ ์žˆ๋‹ค๋ฉด Lambda ๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๋˜๋Š”๋ฐ, ๊ฐ„๋‹จํ•œ ๊ฒฝ์šฐ์—๋Š” ์ฝ˜์†”๋กœ

django, ํ˜‘์—…ํ•˜๊ธฐ ์ข‹์€์ฝ”๋“œ ๋งŒ๋“ค๊ธฐ
· โ˜• 5 min read
๋“ค์–ด๊ฐ€๋ฉฐ django๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ๋ณดํ†ต django rest framework(์ดํ•˜ drf)๋ฅผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜์—ฌ rest api ์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฑฐ์น˜๋ฉฐ ๋‹ค

django ์—์„œ celery ํ™œ์šฉ๊ธฐ
· โ˜• 4 min read
๋“ค์–ด๊ฐ€๋ฉฐ django๋กœ ์„œ๋ฒ„๋ฅผ ์šด์˜ํ•˜๋‹ค๋ณด๋ฉด ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์™ธ๋ถ€ API ํ˜ธ์ถœ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์กฐํšŒ, ๋ณต์žกํ•œ ๊ณ„์‚ฐ ๋“ฑ๋“ฑ ๋งŽ์€ ๊ฒฝ์šฐ์— ๋น„๋™๊ธฐ ์ฒ˜

1์ธ ๊ฐœ๋ฐœ๋กœ ์„œ๋น„์Šค ๋Ÿฐ์นญํ•˜๋ฉฐ...
· โ˜• 4 min read
๋“ค์–ด๊ฐ€๋ฉฐ 3๋…„ ๋„˜๊ฒŒ ๋‹ค๋‹ˆ๋˜ ํšŒ์‚ฌ๋ฅผ ๊ทธ๋งŒ๋‘๊ฒŒ ๋˜๊ณ , ํƒ€์ด๋ฐ ์ข‹๊ฒŒ? ์ง€์ธ์†Œ๊ฐœ๋กœ ์ƒˆ๋กœ ๋Ÿฐ์นญํ•˜๋Š” ์„œ๋น„์Šค(์žฌ๋Šฅ๊ธฐ๋ถ€ ํ”Œ๋žซํผ)์˜ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์— ์ฐธ์—ฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๋ ˆ๊ฑฐ์‹œ ์—†์ด

MSA ์„ค๊ณ„์‹œ ๊ณ ๋ คํ•ด์•ผ๋  ์ ๊ณผ Pattern
· โ˜• 2 min read
๊ณ ๋ คํ•ด์•ผ ๋ ์  Service Discovery : Container๊ฐ€ Scailing ๋˜์–ด๋„ ํ•ด๋‹น์„œ๋น„์Šค๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ ์„œ๋น„์Šค ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ (Eureka, Consul) ํ™œ์šฉ DNS ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค ๋””์Šค์ปค๋ฒ„๋ฆฌ (AWS Route53) ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ๊ฒฝ์šฐ Service,

github action์œผ๋กœ Kubernetes ๋ฐฐํฌ ์ž๋™ํ™”
· โ˜• 6 min read
๋“ค์–ด๊ฐ€๋ฉฐ ์ž‘๋…„๋ถ€ํ„ฐ ํšŒ์‚ฌ์˜ ๊ฑฐ๋Œ€ํ•œ ๋ ˆ๊ฑฐ์‹œ ์‹œ์Šคํ…œ์„ Python ๊ธฐ๋ฐ˜์˜ API ์„œ๋ฒ„๋กœ ์กฐ๊ธˆ์”ฉ ํฌํŒ…ํ•˜๊ณ  ์žˆ๋‹ค. ํ•œ๋ฒˆ์— ๋ชจ๋‘ ํฌํŒ…ํ•˜๊ธฐ๋ž€ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ์— MSA๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ๋“ค๋กœ ๋‚˜

AWS EKS Role์— ๋Œ€ํ•œ ๊ณ ์ฐฐ
· โ˜• 4 min read
MSA(microservice architecture)๋ฅผ ์œ„ํ•ด CDK(typescript)๋ฅผ ํ†ตํ•ด EKS๋ฅผ ๊ตฌ์„ฑํ•œ ์ ์ด ์žˆ๋Š”๋ฐ, ์ด๋•Œ๋Š” ๋™์ž‘์—๋งŒ ์ง‘์ค‘ํ•˜๋‹ค ๋ณด๋‹ˆ, ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๋Š”