SlideShare a Scribd company logo
1 of 94
Download to read offline
피플펀드 웹서비스
성능개선기
피플펀드 한섬기
피플펀드 웹서비스
성능개선기
피플펀드 한섬기
어쩌면, 스타트업의 개발 방법론
이 이야기는 피플펀드 개발팀이 모두 함께 작업한 내용입니다.
이 이야기는 피플펀드 개발팀이 모두 함께 작업한 내용입니다.
하지만 마치 제가 다 한 것처럼 이야기 해볼게요.
오늘의 퀘스트
손들고 질문해보기노말 퀘스트
오늘의 퀘스트
손들고 질문해보기
손들고 반대해보기
노말 퀘스트
하드 퀘스트
오늘의 퀘스트
손들고 질문해보기
손들고 반대해보기
노말 퀘스트
하드 퀘스트
오늘의 퀘스트
해도 되고 안 해도 그만퀘스트 보상 없습니다
갑자기
예상보다 많은 유저가 몰렸을 때 

대처했던 이야기
갑자기
예상보다 많은 유저가 몰렸을 때 

대처했던 이야기
이면서, 초기 스타트업이 어떻게 개발해야하는지에 대한 고민 이야기
문제 발견
원인 파악
선행 작업
개선 작업
성과 측정
문제 발견
사실 알고 있었다.
“섬기님, 사이트가 느려요!!!”
“섬기님, 사이트가 느려요!!!”
“네, 좀 느리네요.”보지도 않고 얘기하기
“섬기님, 사이트가 느려요!!!”
“네, 좀 느리네요.”
바쁜 스타트업에서 사이트가 조금 느린 것은
업무의 우선순위에 들어오지 않는다.
보지도 않고 얘기하기
“섬기님, 사이트가 느려요!!!”
“네, 좀 느리네요.”
바쁜 스타트업에서 사이트가 조금 느린 것은
업무의 우선순위에 들어오지 않는다.
보지도 않고 얘기하기
그런데 진짜 문제가 있었다…
그럼에도 불구하고,
다행이었던 것들.
업무 우선순위가 아니었음에도

어떻게든 시간을 내서,
AWS CloudWatch*에 몇몇 지표를 생성해두었음
https://aws.amazon.com/cloudwatch*
업무 우선순위가 아니었음에도

어떻게든 시간을 내서,
AWS CloudWatch*에 몇몇 지표를 생성해두었음
https://aws.amazon.com/cloudwatch
https://newrelic.com/python
*
**
업무 우선순위가 아니었음에도

어떻게든 시간을 내서,
New Relic APM**을 API서버에 연동해두었음
AWS CloudWatch*에 몇몇 지표를 생성해두었음
https://aws.amazon.com/cloudwatch
https://newrelic.com/python
*
**
업무 우선순위가 아니었음에도

어떻게든 시간을 내서,
New Relic APM**을 API서버에 연동해두었음
Django ORM을 

어떻게 하면 좀 더 빠르게 동작하도록 만들 수 있는지, 

적어도 방향성에 대한 논의를 조금 해두었음
AWS CloudWatch*에 몇몇 지표를 생성해두었음
https://aws.amazon.com/cloudwatch
https://newrelic.com/python
*
**
업무 우선순위가 아니었음에도

어떻게든 시간을 내서,
New Relic APM**을 API서버에 연동해두었음
Django ORM을 

어떻게 하면 좀 더 빠르게 동작하도록 만들 수 있는지, 

적어도 방향성에 대한 논의를 조금 해두었음
이에 따라 야금야금 개선하고 있었음
그럼에도 불구하고,
터진 사건
웹페이지 로딩시간이 10~30초
API 응답도 10~30초
웹페이지 로딩시간이 10~30초
API 응답도 10~30초
뙇
더불어서 약 25%의 접속은 Nginx가 바로 내려주는 502 Bad Gateway
원인 파악
사실, 역시 알고 있었다.
피플펀드 서비스는,

점심 때 신규채권 안내문자와 알림톡이 발송된 직후 

