SlideShare uma empresa Scribd logo
1 de 71
Baixar para ler offline
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
회사 소개
은 클라우드 인프라에 대한 깊은 이해와, 웹 애플리케이션 개발에 대한
적지 않은 노하우로 국내를 넘어서 글로벌 서비스를 표방하는 기술 기반 스타트업
입니다.
사명의 의미는 CODE와 PARADIGM의 합성어로서, 누구든지 언제 어디서나 소프
트웨어를 배우고 개발할 수 있도록 패러다임을 바꾸고자 하는 저희의 비전을 담고
있습니다.
codigm은 현재 언제 어디서나 SW를 배우고, 개발할 수 있도록 해주는 클라우드
코딩 서비스 브랜드인 구름(goorm)을 개발하고 서비스하고 있습니다.
Teach, Learn and Develop SW
5 / TOAST Meetup
Vision
TEACHING
LEARNINGDEVELOPING
SW
누구나 SW를 쉽게 개발할 수 있는 세상을 만듭니다.
이를 통해 SW가 만드는 더 나은 미래를 꿈꿉니다.
클라우드 코딩 서비스를 통해
“개발 환경 구축이라는 장벽을 낮추어
더 많은 사람들이 소프트웨어로
자신의 생각을 실현하도록 돕습니다.”
“소프트웨어 개발을 위한 인력 양성에
긍정적인 순환 구조를 제공하고자 합니다.”
6 / TOAST Meetup
추구하는 솔루션
언제 어디서나 프로그래밍을 배우고, 소프트웨어를 개발할 수 있는 클라우드 서비스
TEACHING,
LEARNING
CODING,
DEVELOPING
ANYTIME,
ANYWHERE
ANYONE
7 / TOAST Meetup
제품 소개
DockerEnabledReal-timeCollaborativeEditingVariousProgrammingLanguages OnlineBuild/Debug
goormIDEgoormEDU Cloud Integrated Development EnvironmentCloud Software Development Education Platform
TEACHING, LEARNING CODING, DEVELOPING
구름
8 / TOAST Meetup
서비스 로드맵 (~2016)
오픈 베타 미/일 대상 서비스 확대 3.0 유료 서비스 출시, 중어 지원
온라인 코딩 테스트 서비스 출시민간 클라우드 지원 사업 (NIA) 일본 대상 서비스
오픈 베타 정식 유료 출시
SW교육 플랫폼
대학용 실습 환경 제공
온라인 코딩 테스트
클라우드IDE 서비스
무료/유료 버전
서비스형/설치형 모두 제공
SW교육 컨텐츠 포탈
구름EDU
구름IDE
구름코딩.com
2. 구름 IDE 소개
10 / TOAST Meetup
구름의 기본 화면
좌측 레이아웃
- 프로젝트/클라우드
애플리케이션 개발에 관련된
모든 파일들을 프로젝트 단위로
관리하거나 클라우드 스토리지를
통해 관리할 수 있습니다.
우측 레이아웃
- 채팅/문서뷰어/작업내역/아웃라인
우측 레이아웃을 통해 협업 개발자와 채팅
을 하거나 문서 뷰어를 함께 보고 해당 소
스 코드의 변경 내역이나 전체 구조를 확인
할 수 있습니다.창 단위로 관리되는 워크스페이스
소스 코드 에디터나 터미널 등을 창 단위로 관리할 수 있는 워크스페이스
가 제공됩니다.
하단 레이아웃 – 디버그/터미널/검색/빌드 아웃풋
하단 레이아웃을 통해 디버그/터미널/검색/빌드 아웃풋에 대한
결과를 확인하고 상호작용할 수 있습니다.
기본 툴바
자주 사용하는 기능을 쉽게 선택할 수 있는 버튼들로 구성된 툴바
11 / TOAST Meetup
구름 IDE의 주요 특징
① 언제 어디서나
웹브라우저만있으면언제어디서나
연속성있는개발을할수있습니다.
그림
② 일관된 개발환경
매번새롭게개발환경을구축할필요없이일
관된개발환경을사용할수있습니다.
그림 그림 그림
③ 다양한 프로그래밍 지원
네이티브및웹개발언어까지다양한언어를
사용할수있고,코드편집/빌드/서버실행/실
시간린트등을지원합니다.
⑥ 온라인 편집/실시간 협업
별도의에디터설치없이웹에서바로코드를
편집할수있고,다른팀원들과함께작업할수
있습니다.
⑧ 소스 코드 관리(GIT,SVN)
GIT과SVN을완벽하게지원하며, 원클릭으로
저장소에액세스하고, 작업내용을커밋할수
있습니다.
④ 온라인 빌드/디버그/실행
별도의빌드/디버깅도구를설치하지않고,
웹에서바로빌드및디버깅할수있습니다.
⑦ 협업 도구 제공
메신저수준의채팅기능뿐만아니라
슬라이드,PDF를공유하여프로젝트의
생산성을높입니다.
⑤ 터미널 연결 기능
자신이작업중이던개발환경을 웹에서바로
터미널로연결하여 필요한작업을수행할수
있습니다.
12 / TOAST Meetup
9월부터 2개월 클로즈 베타  오픈 베타 中
1,300 여명의 사용자
200개 이상의 이슈 레포팅
총 12회의 릴리즈
3. 개발 프로세스
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 / 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 / TOAST Meetup
트렐로
17 / TOAST Meetup
QA 문서
18 / TOAST Meetup
QA - 자동화
19 / TOAST Meetup
장애 대처 프로세스
모니터링  장애 발생 시 알람(Email, Slack)  복구 처리
 장애 원인 분석  장애 재발 방지 대책
