12. DevOps 는 무엇인가요?
DevOps 정의 (Wikipedia)
DevOps라는 합성어는 소프트웨어 개발자들과 IT 종사자들 사이의
의사소통, 협업, 융합 을 강조한
소프트웨어 개발 방법론이며, 소프트웨어 개발과 IT 운영간의
상호 의존관계에 대한 산물이다.
DevOps 는 조직에서 소프트웨어 상품과 서비스를
신속히 생산 하는 것에 도움이 되는 것을 목적으로 한다.
DevOps (a portmanteau of development and operations) is a software development method that stresses communication, collaboration and
integration between software developers and information technology(IT) professionals. DevOps is a response to the interdependence of software
development and IT operations. It aims to help an organization rapidly produce software products and services.
http://en.wikipedia.org/wiki/Devops
13. DevOps 는 무엇인가요?
대규모 버전업 과정
신규 가입자를 늘리기 위한 버전 업
1.0 1.5
facebook, twitter 친구/포스팅,
음악 가져오기, 레이아웃 변경,
필터 추가, 버그픽스 …
8주간 개발, 2달 뒤 첫 주 금요일에
v 1.5 반영
14. DevOps 는 무엇인가요?
잦은 버전업 과정
신규 가입자를 늘리기 위한 버전 업
1.0 1.0.1 1.0.2 1.1 …
facebook, twitter 친구/포스팅,
음악 가져오기, 레이아웃 변경,
필터 추가, 버그픽스 …
각 기능별 1주간 (iteration) 개발하고,
매주 반영, 총 소요기간 8주
15. DevOps 는 무엇인가요?
잦은 배포의 효과
간격이 긴 릴리즈 잦은 릴리즈
“일반적인 방법론” “애자일 방법론”
뾰족한 위험도 완만해진 위험도
http://en.wikipedia.org/wiki/DevOps#Devops_Days
16. DevOps 는 무엇인가요?
손가락질 프로세스
장애닷!
아악!! 완료
장
애
놀라기 비난하기 낑낑 문제 수
묵비권, 내 살길 숨기 파악하기 정
잘못 찾기 찾기 자아 복
보호 구
시간
17. DevOps 는 무엇인가요?
생산적인 프로세스
장애닷!
아악!! 완료
장
애
문제 수 죄책감 새삶
파악하기 정 느끼기 살아가기
복
구
시간
19. 앱(APP) 중심으로 생각하기
새로운 서비스 시작
일일 10만 유저 방문
5만명 사진 업로드
5만 명 댓글 포스트, 좋아요 클릭
또, 연인들의 날 트래픽 급격히 증가
……….
하드웨어, Storage, NW 산정
HP Quad Core IA2 BL860c i2 Balde IA * 2
스토리지, Veritas VCS, Rack, …..
20. 앱(APP) 중심으로 생각하기
새로운 서비스 시작
일일 10만 유저 방문
5만명 사진 업로드
5만 명 댓글 포스트, 좋아요 클릭
또, 연인들의 날 트래픽 급격히 증가
……….
일단 최소로 가보자.
VM v2core 4GB RAM HDD 100GB
S3 스토리지, ELB, RDS 사용
부족하면 즉시 늘리면 되니까 !
21. 앱(APP) 중심으로 생각하기
모바일 서비스 프로젝트 시작
앱개발자 데봅 김군.
취미로 주말마다 전국의 낚시터를 다니며
민물낚시를 즐김.
필요에 의해, 낚시인들이 생각하는 낚시터와
주변의 먹거리, 여행 정보를 공유하는
모바일 서비스를 하기로 막 결정한 상태
22. 앱(APP) 중심으로 생각하기
모바일 서비스 프로젝트 시작
사용자는 얼마 안 될 테니, VM 1EA 호스팅
세팅 : Apache + Tomcat + Spring, MySQL DB
개발 : API 서버 개발, 앱 개발
기타 1 : API 서버를 위한 도메인 구매
기타 2 : 고객 정보 보호를 위해 SSL 인증서 구매
기타 3 : 백업 정책 수립, 매주 백업
걱정 : 잘되도 걱정,
갑자기 사용자가 늘어나면 어떻게 하지?
23. 앱(APP) 중심으로 생각하기
모바일 서비스 프로젝트 시작
API Server
https Apache MySQL
모바일 앱 Tomcat
restful/json
사진
Spring 저장소
• 회원가입
• 회원정보조회/수정 weekly backup
• 사진업로드 $wget –username -- …
• Push
• POI Home
• 통계
• 피드백
Backup
24. 앱(APP) 중심으로 생각하기
모바일 서비스 프로젝트 시작
API Server
https Apache MySQL
Backend as a Service
모바일 앱 Tomcat
restful/json
사진
Spring 저장소
• 회원가입
• 회원정보조회/수정
• 사진업로드
• Push
• POI Home
• 통계
• 피드백
Backup
26. 왜 자동화 해야 하나요 ?
신속 / 적기에 서비스 오픈 해야 글로벌 경쟁에서
살아 남는 것을 넘어, 선도할 수 있음.
IT 도 사람이 하는 작업이기에, 언제나 실수할 수 있음
삽질은 툴에 맡기고, 그 시간에 창조적인 일에 집중
동일한 업무는 모든 사람이 동일한 품질을 보장
28. KTH 에서는 …
DevOps 정의 in kth
개발팀과 운영팀을 지원하는 조직으로써,
서비스 기획 및 개발 시작 단계에서부터
서버설치, 개발, 빌드, 테스트, 배포, 모니터링까지
모든 서비스 라이프 싸이클 프로세스를
자동화 하고 개선해 나가는 조직
29. KTH 에서는 …
배포 자동화
모니터링
2012.10.31 현재
자동화
시스템 설정
자동화
빌드 자동화
소스 활용
효용성 확보
계정 통합 로드맵
이슈 통합
30. KTH 에서는 …
자동화 전,후 비교
이전 이후
이슈 관리 메일, 메신저, 전화 JIRA
이슈+소스 관계 관리 X JIRA
빌드 로컬, 개발서버 중앙 빌드
테스트 직접 테스트 빌드 후 자동
앱 배포 메일, 메신저 빌드 후 자동 배포
서버 세팅 직접 빌드, 설치 자동 세팅
모니터링 단독 모니터링 시스템 연계 모니터링
서버 배포 복사, 직접 재기동 빌드 후 자동 배포