10~20분간 하루의 모든 트래픽이 몰리는 구조
Auto-scaling 같은 거 안됨
Auto-scaling 같은 거 안됨
30초 안에 Auto-scaling 하는 것은 불가능

감지되고 추가 서버 올라올 때쯤이면 이미 메인 트래픽은 모두 오류를 겪는 상황
가장 중요한 입금, 출금, 투자, 상환 모두

LOCK과 함께하는 트랜젝션으로 처리됨
가장 중요한 입금, 출금, 투자, 상환 모두

LOCK과 함께하는 트랜젝션으로 처리됨
물론 row 단위 lock이기는 함
투자자 분들의 자금도 중요하고

사이트 속도도 빨라야함
그런데,
개발도 빨리해야함
최우선 순위는

투자자 분들의 자금
최우선 순위는

투자자 분들의 자금
나머지는 잠시(?) 포기
여기서 잠깐,
기술 부채는 어느 정도가 적당할까?
다른 것들은 잘 모르겠지만
피플펀드 시스템을 만들면서 얻은 교훈 하나,
처음 사용하는 거라면 어떻게든 조금은 공부하고 사용하자
다른 것들은 잘 모르겠지만
피플펀드 시스템을 만들면서 얻은 교훈 하나,
처음 사용하는 거라면 어떻게든 조금은 공부하고 사용하자
다른 것들은 잘 모르겠지만
피플펀드 시스템을 만들면서 얻은 교훈 하나,
달려가는 자동차의 바퀴를 갈아끼는 것은 정말 힘들다.
시간이 누구보다 소중한 스타트업에서는.
처음 사용하는 거라면 어떻게든 조금은 공부하고 사용하자
다른 것들은 잘 모르겠지만
피플펀드 시스템을 만들면서 얻은 교훈 하나,
달려가는 자동차의 바퀴를 갈아끼는 것은 정말 힘들다.
시간이 누구보다 소중한 스타트업에서는.
하지만 개발팀이 사업의 성장을 견인하지 못하면,
모든 것이 물거품이다.
처음 사용하는 거라면 어떻게든 조금은 공부하고 사용하자
다른 것들은 잘 모르겠지만
피플펀드 시스템을 만들면서 얻은 교훈 하나,
달려가는 자동차의 바퀴를 갈아끼는 것은 정말 힘들다.
시간이 누구보다 소중한 스타트업에서는.
하지만 개발팀이 사업의 성장을 견인하지 못하면,
모든 것이 물거품이다.
안타깝지만 결론은 상황에 따른 적절한 판단력이 가장 최고의 해결책.
그럼에도 불구하고, 시급성과 중요성 중에서 중요한 것을 놓지지 않을 수 있는 방법을 항상 고민하자.
아무튼, 그 결과 이렇게 됨
w/ NewRelic APM
* NewRelic APM에서는 사건 당시 처참한 장면을 스샷으로 찍어두지 못함
아무튼, 그 결과 이렇게 됨
w/ NewRelic APM
* NewRelic APM에서는 사건 당시 처참한 장면을 스샷으로 찍어두지 못함
아무튼, 그 결과 이렇게 됨
w/ NewRelic APM
* NewRelic APM에서는 사건 당시 처참한 장면을 스샷으로 찍어두지 못함
아무튼, 그 결과 이렇게 됨
w/ CloudWatch
* CloudWatch는 몇 개월 전 데이터도 다 보관됨 무서운 놈들임
아무튼, 그 결과 이렇게 됨
SWAP 사용율 미친듯이 올라감
w/ CloudWatch
* CloudWatch는 몇 개월 전 데이터도 다 보관됨 무서운 놈들임
아무튼, 그 결과 이렇게 됨
DB 연결/사용량 미친듯이 늘어남
w/ CloudWatch
* CloudWatch는 몇 개월 전 데이터도 다 보관됨 무서운 놈들임
아무튼, 그 결과 이렇게 됨
응답시간 ‘평균’ 8초 이상 w/ CloudWatch
* CloudWatch는 몇 개월 전 데이터도 다 보관됨 무서운 놈들임
아무튼, 그 결과 이렇게 됨
HTTP Status 200 외의 