• 모니터링
– 인프라 레벨 모니터링 : 대부분은 Amazon API 활용 및 Cloud Watch 서비스 활용
– 시스템 레벨 모니터링 : SSL 인증서 만료 확인 / 시간 동기화 확인 / 프로세스 개수 (데몬들) /
RDS, Redis 아마존 콘솔로 모니터링 / goorm-client 동작 여부 확인 / 파일 시스템 데몬 확인
– 어플리케이션 레벨 모니터링 : Rest API 또는 WebSocket Routing 결과에 대한 주기적인 확인
• 인프라 테스트 자동화
– 모니터링에 경우에는 지금까지 있었던 모든 장애에 대한 케이스를 확인할 수 있도록 스크립팅 예정
4. 인프라스트럭쳐
21 / TOAST Meetup
인프라 구조 – 이전 버전
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 / TOAST Meetup
인프라 구조 – 이전 버전
클로즈 베타를 통한 문제점 인식
• 문제점 #1 - “로딩 속도”
– S3로부터 사용자의 도커 이미지를 가져오는 것이 너무 느리다.
– S3로부터 프로젝트를 가져오는 것이 너무 느리다.
 최초 접속 후 IDE 실행 속도 문제
– 결론: 실제 운영해보니, Cloud-backed Storage의 장점(비용) 대비 단점(속도)이 크다.
• 문제점 #2 – “비효율적인 공유”
– 실시간 협업을 위한 Proxy Storage Server 를 운영했었으나, Scaling의 어려움 발생
– S3에 연결된 프로젝트 데이터의 Strong Consistency 에 대한 문제점 인식  연구적으로 접근 중
– AUFS 등 도커의 특성들을 잘 활용하고 있지 못하다는 내부 의견
– 결론: 보안, 속도, 개발 편이성 측면에서 sshfs 만 사용하는 것이 가장 좋을 것으로 판단
24 / TOAST Meetup
인프라 구조 – 현재 버전
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 / TOAST Meetup
인프라 구조 – 현재 버전
인프라 개선 효과
• “빨라진 로딩 속도”
– S3를 사용하지 않음으로써
– 이전에 비해 3~4배 빨라진 최초 로딩 시간
– 프론트엔드 최적화와 함께 극적인 성능 향상 효과
• “컨테이너 관리 효율성 향상”
– 기본 이미지를 두고, 사용자 전용 영역을 2가지 볼륨으로 만들어서 관리
– 도커 레파지토리 관리가 불필요하고, 전체적인 용량이 줄어드는 효과
– 호스트 머신 당 동시 동작할 수 있는 도커 개수가 늘어남
• 문제점
– 비용: S3에 비해 상대적으로 비싼 EBS
– 스케일링: 고정 용량으로 제공되는 EBS를 추가로 매니지해야 함
– EFS가 해결책이 되줄 수 있을지도… (혹은 S3-based In-memory FS)
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 테
스트 케이스 저장소
서비스 애플리케이션 저장소
– 실제 서비스 관련 모든 서비스 애플리케이션 저장소
dev.goorm.io
node.js 개발용 컨테이너
Site Project IDE Project IDE Build
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
OPERATION
서비스 품질 검증 [개발팀, QA팀]
– 매주 목요일 수행
– 테스트 통과율 100%일 경우에만 릴리즈
(수동 테스트 포함)
– 릴리즈 노트로 공지되는 신규 기능/버그 픽
스 사항은 매니저급이 실제로 검수
– 대규모 동시 협업 테스트
인프라 품질 검증 [인프라팀]
– 서비스 API 과부하 테스트
– DOCKER CONTAINER 생성 과부하 테스트
– 각 서비스 접속 부하 테스트 (AS, LB 테스트)
릴리즈 전 최종 품질 검증
Doing To be
tested
Done
이슈 관리 도구 (트렐로)
Tasks
개발팀
CARD CARD
48 / TOAST Meetup
qa.goorm.io 에서 실제 테스트
6. DEVOPS TOOL
50 / TOAST Meetup
구름 서비스 관리 도구 – admin.goorm.io
<구름 DEVOPS TOOL>
• DEVOPS 를 지향하며 개발하여 사용 중인 자체 관리 도구
• 향후 DEVOPS as a Service를 위한 서비스형 관리 도구로 제품화하고자 하는 계획
– 빌드/실행/테스트 사이클을 위한 CI 기능을 일부 내장하는 것을 계획 중
– 컨테이너 이미지 관리를 유연하게 할 수 있도록 관련 기능을 강화하는 것을 계획 중
• 현재 설치형으로 제공되는 구름IDE의 경우 아래의 기능들로만 구성된
별도 관리도구가 고객에게 제공됨
– 사용자 관리
– 프로젝트 관리
– 컨테이너 관리
– 서비스 모니터링
– 로그 관리
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를 해보고자 프로세스 짜서 아둥바둥
– 테스트 자동화는 정말 어렵지만 해야할 부분
– 개발 프로세스 개선을 위한 현업 전문가들의 조언이 절실
– 개발 조직이 커질 때를 대비한 준비 필요
• 인프라 구조는 몇 회의 대규모 개선을 통해 지금은 해외 클라우드IDE와 경쟁할만한 수준의 퍼포먼스
– 하지만 앞으로 더 많은 개선의 여지가 있음
– AWS에 종속적인 부분은 거의 없어짐
– 그러나 구름을 구성하는 모든 서비스들이 도커 컨테이너 단위로 되어 있어 ECS 도입은 고려 중
• 99dev는 정말 맛있는 개밥이었음
68 / TOAST Meetup
구름으로 구름 개발… 정말 잘되고 있는지?
• 클라우드IDE 서비스 특성상 일반적인 서비스들에 비해 초기 버전에서 실제 사용자 층을 확보하기 힘듦
 이 때문에 “구름으로 구름개발하기”라는 Dog Fooding은 서비스 품질을 끌어올리는 데 아주 큰 도움
