Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
http://goorm.io
contact@goorm.io
클라우드 코딩 서비스
99DEV
구름은 어떻게 구름으로 개발되고 있는가
류성태/구름
2015.11.26 /sungtae.ryu@goorm.io
1.코다임 소개
2.구름IDE 소개
3.개발 프로세스
4.인프라스트럭쳐
5.구름으로 구름 개발하기
6.DEVOPS TOOL
7.정리하며…
1. 코다임 소개
4 / TOAST Meetup
회사 소개
은 클라우드 인프라에 대한 깊은 이해와, 웹 애플리케이션 개발에 대한
적지 않은 노하우로 국내를 넘어서 글로벌 서비스를 표방하는 기술 기반 스타트업
입니다.
사명의 의미는 COD...
5 / TOAST Meetup
Vision
TEACHING
LEARNINGDEVELOPING
SW
누구나 SW를 쉽게 개발할 수 있는 세상을 만듭니다.
이를 통해 SW가 만드는 더 나은 미래를 꿈꿉니다.
클라우드 코딩 ...
6 / TOAST Meetup
추구하는 솔루션
언제 어디서나 프로그래밍을 배우고, 소프트웨어를 개발할 수 있는 클라우드 서비스
TEACHING,
LEARNING
CODING,
DEVELOPING
ANYTIME,
ANYW...
7 / TOAST Meetup
제품 소개
DockerEnabledReal-timeCollaborativeEditingVariousProgrammingLanguages OnlineBuild/Debug
goormIDEgoo...
8 / TOAST Meetup
서비스 로드맵 (~2016)
오픈 베타 미/일 대상 서비스 확대 3.0 유료 서비스 출시, 중어 지원
온라인 코딩 테스트 서비스 출시민간 클라우드 지원 사업 (NIA) 일본 대상 서비스
오...
2. 구름 IDE 소개
10 / TOAST Meetup
구름의 기본 화면
좌측 레이아웃
- 프로젝트/클라우드
애플리케이션 개발에 관련된
모든 파일들을 프로젝트 단위로
관리하거나 클라우드 스토리지를
통해 관리할 수 있습니다.
우측 레이아웃
- ...
11 / TOAST Meetup
구름 IDE의 주요 특징
① 언제 어디서나
웹브라우저만있으면언제어디서나
연속성있는개발을할수있습니다.
그림
② 일관된 개발환경
매번새롭게개발환경을구축할필요없이일
관된개발환경을사용할수있습니다...
12 / TOAST Meetup
9월부터 2개월 클로즈 베타  오픈 베타 中
1,300 여명의 사용자
200개 이상의 이슈 레포팅
총 12회의 릴리즈
3. 개발 프로세스
14 / TOAST Meetup
개발 표준 / 제품 표준
• 개발 표준
– 개발 언어
• Backend
– Main : node.js
– Sub : C/C++
• Frontend
– Core : javascript (i...
15 / TOAST Meetup
goorm-DEVOPS 프로세스
Doing To be
tested
Done
이슈 관리 도구 (트렐로)
Tasks
신규 작업 할당
– 내부 기획을 통해
– 사용자 피드백을 통해
– 테스트 ...
16 / TOAST Meetup
트렐로
17 / TOAST Meetup
QA 문서
18 / TOAST Meetup
QA - 자동화
19 / TOAST Meetup
장애 대처 프로세스
모니터링  장애 발생 시 알람(Email, Slack)  복구 처리
 장애 원인 분석  장애 재발 방지 대책
• 모니터링
– 인프라 레벨 모니터링 : 대부분은 ...
4. 인프라스트럭쳐
21 / TOAST Meetup
인프라 구조 – 이전 버전
22 / TOAST Meetup
인프라 구조 – 이전 버전
Editing History DB
Amazon
EC2 Instance
FS Daemon
Project ABC
FS Daemon
Project ABC
Client...
23 / TOAST Meetup
인프라 구조 – 이전 버전
클로즈 베타를 통한 문제점 인식
• 문제점 #1 - “로딩 속도”
– S3로부터 사용자의 도커 이미지를 가져오는 것이 너무 느리다.
– S3로부터 프로젝트를 가...
24 / TOAST Meetup
인프라 구조 – 현재 버전
25 / TOAST Meetup
인프라 구조 – 현재 버전
Editing History DB
Amazon
EC2 Instance
FS Daemon
Project ABC
FS Daemon
Project ABC
Client...
26 / TOAST Meetup
인프라 구조 – 현재 버전
인프라 개선 효과
• “빨라진 로딩 속도”
– S3를 사용하지 않음으로써
– 이전에 비해 3~4배 빨라진 최초 로딩 시간
– 프론트엔드 최적화와 함께 극적인 성...
5. 구름으로 구름 개발하기
28 / TOAST Meetup
구름 IDE로 개발되는 구름 서비스
”
구름 개발 서버
dev.goorm.io
구름 홈페이지 ▶
▼ 구름IDE
구름의 모든 서비스와 홈페이지는
구름IDE로 개발되고 있습니다.
“
구름의 ...
29 / TOAST Meetup
Why?
?!
30 / TOAST Meetup
dev.goorm.io - 로그인
31 / TOAST Meetup
dev.goorm.io – 구름 IDE 실행
32 / TOAST Meetup
1) 소스 코드 저장소(github.com)과 연동
소스 코드 저장소 (github.com)
UI 테스트 케이스 저장소
– 테스트 케이스 문서 기반으로 자동화를 위한 UI 테
스트 케이스...
33 / TOAST Meetup
dev.goorm.io – 새 프로젝트
34 / TOAST Meetup
2) 트렐로에서 개발 이슈 획득 – 자기가 하고 싶은 거! (하지만 중요한 거)
Doing To be
tested
Done
이슈 관리 도구 (트렐로)
Tasks
CARD
개발팀
CARD
35 / TOAST Meetup
dev.goorm.io – 소스 코드 편집 = 개발
36 / TOAST Meetup
dev.goorm.io
3) 구름에서 구름 실행하기
node.js 개발용 컨테이너
Site Project IDE Project IDE Build
로그인
37 / TOAST Meetup
dev.goorm.io – 전용 메뉴를 통한 빌드 및 실행
38 / TOAST Meetup
dev.goorm.io – 빌드 다이얼로그
39 / TOAST Meetup
dev.goorm.io – 실행 다이얼로그
40 / TOAST Meetup
dev.goorm.io – 정상적으로 실행되면 URL이 부여됨
41 / TOAST Meetup
dev.goorm.io – 구름에서 실행된 구름 서비스 사이트
42 / TOAST Meetup
dev.goorm.io – 구름 컨테이너 생성하고 실행하기
43 / TOAST Meetup
dev.goorm.io – 구름IDE 실행
44 / TOAST Meetup
dev.goorm.io – 개발 & 새로고침의 반복…
45 / TOAST Meetup
4) 개발 완료 후 카드 이동 / 소스 코드 커밋
Doing To be
tested
Done
이슈 관리 도구 (트렐로)
Tasks
CARD
개발팀
CARD
46 / TOAST Meetup
dev.goorm.io – 소스 코드 커밋
47 / TOAST Meetup
5) 정기 QA를 통해 이슈 완료 처리
서비스 운영 스테이지
dev.goorm.io qa.goorm.io goorm.io
DOG FOODING
QUALITY
ASSURANCE
OPERAT...
48 / TOAST Meetup
qa.goorm.io 에서 실제 테스트
6. DEVOPS TOOL
50 / TOAST Meetup
구름 서비스 관리 도구 – admin.goorm.io
<구름 DEVOPS TOOL>
• DEVOPS 를 지향하며 개발하여 사용 중인 자체 관리 도구
• 향후 DEVOPS as a Serv...
51 / TOAST Meetup
메인 화면
52 / TOAST Meetup
사용자 관리
53 / TOAST Meetup
사용자 의견 관리 (mail 연동)
54 / TOAST Meetup
프로젝트 관리
55 / TOAST Meetup
VM Instance 관리
56 / TOAST Meetup
기본 컨테이너 이미지 관리
57 / TOAST Meetup
서비스 모니터링
58 / TOAST Meetup
DNS 관리
59 / TOAST Meetup
서비스 언어 관리 (JSON)
60 / TOAST Meetup
비용 관리 (AWS)
61 / TOAST Meetup
서비스 성능 관리
62 / TOAST Meetup
테스트 자동화 수행 결과
63 / TOAST Meetup
서비스 로그 관리
64 / TOAST Meetup
인프라 로그 관리
65 / TOAST Meetup
코드 품질 관리
7. 정리하며…
67 / TOAST Meetup
Summary
• 나름대로 DevOps를 해보고자 프로세스 짜서 아둥바둥
– 테스트 자동화는 정말 어렵지만 해야할 부분
– 개발 프로세스 개선을 위한 현업 전문가들의 조언이 절실
– 개발...
68 / TOAST Meetup
구름으로 구름 개발… 정말 잘되고 있는지?
• 클라우드IDE 서비스 특성상 일반적인 서비스들에 비해 초기 버전에서 실제 사용자 층을 확보하기 힘듦
 이 때문에 “구름으로 구름개발하기”라...