다른 응답이 미친듯이 나감
w/ CloudWatch
* CloudWatch는 몇 개월 전 데이터도 다 보관됨 무서운 놈들임
선행 작업
목표는 3가지
NewRelic APM의 

‘Most time consuming’ 페이지를 기준으로 

TOP 5 API를 순위권에서 없애기
웹서버의 에러응답 비율 낮추기
EC2 인스턴스의 사양을 높이고 수를 늘리기
목표는 3가지
히든 퀘스트
딱 하나의 병목을 해결한다고 끝나는 문제가 아님을 

다른 부서와 공유하기
히든 퀘스트
당황하지 말고 수치로 말할 수 있는 전후 결과 만들기
딱 하나의 병목을 해결한다고 끝나는 문제가 아님을 

다른 부서와 공유하기
히든 퀘스트
당황하지 말고 수치로 말할 수 있는 전후 결과 만들기
덜떨어진 개발팀, 혹은 자존심만 쎈 개발팀이 되는 순간 신뢰를 잃는다
딱 하나의 병목을 해결한다고 끝나는 문제가 아님을 

다른 부서와 공유하기
히든 퀘스트
당황하지 말고 수치로 말할 수 있는 전후 결과 만들기
덜떨어진 개발팀, 혹은 자존심만 쎈 개발팀이 되는 순간 신뢰를 잃는다
명확한 의사소통 능력과 자연스러운 성과 공유 또한 몸값을 올리는 중요한 사회생존기술 중에 하나이다
개선 작업
API 개선하기
ORM을 정확히 파악하기
API 개선하기
ORM을 정확히 파악하기
* https://pypi.python.org/pypi/django-debug-toolbar
API 개선하기
# DB에 접속
e = Entry.objects.get(id=5)
# 관련된 Blog 객체를 가져오기 위해 DB에 한번 더 접속
b = e.blog
ORM을 정확히 파악하기
*https://tech.peoplefund.co.kr/2017/11/03/django-db-optimization.html
API 개선하기
# DB에 접속
e = Entry.objects.get(id=5)
# 관련된 Blog 객체를 가져오기 위해 DB에 한번 더 접속
b = e.blog
ORM을 정확히 파악하기
*https://tech.peoplefund.co.kr/2017/11/03/django-db-optimization.html
loop였다면…!
API 개선하기
# DB에 접속
e = Entry.objects.get(id=5)
# 관련된 Blog 객체를 가져오기 위해 DB에 한번 더 접속
b = e.blog
ORM을 정확히 파악하기
*https://tech.peoplefund.co.kr/2017/11/03/django-db-optimization.html
# select_related을 사용
# DB에 접속
e = Entry.objects.select_related('blog').get(id=5)
# 이미 위에서 관련된 Blog객체들을 가져왔기 때문에 DB에 접속하지 않음
b = e.blog
loop였다면…!
API 개선하기
미리 계산해두기
API 개선하기
미리 계산해두기
채권 목록에서 각 채권에 법인이나 기관이 투자한 비중을 표시하기 위해 

목록을 순회하며 각 채권에 투자된 건을 계산하는 대신, 

채권 정보에 법인/기관의 투자 금액을 투자 시점에 기록해둔다.
예시:
API 개선하기
미리 계산해두기
채권 목록에서 각 채권에 법인이나 기관이 투자한 비중을 표시하기 위해 

목록을 순회하며 각 채권에 투자된 건을 계산하는 대신, 

채권 정보에 법인/기관의 투자 금액을 투자 시점에 기록해둔다.
예시:
API 개선하기
미리 계산해두기
채권 목록에서 각 채권에 법인이나 기관이 투자한 비중을 표시하기 위해 

목록을 순회하며 각 채권에 투자된 건을 계산하는 대신, 

채권 정보에 법인/기관의 투자 금액을 투자 시점에 기록해둔다.
예시:
API 개선하기
미리 계산해두기
채권 목록에서 각 채권에 법인이나 기관이 투자한 비중을 표시하기 위해 