• 현재는 네이티브 개발 환경이 더 불편하게 느껴질 만큼 99dev에 의존성이 높아짐
• 언제 어디서나 개발을 진행할 수 있다는 장점을 개발팀 스스로 느끼고 있음
 서비스에 대한 자신감, 자존감 ⬆
• 그럼에도 불구하고, 아직 갈 길이…
Dog fooding! It’s delicious!
69 / TOAST Meetup
앞으로는 어떻게… - “품질과의 전쟁”
• 지속적인 개발 프로세스 개선
– 빌드 스크립트 개편 (sh 파일 -> grunt)
– 코드 리뷰에 더 많은 시간을!
– 외부 연사 초청 세미나 개최를 통해 현업의 개발 방법론, 경험, 지식 도입
– JIRA Agile 도입 예정
– 조직이 확대될 것을 대비하여 WIKI를 통한 각종 문서화에도 초점
– IDE는 클라우드에, 개발 환경은 로컬에  인프라 비용 효율화
• admin.goorm.io 의 기능 고도화
– 서비스 모니터링 / 장애 알람
– 테스트 자동화 고도화
– 컨테이너 관리 고도화 - Chef 활용
– 유료 결제 모듈 결합 후 분석 기능까지
• HA, 보안 강화 달성을 위한 노력
– Zookeeper 기반 분산 자원 관리
– 보안 관련 인력 확충
Q&A
Thank you. 글로벌 클라우드 서비스를 향하여 노력하겠습니다.
http://codigm.com
contact@codigm.com
http://goorm.io
contact@goorm.io

Mais conteúdo relacionado

Mais procurados