69 / TOAST Meetup
앞으로는 어떻게… - “품질과의 전쟁”
• 지속적인 개발 프로세스 개선
– 빌드 스크립트 개편 (sh 파일 -> grunt)
– 코드 리뷰에 더 많은 시간을!
– 외부 연사 초청 세미나 ...
Q&A
Thank you. 글로벌 클라우드 서비스를 향하여 노력하겠습니다.
http://codigm.com
contact@codigm.com
http://goorm.io
contact@goorm.io
Nächste SlideShare
Wird geladen in …5
×

TOAST Meetup2015 - 구름 Cloud IDE (류성태)

1.852 Aufrufe

Veröffentlicht am

"TOAST Meetup 2015"

지난 11월 26일 NHN엔터테인먼트 플레이뮤지엄에서 진행되었던
TOAST Meetup 2015 컨퍼런스 발표 자료를 공유드립니다.

Session 4
"구름으로 구름 개발하기를 통해 알아보는 구름 해부하기" / 코다임 / 류성태

Veröffentlicht in: Technologie
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

TOAST Meetup2015 - 구름 Cloud IDE (류성태)

  1. 1. http://goorm.io contact@goorm.io 클라우드 코딩 서비스 99DEV 구름은 어떻게 구름으로 개발되고 있는가 류성태/구름 2015.11.26 /sungtae.ryu@goorm.io
  2. 2. 1.코다임 소개 2.구름IDE 소개 3.개발 프로세스 4.인프라스트럭쳐 5.구름으로 구름 개발하기 6.DEVOPS TOOL 7.정리하며…
  3. 3. 1. 코다임 소개
  4. 4. 4 / TOAST Meetup 회사 소개 은 클라우드 인프라에 대한 깊은 이해와, 웹 애플리케이션 개발에 대한 적지 않은 노하우로 국내를 넘어서 글로벌 서비스를 표방하는 기술 기반 스타트업 입니다. 사명의 의미는 CODE와 PARADIGM의 합성어로서, 누구든지 언제 어디서나 소프 트웨어를 배우고 개발할 수 있도록 패러다임을 바꾸고자 하는 저희의 비전을 담고 있습니다. codigm은 현재 언제 어디서나 SW를 배우고, 개발할 수 있도록 해주는 클라우드 코딩 서비스 브랜드인 구름(goorm)을 개발하고 서비스하고 있습니다. Teach, Learn and Develop SW
  5. 5. 5 / TOAST Meetup Vision TEACHING LEARNINGDEVELOPING SW 누구나 SW를 쉽게 개발할 수 있는 세상을 만듭니다. 이를 통해 SW가 만드는 더 나은 미래를 꿈꿉니다. 클라우드 코딩 서비스를 통해 “개발 환경 구축이라는 장벽을 낮추어 더 많은 사람들이 소프트웨어로 자신의 생각을 실현하도록 돕습니다.” “소프트웨어 개발을 위한 인력 양성에 긍정적인 순환 구조를 제공하고자 합니다.”
  6. 6. 6 / TOAST Meetup 추구하는 솔루션 언제 어디서나 프로그래밍을 배우고, 소프트웨어를 개발할 수 있는 클라우드 서비스 TEACHING, LEARNING CODING, DEVELOPING ANYTIME, ANYWHERE ANYONE
  7. 7. 7 / TOAST Meetup 제품 소개 DockerEnabledReal-timeCollaborativeEditingVariousProgrammingLanguages OnlineBuild/Debug goormIDEgoormEDU Cloud Integrated Development EnvironmentCloud Software Development Education Platform TEACHING, LEARNING CODING, DEVELOPING 구름
  8. 8. 8 / TOAST Meetup 서비스 로드맵 (~2016) 오픈 베타 미/일 대상 서비스 확대 3.0 유료 서비스 출시, 중어 지원 온라인 코딩 테스트 서비스 출시민간 클라우드 지원 사업 (NIA) 일본 대상 서비스 오픈 베타 정식 유료 출시 SW교육 플랫폼 대학용 실습 환경 제공 온라인 코딩 테스트 클라우드IDE 서비스 무료/유료 버전 서비스형/설치형 모두 제공 SW교육 컨텐츠 포탈 구름EDU 구름IDE 구름코딩.com
  9. 9. 2. 구름 IDE 소개
  10. 10. 10 / TOAST Meetup 구름의 기본 화면 좌측 레이아웃 - 프로젝트/클라우드 애플리케이션 개발에 관련된 모든 파일들을 프로젝트 단위로 관리하거나 클라우드 스토리지를 통해 관리할 수 있습니다. 우측 레이아웃 - 채팅/문서뷰어/작업내역/아웃라인 우측 레이아웃을 통해 협업 개발자와 채팅 을 하거나 문서 뷰어를 함께 보고 해당 소 스 코드의 변경 내역이나 전체 구조를 확인 할 수 있습니다.창 단위로 관리되는 워크스페이스 소스 코드 에디터나 터미널 등을 창 단위로 관리할 수 있는 워크스페이스 가 제공됩니다. 하단 레이아웃 – 디버그/터미널/검색/빌드 아웃풋 하단 레이아웃을 통해 디버그/터미널/검색/빌드 아웃풋에 대한 결과를 확인하고 상호작용할 수 있습니다. 기본 툴바 자주 사용하는 기능을 쉽게 선택할 수 있는 버튼들로 구성된 툴바
  11. 11. 11 / TOAST Meetup 구름 IDE의 주요 특징 ① 언제 어디서나 웹브라우저만있으면언제어디서나 연속성있는개발을할수있습니다. 그림 ② 일관된 개발환경 매번새롭게개발환경을구축할필요없이일 관된개발환경을사용할수있습니다. 그림 그림 그림 ③ 다양한 프로그래밍 지원 네이티브및웹개발언어까지다양한언어를 사용할수있고,코드편집/빌드/서버실행/실 시간린트등을지원합니다. ⑥ 온라인 편집/실시간 협업 별도의에디터설치없이웹에서바로코드를 편집할수있고,다른팀원들과함께작업할수 있습니다. ⑧ 소스 코드 관리(GIT,SVN) GIT과SVN을완벽하게지원하며, 원클릭으로 저장소에액세스하고, 작업내용을커밋할수 있습니다. ④ 온라인 빌드/디버그/실행 별도의빌드/디버깅도구를설치하지않고, 웹에서바로빌드및디버깅할수있습니다. ⑦ 협업 도구 제공 메신저수준의채팅기능뿐만아니라 슬라이드,PDF를공유하여프로젝트의 생산성을높입니다. ⑤ 터미널 연결 기능 자신이작업중이던개발환경을 웹에서바로 터미널로연결하여 필요한작업을수행할수 있습니다.
  12. 12. 12 / TOAST Meetup 9월부터 2개월 클로즈 베타  오픈 베타 中 1,300 여명의 사용자 200개 이상의 이슈 레포팅 총 12회의 릴리즈
  13. 13. 3. 개발 프로세스
  14. 14. 14 / TOAST Meetup 개발 표준 / 제품 표준 • 개발 표준 – 개발 언어 • Backend – Main : node.js – Sub : C/C++ • Frontend – Core : javascript (including jquery) – UI Lib : jQuery UI, bootstrap – 도구 • 이슈 관리 : Trello • 형상 관리 : github.com • 빌드/배포 도구 : 자체 개발 스크립트, grunt • CI 도구 : (미정) • 테스트 도구 : nightwatch.js • WIKI : (미정) • 제품 표준 – 서비스 성능 • 클라이언트 로딩 시간 : 5초 이내 • 최대 지연 시간 : 3초 이내 (네트워크 원할 시) – 브라우저 지원 • 1순위 지원 : Chrome / Firefox / Safari • 2순위 지원 : Edge / IE / Opera – 서비스 사양 • 개인 컨테이너 사양 (기본 무료) – 512 MB RAM / 5 GB Storage – 동작 환경 • 서비스형 – Arch : x86 – OS : Ubuntu 12.04 이상 • 설치형 – Arch : x86, ARM – OS : Ubuntu 12.04 이상, Mac OSX 10.6 이상
  15. 15. 15 / TOAST Meetup goorm-DEVOPS 프로세스 Doing To be tested Done 이슈 관리 도구 (트렐로) Tasks 신규 작업 할당 – 내부 기획을 통해 – 사용자 피드백을 통해 – 테스트 결과를 통해 – dev.goorm.io에서 버그 발견 시 크로스 테스트 – 작업을 완료한 사람과 작 업 완료 여부를 판단하는 사람은 서로 다른 사람 – UI 테스트 케이스 기반의 검증 절차 진행 CARD 테스트 수행 (매일 새벽 1시) – qa.goorm.io 대상으로 nightwatch.js 를 이용한 전체 테스트 케이스수행 개발팀 서비스 관리 도구 (admin.goorm.io) 서비스 모니터링 – 운영 서버 / 인프라 / 비용 모니터링 – 사용 로그 / 에러 로그 분석 서비스 운영 스테이지 DOG FOODING QUALITY ASSURANCE OPERATION 소스 코드 저장소 (github.com) UI 테스트 케이스 저장소 – 테스트 케이스 문서 기반으로 자동화를 위한 UI 테 스트 케이스 저장소 테스트 자동화 (nightwatch.js) QA 팀 테스트 결과 레포팅 (매일 오전 7~8시) – E-MAIL로 전 팀원들에게 레포팅 서비스 관리 – 사용자 관리 (기본 회원 관리, 방문시간, 사용 시간 등) – 사용자 피드백 관리 – 사용자별 컨테이너 관리 서비스 품질 검증 [개발팀, QA팀] – 매주 목요일 수행 – 테스트 통과율 100%일 경우에만 릴리즈 (수동 테스트 포함) – 릴리즈 노트로 공지되는 신규 기능/버그 픽 스 사항은 매니저급이 실제로 검수 – 대규모 동시 협업 테스트 서비스 애플리케이션 저장소 – 실제 서비스 관련 모든 서비스 애플리케이션 저장소 서비스 기획 / 개발 프로세스 작업 처리 우선 순위 1. 서비스 중단, 치명적 오류 2. 비즈니스 우선 순위에 따른 개발 작업 (B2B 사업, 서비스 데모 준비 등) 3. 서비스 모니터링 시 이메일/SLACK으로 레포팅되는 에러/버그 사항 4. 크로스 테스트에서 실패되어 리턴된 작업 5. 매일 레포팅되는 테스트 결과에서 통과하지 못한 부분 6. 사용자 피드백 중 버그, UI 깨지는 부분에 대한 작업 7. 사용자 피드백 중 신규 기능 인프라 품질 검증 [인프라팀] – 서비스 API 과부하 테스트 – DOCKER CONTAINER 생성 과부하 테스트 – 각 서비스 접속 부하 테스트 (AS, LB 테스트) 릴리즈 전 최종 품질 검증 dev.goorm.io qa.goorm.io goorm.io
  16. 16. 16 / TOAST Meetup 트렐로
  17. 17. 17 / TOAST Meetup QA 문서
  18. 18. 18 / TOAST Meetup QA - 자동화
  19. 19. 19 / TOAST Meetup 장애 대처 프로세스 모니터링  장애 발생 시 알람(Email, Slack)  복구 처리  장애 원인 분석  장애 재발 방지 대책 • 모니터링 – 인프라 레벨 모니터링 : 대부분은 Amazon API 활용 및 Cloud Watch 서비스 활용 – 시스템 레벨 모니터링 : SSL 인증서 만료 확인 / 시간 동기화 확인 / 프로세스 개수 (데몬들) / RDS, Redis 아마존 콘솔로 모니터링 / goorm-client 동작 여부 확인 / 파일 시스템 데몬 확인 – 어플리케이션 레벨 모니터링 : Rest API 또는 WebSocket Routing 결과에 대한 주기적인 확인 • 인프라 테스트 자동화 – 모니터링에 경우에는 지금까지 있었던 모든 장애에 대한 케이스를 확인할 수 있도록 스크립팅 예정
  20. 20. 4. 인프라스트럭쳐
  21. 21. 21 / TOAST Meetup 인프라 구조 – 이전 버전
  22. 22. 22 / TOAST Meetup 인프라 구조 – 이전 버전 Editing History DB Amazon EC2 Instance FS Daemon Project ABC FS Daemon Project ABC Client (Web Browser) HTML/CSS Javascript Web Socket Client (Web Browser) HTML/CSS Javascript Web Socket Client (Web Browser) HTML/CSS Javascript Web Socket User 1 User 2 User 3 Collaborators Amazon S3 Amazon EC2 Instance FS Daemon Project XYZ Docker Image Docker Image Docker Image User 2’s Docker Image User 1’s Docker Image User 3’s Docker Image Amazon EC2 Instance FS Proxy Server Project XYZ Project XYZ Project ABC Project ABC Amazon EC2 Instance Project Manager Server Auto-Scaling FileSystemMount File Editing File Editing File Editing A.js A.js X.c Mongo DB Project DB Member DB
  23. 23. 23 / TOAST Meetup 인프라 구조 – 이전 버전 클로즈 베타를 통한 문제점 인식 • 문제점 #1 - “로딩 속도” – S3로부터 사용자의 도커 이미지를 가져오는 것이 너무 느리다. – S3로부터 프로젝트를 가져오는 것이 너무 느리다.  최초 접속 후 IDE 실행 속도 문제 – 결론: 실제 운영해보니, Cloud-backed Storage의 장점(비용) 대비 단점(속도)이 크다. • 문제점 #2 – “비효율적인 공유” – 실시간 협업을 위한 Proxy Storage Server 를 운영했었으나, Scaling의 어려움 발생 – S3에 연결된 프로젝트 데이터의 Strong Consistency 에 대한 문제점 인식  연구적으로 접근 중 – AUFS 등 도커의 특성들을 잘 활용하고 있지 못하다는 내부 의견 – 결론: 보안, 속도, 개발 편이성 측면에서 sshfs 만 사용하는 것이 가장 좋을 것으로 판단
  24. 24. 24 / TOAST Meetup 인프라 구조 – 현재 버전
  25. 25. 25 / TOAST Meetup 인프라 구조 – 현재 버전 Editing History DB Amazon EC2 Instance FS Daemon Project ABC FS Daemon Project ABC Client (Web Browser) HTML/CSS Javascript Web Socket Client (Web Browser) HTML/CSS Javascript Web Socket Client (Web Browser) HTML/CSS Javascript Web Socket User 1 User 2 User 3 Collaborators Amazon EBS Amazon EC2 Instance FS Daemon Project XYZ Docker Image Docker Image Docker Image Infra Agent Amazon EC2 Instance Auto-Scaling File Editing File Editing File Editing A.js A.js X.c Mongo DB Project DB Member DB Live Migration User 2’s Root Volume User 1’s Root Volume User 3’s Root Volume User 2’s Workspace Volume User 1’s Workspace Volume sshfs root / root / root /
  26. 26. 26 / TOAST Meetup 인프라 구조 – 현재 버전 인프라 개선 효과 • “빨라진 로딩 속도” – S3를 사용하지 않음으로써 – 이전에 비해 3~4배 빨라진 최초 로딩 시간 – 프론트엔드 최적화와 함께 극적인 성능 향상 효과 • “컨테이너 관리 효율성 향상” – 기본 이미지를 두고, 사용자 전용 영역을 2가지 볼륨으로 만들어서 관리 – 도커 레파지토리 관리가 불필요하고, 전체적인 용량이 줄어드는 효과 – 호스트 머신 당 동시 동작할 수 있는 도커 개수가 늘어남 • 문제점 – 비용: S3에 비해 상대적으로 비싼 EBS – 스케일링: 고정 용량으로 제공되는 EBS를 추가로 매니지해야 함 – EFS가 해결책이 되줄 수 있을지도… (혹은 S3-based In-memory FS)
  27. 27. 5. 구름으로 구름 개발하기
  28. 28. 28 / TOAST Meetup 구름 IDE로 개발되는 구름 서비스 ” 구름 개발 서버 dev.goorm.io 구름 홈페이지 ▶ ▼ 구름IDE 구름의 모든 서비스와 홈페이지는 구름IDE로 개발되고 있습니다. “ 구름의 모든 개발 팀원
  29. 29. 29 / TOAST Meetup Why? ?!
  30. 30. 30 / TOAST Meetup dev.goorm.io - 로그인
  31. 31. 31 / TOAST Meetup dev.goorm.io – 구름 IDE 실행
  32. 32. 32 / TOAST Meetup 1) 소스 코드 저장소(github.com)과 연동 소스 코드 저장소 (github.com) UI 테스트 케이스 저장소 – 테스트 케이스 문서 기반으로 자동화를 위한 UI 테 스트 케이스 저장소 서비스 애플리케이션 저장소 – 실제 서비스 관련 모든 서비스 애플리케이션 저장소 dev.goorm.io node.js 개발용 컨테이너 Site Project IDE Project IDE Build
  33. 33. 33 / TOAST Meetup dev.goorm.io – 새 프로젝트
  34. 34. 34 / TOAST Meetup 2) 트렐로에서 개발 이슈 획득 – 자기가 하고 싶은 거! (하지만 중요한 거) Doing To be tested Done 이슈 관리 도구 (트렐로) Tasks CARD 개발팀 CARD
  35. 35. 35 / TOAST Meetup dev.goorm.io – 소스 코드 편집 = 개발
  36. 36. 36 / TOAST Meetup dev.goorm.io 3) 구름에서 구름 실행하기 node.js 개발용 컨테이너 Site Project IDE Project IDE Build 로그인
  37. 37. 37 / TOAST Meetup dev.goorm.io – 전용 메뉴를 통한 빌드 및 실행
  38. 38. 38 / TOAST Meetup dev.goorm.io – 빌드 다이얼로그
  39. 39. 39 / TOAST Meetup dev.goorm.io – 실행 다이얼로그
  40. 40. 40 / TOAST Meetup dev.goorm.io – 정상적으로 실행되면 URL이 부여됨
  41. 41. 41 / TOAST Meetup dev.goorm.io – 구름에서 실행된 구름 서비스 사이트
  42. 42. 42 / TOAST Meetup dev.goorm.io – 구름 컨테이너 생성하고 실행하기
  43. 43. 43 / TOAST Meetup dev.goorm.io – 구름IDE 실행
  44. 44. 44 / TOAST Meetup dev.goorm.io – 개발 & 새로고침의 반복…
  45. 45. 45 / TOAST Meetup 4) 개발 완료 후 카드 이동 / 소스 코드 커밋 Doing To be tested Done 이슈 관리 도구 (트렐로) Tasks CARD 개발팀 CARD
  46. 46. 46 / TOAST Meetup dev.goorm.io – 소스 코드 커밋
  47. 47. 47 / TOAST Meetup 5) 정기 QA를 통해 이슈 완료 처리 서비스 운영 스테이지 dev.goorm.io qa.goorm.io goorm.io DOG FOODING QUALITY ASSURANCE OPERATION 서비스 품질 검증 [개발팀, QA팀] – 매주 목요일 수행 – 테스트 통과율 100%일 경우에만 릴리즈 (수동 테스트 포함) – 릴리즈 노트로 공지되는 신규 기능/버그 픽 스 사항은 매니저급이 실제로 검수 – 대규모 동시 협업 테스트 인프라 품질 검증 [인프라팀] – 서비스 API 과부하 테스트 – DOCKER CONTAINER 생성 과부하 테스트 – 각 서비스 접속 부하 테스트 (AS, LB 테스트) 릴리즈 전 최종 품질 검증 Doing To be tested Done 이슈 관리 도구 (트렐로) Tasks 개발팀 CARD CARD
  48. 48. 48 / TOAST Meetup qa.goorm.io 에서 실제 테스트
  49. 49. 6. DEVOPS TOOL
  50. 50. 50 / TOAST Meetup 구름 서비스 관리 도구 – admin.goorm.io <구름 DEVOPS TOOL> • DEVOPS 를 지향하며 개발하여 사용 중인 자체 관리 도구 • 향후 DEVOPS as a Service를 위한 서비스형 관리 도구로 제품화하고자 하는 계획 – 빌드/실행/테스트 사이클을 위한 CI 기능을 일부 내장하는 것을 계획 중 – 컨테이너 이미지 관리를 유연하게 할 수 있도록 관련 기능을 강화하는 것을 계획 중 • 현재 설치형으로 제공되는 구름IDE의 경우 아래의 기능들로만 구성된 별도 관리도구가 고객에게 제공됨 – 사용자 관리 – 프로젝트 관리 – 컨테이너 관리 – 서비스 모니터링 – 로그 관리
  51. 51. 51 / TOAST Meetup 메인 화면
  52. 52. 52 / TOAST Meetup 사용자 관리
  53. 53. 53 / TOAST Meetup 사용자 의견 관리 (mail 연동)
  54. 54. 54 / TOAST Meetup 프로젝트 관리
  55. 55. 55 / TOAST Meetup VM Instance 관리
  56. 56. 56 / TOAST Meetup 기본 컨테이너 이미지 관리
  57. 57. 57 / TOAST Meetup 서비스 모니터링
  58. 58. 58 / TOAST Meetup DNS 관리
  59. 59. 59 / TOAST Meetup 서비스 언어 관리 (JSON)
  60. 60. 60 / TOAST Meetup 비용 관리 (AWS)
  61. 61. 61 / TOAST Meetup 서비스 성능 관리
  62. 62. 62 / TOAST Meetup 테스트 자동화 수행 결과
  63. 63. 63 / TOAST Meetup 서비스 로그 관리
  64. 64. 64 / TOAST Meetup 인프라 로그 관리
  65. 65. 65 / TOAST Meetup 코드 품질 관리
  66. 66. 7. 정리하며…
  67. 67. 67 / TOAST Meetup Summary • 나름대로 DevOps를 해보고자 프로세스 짜서 아둥바둥 – 테스트 자동화는 정말 어렵지만 해야할 부분 – 개발 프로세스 개선을 위한 현업 전문가들의 조언이 절실 – 개발 조직이 커질 때를 대비한 준비 필요 • 인프라 구조는 몇 회의 대규모 개선을 통해 지금은 해외 클라우드IDE와 경쟁할만한 수준의 퍼포먼스 – 하지만 앞으로 더 많은 개선의 여지가 있음 – AWS에 종속적인 부분은 거의 없어짐 – 그러나 구름을 구성하는 모든 서비스들이 도커 컨테이너 단위로 되어 있어 ECS 도입은 고려 중 • 99dev는 정말 맛있는 개밥이었음
  68. 68. 68 / TOAST Meetup 구름으로 구름 개발… 정말 잘되고 있는지? • 클라우드IDE 서비스 특성상 일반적인 서비스들에 비해 초기 버전에서 실제 사용자 층을 확보하기 힘듦  이 때문에 “구름으로 구름개발하기”라는 Dog Fooding은 서비스 품질을 끌어올리는 데 아주 큰 도움 • 현재는 네이티브 개발 환경이 더 불편하게 느껴질 만큼 99dev에 의존성이 높아짐 • 언제 어디서나 개발을 진행할 수 있다는 장점을 개발팀 스스로 느끼고 있음  서비스에 대한 자신감, 자존감 ⬆ • 그럼에도 불구하고, 아직 갈 길이… Dog fooding! It’s delicious!
  69. 69. 69 / TOAST Meetup 앞으로는 어떻게… - “품질과의 전쟁” • 지속적인 개발 프로세스 개선 – 빌드 스크립트 개편 (sh 파일 -> grunt) – 코드 리뷰에 더 많은 시간을! – 외부 연사 초청 세미나 개최를 통해 현업의 개발 방법론, 경험, 지식 도입 – JIRA Agile 도입 예정 – 조직이 확대될 것을 대비하여 WIKI를 통한 각종 문서화에도 초점 – IDE는 클라우드에, 개발 환경은 로컬에  인프라 비용 효율화 • admin.goorm.io 의 기능 고도화 – 서비스 모니터링 / 장애 알람 – 테스트 자동화 고도화 – 컨테이너 관리 고도화 - Chef 활용 – 유료 결제 모듈 결합 후 분석 기능까지 • HA, 보안 강화 달성을 위한 노력 – Zookeeper 기반 분산 자원 관리 – 보안 관련 인력 확충
  70. 70. Q&A
  71. 71. Thank you. 글로벌 클라우드 서비스를 향하여 노력하겠습니다. http://codigm.com contact@codigm.com http://goorm.io contact@goorm.io

×