목록을 순회하며 각 채권에 투자된 건을 계산하는 대신, 

채권 정보에 법인/기관의 투자 금액을 투자 시점에 기록해둔다.
예시:
채권
투자건
기관 투자자
투자건
법인 투자자
투자건
일반 투자자
…
…
API 개선하기
미리 계산해두기
채권 목록에서 각 채권에 법인이나 기관이 투자한 비중을 표시하기 위해 

목록을 순회하며 각 채권에 투자된 건을 계산하는 대신, 

채권 정보에 법인/기관의 투자 금액을 투자 시점에 기록해둔다.
예시:
채권
투자건
기관 투자자
투자건
법인 투자자
투자건
일반 투자자
+ 기관 투자자의 총 투자금액
+ 전체 투자자의 총 투자금액
…
…
API 개선하기
미리 계산해두기
채권 목록에서 각 채권에 법인이나 기관이 투자한 비중을 표시하기 위해 

목록을 순회하며 각 채권에 투자된 건을 계산하는 대신, 

채권 정보에 법인/기관의 투자 금액을 투자 시점에 기록해둔다.
예시:
교과서적인 방법론으로 해결할 수 없는 부분은
과감히 원칙을 버린다.
반정규화(역정규화)
API 개선하기
DB Indexing w/ MySQL WorkBench Execution Plan
API 개선하기
DB Indexing w/ MySQL WorkBench Execution Plan
API 개선하기
DB Indexing w/ MySQL WorkBench Execution Plan
나의 Query가 Index를
탐색하는지 살펴보자
API 개선하기
DB Indexing w/ MySQL WorkBench Execution Plan
꿀팁
API 개선하기
Caching w/ CloudFront
API 개선하기
Caching w/ CloudFront
채권 목록 API는 1분 단위 캐싱을 한다.예시:
API 개선하기
Caching w/ CloudFront
채권 목록 API는 1분 단위 캐싱을 한다.예시:
CloudFront의 캐싱 결과
API 개선하기
Caching w/ CloudFront
채권 목록 API는 1분 단위 캐싱을 한다.예시:
502 Bad Gateway
w/ Nginx
502 Bad Gateway
w/ Nginx
뙇
502 Bad Gateway
… connect() to unix: … sock failed (Resource temporarily unavailable) …
w/ Nginx
Nginx 로그에 남아있는 하나의 단서
502 Bad Gateway
… connect() to unix: … sock failed (Resource temporarily unavailable) …
w/ Nginx
Nginx 로그에 남아있는 하나의 단서
+@

“설정값 하나만 바꾸면 될 것 같은데…”
502 Bad Gateway
… connect() to unix: … sock failed (Resource temporarily unavailable) …
w/ Nginx
Nginx 로그에 남아있는 하나의 단서
+@

“설정값 하나만 바꾸면 될 것 같은데…”
+@

“누구는 되고 누구는 안되요”
502 Bad Gateway
sudo vi /etc/sysctl.conf
w/ Nginx
net.core.somaxconn=1024
sudo reboot now
* http://www.ryanfrantz.com/posts/apache-tcp-backlog/
* http://meetup.toast.com/posts/54
* https://brunch.co.kr/@alden/6
성과 측정
아무튼, 그 결과 이렇게 됨
w/ CloudWatch
아무튼, 그 결과 이렇게 됨
w/ CloudWatch
* CloudWatch는 몇 개월 전 데이터도 다 보관됨 무서운 놈들임
아무튼, 그 결과 이렇게 됨
w/ CloudWatch
* CloudWatch는 몇 개월 전 데이터도 다 보관됨 무서운 놈들임
아무튼, 그 결과 이렇게 됨
w/ 일반인
아무튼, 그 결과 이렇게 됨
w/ 일반인
월요일 피크타임과 동일한 x개의 접속 중,
오류 비율을 25%에서 3%로 낮췄습니다.
아무튼, 그 결과 이렇게 됨
w/ 일반인
월요일 피크타임과 동일한 x개의 접속 중,
오류 비율을 25%에서 3%로 낮췄습니다.
손들고 질문해보기
손들고 반대해보기