Docker + Kubernetes를 이용한 빌드 서버 가상화 사례
Docker + Kubernetes를 이용한 빌드 서버 가상화 사례Docker + Kubernetes를 이용한 빌드 서버 가상화 사례
Docker + Kubernetes를 이용한 빌드 서버 가상화 사례NAVER LABS
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 4. 종합분석[1]
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 4. 종합분석[1][개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 4. 종합분석[1]
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 4. 종합분석[1]Tommy Lee
 
Enterprise Docker
Enterprise DockerEnterprise Docker
Enterprise DockerLee Ji Eun
 
Cloud ide를 이용한_모바일_개발의_가능성과_전망
Cloud ide를 이용한_모바일_개발의_가능성과_전망Cloud ide를 이용한_모바일_개발의_가능성과_전망
Cloud ide를 이용한_모바일_개발의_가능성과_전망Sung-tae Ryu
 
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 KubernetesTommy Lee
 
자바 웹프로젝트 개발환경 셋팅
자바 웹프로젝트 개발환경 셋팅자바 웹프로젝트 개발환경 셋팅
자바 웹프로젝트 개발환경 셋팅Yoonsung Jung
 
코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개태준 문
 
Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)
Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)
Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)knight1128
 
Oracle Container Cloud Service & Docker Overview
Oracle Container Cloud Service & Docker OverviewOracle Container Cloud Service & Docker Overview
Oracle Container Cloud Service & Docker OverviewTaewan Kim
 
Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 rockplace
 
Docker기반 분산 플랫폼
Docker기반 분산 플랫폼Docker기반 분산 플랫폼
Docker기반 분산 플랫폼SeongHyun Jeong
 
김찬웅_그룹웨어에 새 에너지를_NDC15
김찬웅_그룹웨어에 새 에너지를_NDC15김찬웅_그룹웨어에 새 에너지를_NDC15
김찬웅_그룹웨어에 새 에너지를_NDC15Chanwoong Kim
 
DevOps와 자동화
DevOps와 자동화DevOps와 자동화
DevOps와 자동화DONGSU KIM
 
Nginx Testing in NAVER
Nginx Testing in NAVERNginx Testing in NAVER
Nginx Testing in NAVER형근 송
 
[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)Ildoo Kim
 

Mais procurados (16)

Docker + Kubernetes를 이용한 빌드 서버 가상화 사례
Docker + Kubernetes를 이용한 빌드 서버 가상화 사례Docker + Kubernetes를 이용한 빌드 서버 가상화 사례
Docker + Kubernetes를 이용한 빌드 서버 가상화 사례
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 4. 종합분석[1]
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 4. 종합분석[1][개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 4. 종합분석[1]
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 4. 종합분석[1]
 
Enterprise Docker
Enterprise DockerEnterprise Docker
Enterprise Docker
 
Cloud ide를 이용한_모바일_개발의_가능성과_전망
Cloud ide를 이용한_모바일_개발의_가능성과_전망Cloud ide를 이용한_모바일_개발의_가능성과_전망
Cloud ide를 이용한_모바일_개발의_가능성과_전망
 
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
 
자바 웹프로젝트 개발환경 셋팅
자바 웹프로젝트 개발환경 셋팅자바 웹프로젝트 개발환경 셋팅
자바 웹프로젝트 개발환경 셋팅
 
코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개
 
Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)
Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)
Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)
 
Oracle Container Cloud Service & Docker Overview
Oracle Container Cloud Service & Docker OverviewOracle Container Cloud Service & Docker Overview
Oracle Container Cloud Service & Docker Overview
 
Goorm소개
Goorm소개Goorm소개
Goorm소개
 
Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성
 
Docker기반 분산 플랫폼
Docker기반 분산 플랫폼Docker기반 분산 플랫폼
Docker기반 분산 플랫폼
 
김찬웅_그룹웨어에 새 에너지를_NDC15
김찬웅_그룹웨어에 새 에너지를_NDC15김찬웅_그룹웨어에 새 에너지를_NDC15
김찬웅_그룹웨어에 새 에너지를_NDC15
 
DevOps와 자동화
DevOps와 자동화DevOps와 자동화
DevOps와 자동화
 
Nginx Testing in NAVER
Nginx Testing in NAVERNginx Testing in NAVER
Nginx Testing in NAVER
 
[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)
 

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

DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기SeungYong Baek
 
Open standard open cloud engine (3)
Open standard open cloud engine (3)Open standard open cloud engine (3)
Open standard open cloud engine (3)uEngine Solutions
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기JinKwon Lee
 
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container DayAmazon Web Services Korea
 
Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process uEngine Solutions
 
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014NDOORS
 
Intro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_sIntro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_sSeong-Bok Lee
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page ApplicationSangmin Yoon
 
01.개발환경 교육교재
01.개발환경 교육교재01.개발환경 교육교재
01.개발환경 교육교재Hankyo
 
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발Jinuk Kim
 
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017Amazon Web Services Korea
 
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크Jeongkyu Shin
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)수보 김
 
Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.효근 박
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기YoungSu Son
 
생산성을 높여주는 iOS 개발 방법들.pdf
생산성을 높여주는 iOS 개발 방법들.pdf생산성을 높여주는 iOS 개발 방법들.pdf
생산성을 높여주는 iOS 개발 방법들.pdfssuserb942d2
 
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...Amazon Web Services Korea
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: YeomanJae Sung Park
 
JMI Techtalk : Backend.AI
JMI Techtalk : Backend.AIJMI Techtalk : Backend.AI
JMI Techtalk : Backend.AILablup Inc.
 
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016Amazon Web Services Korea
 

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

DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기
 
Open standard open cloud engine (3)
Open standard open cloud engine (3)Open standard open cloud engine (3)
Open standard open cloud engine (3)
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기
 
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
 
Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process
 
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
 
Intro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_sIntro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_s
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page Application
 
01.개발환경 교육교재
01.개발환경 교육교재01.개발환경 교육교재
01.개발환경 교육교재
 
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
 
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
 
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기
 
생산성을 높여주는 iOS 개발 방법들.pdf
생산성을 높여주는 iOS 개발 방법들.pdf생산성을 높여주는 iOS 개발 방법들.pdf
생산성을 높여주는 iOS 개발 방법들.pdf
 
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman
 
JMI Techtalk : Backend.AI
JMI Techtalk : Backend.AIJMI Techtalk : Backend.AI
JMI Techtalk : Backend.AI
 
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
 

Mais de TOAST_NHNent

TOAST Meetup2015 - TOAST Cloud XaaS framework architecture (문지응)
TOAST Meetup2015 - TOAST Cloud XaaS framework architecture (문지응)TOAST Meetup2015 - TOAST Cloud XaaS framework architecture (문지응)
TOAST Meetup2015 - TOAST Cloud XaaS framework architecture (문지응)TOAST_NHNent
 
TOAST Meetup2015 - TOAST Cloud tenant isolation / 김태형
TOAST Meetup2015 - TOAST Cloud tenant isolation / 김태형TOAST Meetup2015 - TOAST Cloud tenant isolation / 김태형
TOAST Meetup2015 - TOAST Cloud tenant isolation / 김태형TOAST_NHNent
 
모바일 게임 보안
모바일 게임 보안모바일 게임 보안
모바일 게임 보안TOAST_NHNent
 
Toast cloud analytics
Toast cloud analyticsToast cloud analytics
Toast cloud analyticsTOAST_NHNent
 
Toast cloud for beginners
Toast cloud for beginnersToast cloud for beginners
Toast cloud for beginnersTOAST_NHNent
 

Mais de TOAST_NHNent (6)

TOAST Meetup2015 - TOAST Cloud XaaS framework architecture (문지응)
TOAST Meetup2015 - TOAST Cloud XaaS framework architecture (문지응)TOAST Meetup2015 - TOAST Cloud XaaS framework architecture (문지응)
TOAST Meetup2015 - TOAST Cloud XaaS framework architecture (문지응)
 
TOAST Meetup2015 - TOAST Cloud tenant isolation / 김태형
TOAST Meetup2015 - TOAST Cloud tenant isolation / 김태형TOAST Meetup2015 - TOAST Cloud tenant isolation / 김태형
TOAST Meetup2015 - TOAST Cloud tenant isolation / 김태형
 
네트워크 기본
네트워크 기본네트워크 기본
네트워크 기본
 
모바일 게임 보안
모바일 게임 보안모바일 게임 보안
모바일 게임 보안
 
Toast cloud analytics
Toast cloud analyticsToast cloud analytics
Toast cloud analytics
 
Toast cloud for beginners
Toast cloud for beginnersToast cloud for beginners
Toast cloud for beginners
 

Último

MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'Hyundai Motor Group
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and AdoptionSeung-chan Baeg
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Wonjun Hwang
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 

Último (7)

MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 

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

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