More Related Content

What's hot

Blox — Docker 클러스터링에 ECS만으로는 부족하셨다고요?
Blox — Docker 클러스터링에 ECS만으로는 부족하셨다고요?Blox — Docker 클러스터링에 ECS만으로는 부족하셨다고요?
Blox — Docker 클러스터링에 ECS만으로는 부족하셨다고요?AWSKRUG - AWS한국사용자모임
 
Aws발표자료 final
Aws발표자료 finalAws발표자료 final
Aws발표자료 finalGi Bong Kim
 
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 2회 - 팀플 과제를 여행하는 히치하이커를 위한...
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 2회 - 팀플 과제를 여행하는 히치하이커를 위한...[AUSG] 초보자를 위한 AWS 뿌시기 세미나 2회 - 팀플 과제를 여행하는 히치하이커를 위한...
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 2회 - 팀플 과제를 여행하는 히치하이커를 위한...AWSKRUG - AWS한국사용자모임
 
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015Amazon Web Services Korea
 
클라우드 춘추전국시대 서버 개발자 생존기
클라우드 춘추전국시대 서버 개발자 생존기클라우드 춘추전국시대 서버 개발자 생존기
클라우드 춘추전국시대 서버 개발자 생존기iFunFactory Inc.
 
[DDD] 모바일 게임을 만들기 위한 AWS 고군분투기 (2019)
[DDD] 모바일 게임을 만들기 위한 AWS 고군분투기 (2019)[DDD] 모바일 게임을 만들기 위한 AWS 고군분투기 (2019)
[DDD] 모바일 게임을 만들기 위한 AWS 고군분투기 (2019)용호 최
 
Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라
Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라
Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라MinKyu Kim
 
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)AWSKRUG - AWS한국사용자모임
 
ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들
ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들
ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들AWSKRUG - AWS한국사용자모임
 
Terraform 입문 - 최용호
Terraform 입문 - 최용호Terraform 입문 - 최용호
Terraform 입문 - 최용호용호 최
 
2016 NDC - 클라우드 시대의 모바일 게임 운영 플랫폼 구현
2016 NDC  - 클라우드 시대의  모바일 게임 운영 플랫폼 구현2016 NDC  - 클라우드 시대의  모바일 게임 운영 플랫폼 구현
2016 NDC - 클라우드 시대의 모바일 게임 운영 플랫폼 구현iFunFactory Inc.
 
파이어베이스 네이버 밋업발표
파이어베이스 네이버 밋업발표파이어베이스 네이버 밋업발표
파이어베이스 네이버 밋업발표NAVER D2
 
[제3회 스포카콘] Kubernetes in Spoqa
[제3회 스포카콘] Kubernetes in Spoqa[제3회 스포카콘] Kubernetes in Spoqa
[제3회 스포카콘] Kubernetes in SpoqaKangwook Lee
 
AWS DevOps와 ECR을 통한 Elastic Beanstalk 배포 환경 구축 및 타 환경과의 비교
AWS DevOps와 ECR을 통한 Elastic Beanstalk 배포 환경 구축 및 타 환경과의 비교AWS DevOps와 ECR을 통한 Elastic Beanstalk 배포 환경 구축 및 타 환경과의 비교
AWS DevOps와 ECR을 통한 Elastic Beanstalk 배포 환경 구축 및 타 환경과의 비교ssuserd4f9ff
 

What's hot (20)

AWS로 불꺼온 나날들
AWS로 불꺼온 나날들AWS로 불꺼온 나날들
AWS로 불꺼온 나날들
 
Blox — Docker 클러스터링에 ECS만으로는 부족하셨다고요?
Blox — Docker 클러스터링에 ECS만으로는 부족하셨다고요?Blox — Docker 클러스터링에 ECS만으로는 부족하셨다고요?
Blox — Docker 클러스터링에 ECS만으로는 부족하셨다고요?
 
Aws발표자료 final
Aws발표자료 finalAws발표자료 final
Aws발표자료 final
 
EC2용 SSH Tool - Eclair
EC2용 SSH Tool - EclairEC2용 SSH Tool - Eclair
EC2용 SSH Tool - Eclair
 
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 2회 - 팀플 과제를 여행하는 히치하이커를 위한...
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 2회 - 팀플 과제를 여행하는 히치하이커를 위한...[AUSG] 초보자를 위한 AWS 뿌시기 세미나 2회 - 팀플 과제를 여행하는 히치하이커를 위한...
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 2회 - 팀플 과제를 여행하는 히치하이커를 위한...
 
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015
 
클라우드 춘추전국시대 서버 개발자 생존기
클라우드 춘추전국시대 서버 개발자 생존기클라우드 춘추전국시대 서버 개발자 생존기
클라우드 춘추전국시대 서버 개발자 생존기
 
[DDD] 모바일 게임을 만들기 위한 AWS 고군분투기 (2019)
[DDD] 모바일 게임을 만들기 위한 AWS 고군분투기 (2019)[DDD] 모바일 게임을 만들기 위한 AWS 고군분투기 (2019)
[DDD] 모바일 게임을 만들기 위한 AWS 고군분투기 (2019)
 
Dynamodb 삽질기
Dynamodb 삽질기Dynamodb 삽질기
Dynamodb 삽질기
 
Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라
Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라
Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라
 
Eclair
EclairEclair
Eclair
 
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
 
Redis on AWS
Redis on AWSRedis on AWS
Redis on AWS
 
ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들
ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들
ELB와 EBS의 아키텍터로 생각해보는 사용상 주의할 점들
 
Terraform 입문 - 최용호
Terraform 입문 - 최용호Terraform 입문 - 최용호
Terraform 입문 - 최용호
 
2016 NDC - 클라우드 시대의 모바일 게임 운영 플랫폼 구현
2016 NDC  - 클라우드 시대의  모바일 게임 운영 플랫폼 구현2016 NDC  - 클라우드 시대의  모바일 게임 운영 플랫폼 구현
2016 NDC - 클라우드 시대의 모바일 게임 운영 플랫폼 구현
 
iFun Deploy 소개
iFun Deploy 소개iFun Deploy 소개
iFun Deploy 소개
 
파이어베이스 네이버 밋업발표
파이어베이스 네이버 밋업발표파이어베이스 네이버 밋업발표
파이어베이스 네이버 밋업발표
 
[제3회 스포카콘] Kubernetes in Spoqa
[제3회 스포카콘] Kubernetes in Spoqa[제3회 스포카콘] Kubernetes in Spoqa
[제3회 스포카콘] Kubernetes in Spoqa
 
AWS DevOps와 ECR을 통한 Elastic Beanstalk 배포 환경 구축 및 타 환경과의 비교
AWS DevOps와 ECR을 통한 Elastic Beanstalk 배포 환경 구축 및 타 환경과의 비교AWS DevOps와 ECR을 통한 Elastic Beanstalk 배포 환경 구축 및 타 환경과의 비교
AWS DevOps와 ECR을 통한 Elastic Beanstalk 배포 환경 구축 및 타 환경과의 비교
 

Similar to 피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220

10만 라인, 26280시간의 이야기
10만 라인, 26280시간의 이야기10만 라인, 26280시간의 이야기
10만 라인, 26280시간의 이야기Minyoung Jeong
 
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)Lab80
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)수보 김
 
[월간 슬라이드] 한시간안에 게시판 만들기 with 스프링부트
[월간 슬라이드] 한시간안에 게시판 만들기 with 스프링부트[월간 슬라이드] 한시간안에 게시판 만들기 with 스프링부트
[월간 슬라이드] 한시간안에 게시판 만들기 with 스프링부트월간 IT 슬라이드
 
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기Seokjae Lee
 
Meteor를 통해서 개발하는 웹어플리케이션 서비스
Meteor를 통해서 개발하는 웹어플리케이션 서비스Meteor를 통해서 개발하는 웹어플리케이션 서비스
Meteor를 통해서 개발하는 웹어플리케이션 서비스WebFrameworks
 
추천서비스고군분투기 On Aws - 박진우 (레코벨)
추천서비스고군분투기 On Aws - 박진우 (레코벨)추천서비스고군분투기 On Aws - 박진우 (레코벨)
추천서비스고군분투기 On Aws - 박진우 (레코벨)AWSKRUG - AWS한국사용자모임
 
쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유NAVER SHOPPING
 
[PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System [PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System Kwangseob Kim
 
[PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System [PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System Kwangseob Kim
 
유니티3D 그리고 웹통신
유니티3D 그리고 웹통신유니티3D 그리고 웹통신
유니티3D 그리고 웹통신현욱 김
 
[MASOCON 2019] Serverless - Kimminjun
[MASOCON 2019] Serverless - Kimminjun [MASOCON 2019] Serverless - Kimminjun
[MASOCON 2019] Serverless - Kimminjun Kim Minjun
 
[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔NAVER D2
 
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017devCAT Studio, NEXON
 
201803 파이썬 세미나
201803 파이썬 세미나201803 파이썬 세미나
201803 파이썬 세미나JeongHwan Kim
 
웹사이트기획 및 관리
웹사이트기획 및 관리웹사이트기획 및 관리
웹사이트기획 및 관리봉조 김
 
장고로 웹서비스 만들기 기초
장고로 웹서비스 만들기   기초장고로 웹서비스 만들기   기초
장고로 웹서비스 만들기 기초Kwangyoun Jung
 

Similar to 피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220 (20)

10만 라인, 26280시간의 이야기
10만 라인, 26280시간의 이야기10만 라인, 26280시간의 이야기
10만 라인, 26280시간의 이야기
 
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)
학교에서는 배울 수 없는 스타트업 엔지니어링 (연세대 특강)
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
[월간 슬라이드] 한시간안에 게시판 만들기 with 스프링부트
[월간 슬라이드] 한시간안에 게시판 만들기 with 스프링부트[월간 슬라이드] 한시간안에 게시판 만들기 with 스프링부트
[월간 슬라이드] 한시간안에 게시판 만들기 with 스프링부트
 
Light Tutorial Django
Light Tutorial DjangoLight Tutorial Django
Light Tutorial Django
 
Place site Design
Place site DesignPlace site Design
Place site Design
 
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
 
Meteor를 통해서 개발하는 웹어플리케이션 서비스
Meteor를 통해서 개발하는 웹어플리케이션 서비스Meteor를 통해서 개발하는 웹어플리케이션 서비스
Meteor를 통해서 개발하는 웹어플리케이션 서비스
 
추천서비스고군분투기 On Aws - 박진우 (레코벨)
추천서비스고군분투기 On Aws - 박진우 (레코벨)추천서비스고군분투기 On Aws - 박진우 (레코벨)
추천서비스고군분투기 On Aws - 박진우 (레코벨)
 
Showroom 2019-react
Showroom 2019-reactShowroom 2019-react
Showroom 2019-react
 
쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유
 
[PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System [PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System
 
[PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System [PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System
 
유니티3D 그리고 웹통신
유니티3D 그리고 웹통신유니티3D 그리고 웹통신
유니티3D 그리고 웹통신
 
[MASOCON 2019] Serverless - Kimminjun
[MASOCON 2019] Serverless - Kimminjun [MASOCON 2019] Serverless - Kimminjun
[MASOCON 2019] Serverless - Kimminjun
 
[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔
 
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
 
201803 파이썬 세미나
201803 파이썬 세미나201803 파이썬 세미나
201803 파이썬 세미나
 
웹사이트기획 및 관리
웹사이트기획 및 관리웹사이트기획 및 관리
웹사이트기획 및 관리
 
장고로 웹서비스 만들기 기초
장고로 웹서비스 만들기   기초장고로 웹서비스 만들기   기초
장고로 웹서비스 만들기 기초
 

피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220