SlideShare ist ein Scribd-Unternehmen logo
1 von 59
클라우드 서비스운영 플
랫폼 가루다
OpenCloudEngine
패스트캣 CTO 송상욱
swsong@fastcat.co
Agenda
• Docker
• Mesos
• Garuda
• Billing
• Metering
• Billing/metering구현
• 패턴분석
Docker
• 오픈소스 컨테이너
– 여러개의 App을 단일 호스트에서 구동하기 위한
개념
– chroot와 가상화의 중간정도의 개념
– 가상화와 비슷하지만, Guest 운영체제가 필요없
는 가벼운 대안제시.
– 이식성 - 가상머신, 클라우드, PC 어디서든 실행
가능.
• Immutable Infrastructure 구현
– 한 번 설정한 운영 환경은 변경하지 않는다
– 호스트 OS와 운영환경 분리
– 운영환경만 이미지화하여 재사용
가상화
Docker
https://www.docker.com/whatisdocker/
도커의 성능
Docker hub
• 수많은 개발자들이 다양한 도커 이미지를
올리고/받고/검색할 수 있는 공식 도커 이
미지 저장소
• https://registry.hub.docker.com/
Mesos
Mesos 소개
• 분산 시스템 커널
– 리눅스 커널과 동일하며, 단지 추상화 레벨만
다르다.
• 모든 머신에서 동작하며, 실행 어플리케이션에
대해 리소스관리와 스케쥴링 API를 제공.
• Mesosphere : Mesos 서비스 제공
• Mesos 프레임워크 : Marathon, Chronos,
Aurora..
• Marathon은 작업(컨테이너)관리담당이며,
Chronos는 작업스케쥴러이다.
Mesos 소개
• 아파치 Top Level 프로젝트
• 트위터, 에어비앤비, 미소스피어가 사용
• GCE 기반의 Mesos 서비스
(https://google.mesosphere.com/)
• 운영시 10000대 노드까지 확장가능
• 패키지와 서포트는 미소스피어 담당
• 기본적으로 Docker지원
• 튜토리얼 코스
http://docs.mesosphere.com/intro-course/
클라우드시대의 Apps
Mesos 노드추상화
• Static Partitioning은 스케일과 장애대응이 어렵다.
• Mesos의 노드들은 모든 Task에 대해 공유된다.
Mesos 동작구성도
• Mesos에서 Docker는 작업의 Type중 하나이다.
• Zookeeper를 통해 HA를 구성한다.
• Scheduler는 Marathon을 사용하거나, 직접 개발이 가능하다.
Mesos 구성도1
• Marathon은 PaaS플랫폼
• Kubernates 지원 https://github.com/mesosphere/kubernetes-mesos
Mesos 구성도2
• 하이브리드 Cloud 구성가능
• Batch 작업은 Chronos로 지원
Mesos 프레임워크
• Meta-Frameworks / HA Services: Aurora,
Marathon
• Distributed Cron: Chronos
• Containers: Docker
• Continuous Integration: Jenkins, GitLab
• Big Data: Hadoop, Spark, Storm, Kafka, C
assandra, Hypertable, MPI
• Python workloads: DPark, Exelixi
Mesos 프레임워크
마라톤은 Rails, Django등을 실행할 수 있으며, 어플리케이션을 시작,정지, 스케
일링 할수 있는 REST API를 제공한다.
Mesos 동작원리
1. 슬레이브에 여유 리소스가 생기면, 마스터에게 여유정보를 통
보한다.
2. 할당정책에 따라서, 마스터는 얼마나 많은 리소스가 각 프레
임워크에 할당되었는지 결정한다.
3. 그다음, 마스터가 제안를 보내고, 스케줄러는 어는 제안 리소
스가 받아들여졌는지 선택한다.
4. 프레임워크가 제안 리소스를 받아들이면, 실행할 작업내용을
Mesos에게 보낸다.
5. 적합한 리소스를 실행기에 할당한 슬레이브에게 마스터는 차
례대로 작업들을 보낸다.
6. 최종적으로, 프레임워크는 작업을 실행하게 된다.
Scheduler 개발
import org.apache.mesos.MesosSchedulerDriver;
import org.apache.mesos.Protos;
import org.apache.mesos.Protos.*;
import org.apache.mesos.Protos.TaskID;
import org.apache.mesos.Scheduler;
import org.apache.mesos.SchedulerDriver;
public class MyScheduler implements Scheduler {
// Override Scheduler Functions like resourceOffers, etc.
}
* 리소스 할당등의 스케쥴러를 개발할수 있다.
Executor개발
import org.apache.mesos.Executor;
import org.apache.mesos.ExecutorDriver;
import org.apache.mesos.MesosExecutorDriver;
import org.apache.mesos.Protos.Environment.Variable;
import org.apache.mesos.Protos.*;
import org.apache.mesos.Protos.TaskID;
import org.apache.mesos.Protos.TaskStatus;
public class MyExecutor implements Executor {
// Override Executor Functions such as launchTask, etc.
}
* 작성실행기등의 Executor를 개발할수 있다.
참고자료
• https://docs.mesosphere.com/
• http://abhishek-tiwari.com/post/building-
distributed-systems-with-mesos
• http://www.slideshare.net/Docker/buildin
g-web-scale-apps-with-docker-and-meso
s
Garuda
시스템 구성도
Garuda master
Master Node
Docker
Registry
DB
Garuda console
Load balancer
ProxyDMZ
REST API
Web UI
Firewall
Internet
Master
Slave
Master Master
Slave Slave ...
Cluster
ZK
Internal Firewall
Admin
http://<appId>.mydomain.com
* 색이 칠해진 박스는 하나의 VM Instance를 나타낸다.
App Store
Master Node
Garuda master
Garuda console
• 웹 어드민을 제공하는 데몬
• Listening on 80 port
• 웹 UI 제공
• Running on Tomcat, Jetty or JBoss
• 실제 모든 작업은 Manager 데몬으로 REST API
를 호출함으로서 수행된다.
• 시스템관리와 클러스터 컨트롤을 제공하는 데몬
• REST API listening on 8080 port
• 내부컴포넌트는 API Listener와 Console, Cloud
Controller, Cloud Watch등이 있다.
• REST API listening on 8080 port (Embedded)
Management
Cloud Controller
REST API
Jetty *:8080
Garuda master
• 전체시스템관리
• APP 메타데이터 관리
• 사용자 관리
• 클러스터 관리 / 컨트롤
• Mesos 통신
• Scale-in/out 담당
Master Node
Cloud Watch
• App 사용량을 감지하여 Scale-in/out 결정
Cluster
• Marathon Slave의 역할로 실제 사용자 어플리
케이션이 실행되는 서버
• 최소 1개이상으로 계속 추가가능
• Marathon Master의 역할로 작업분배를 담당
• HA를 위해 3개로 구성하여 Zookeeper와 통신
• Leader로 선정된 Master 하나만 Active이며 나머지 2
개서버는 Standby.
Master
Slave
Master Master
Slave Slave ...
Mesos-slave
HAProxy
Mesos-master
Marathon
zookeeper
• Marathon framework 기반의 작업을 실행
• Master, Slave, Garuda master와 통신한다.
Docker Daemon • Docker 작업이 실행가능하도록 daemon 설치
Slave
Cluster
Master
• Marathon에서 자동설정해주는 프록시
HAProxy
• Marathon에서 자동설정해주는 프록시
• 로드밸런서가 직접 Slave를 바라보므로, 사용할일은 없음.
• Master에 설치되는 Daemon들은 모두 HA가 가능하므로,
같은 인스턴스에 함께 설치하여 노드를 절약하도록 한다.
Clusters
• 클러스터는 App을 실행하는 환경을 제공하며, App을 제
어한다.
• Mesos + Marathon을 사용한다.
• Master 구성
– Mesos-master
– Marathon
– Zookeeper
– HAProxy
• Slave 구성
– Mesos-slave
• Mesos는 ZK Quorum을 위해 3대가 소요되며, Active-
Standby 로 사용된다.
• Controller와의 통신은 Mesos와 Marathon의 고유 REST
API를 사용한다.
Clusters 구성도
Mesos-master
Zookeeper
HAProxy
Master #1
Mesos-master
Zookeeper
HAProxy
Master #2
Mesos-master
Zookeeper
HAProxy
Master #3
Marathon Marathon Marathon
Mesos-slave
Slave #1
Mesos-slave
Slave #2
Mesos-slave
Slave #3
각 Mesos-slave는 리더로 선출된 Mesos-master 와 통신한다.
Mesos Master
Mesos Master
Active(리더선출)
Standby
Marathon
Marathon
범례
Load Balancer
• 서브도메인에 App ID가 입력되므로, App별로 분기해준다.
Load balancer
HAProxy
mesos-marathon-bridge
Cron
• 로드밸러서는 Public IP를 부여받으며 외부에서 인터넷에서
접속이 가능하며 DMZ 영역에 위치한다.
• 로드밸런싱과 프록시 기능을 동시에 수행한다.
• 주기적으로 Marathon의 작업정보를 확인하여 변경사항이
있다면 HAProxy 설정파일을 업데이트하고 리로드한다.
• mesos-marathon-bridge스크립트를 주기적으로 실행한다.
frontend http-in *:80
acl hello8 hdr_end(host) -i hello8.fastcatsearch.com
use_backend hello8_server if hello8
acl tomcat4 hdr_end(host) -i tomcat4.fastcatsearch.com
use_backend tomcat4_server if tomcat4
#default_backend tomcat4_server
backend hello8_server
balance leastconn
server hello8_1 104.236.89.167:31009 check maxconn 1000
backend tomcat4_server
balance leastconn
server tomcat4_1 104.236.89.167:31324 check maxconn 1000
haproxy.cfg 예시
가루다 - 클러스터 - App Store
Garuda
App Store - A
Node
AWS Cluster ( Service A )
Node Node ...
Node
Openstack Cluster ( Service B )
Node Node ...
Node
AWS Cluster ( Service C )
Node Node ...
Node
Openstack Cluster ( Service D )
Node Node ...
App Store - B
App Store - C
App Store - D
...
관리
Admin
관리콘솔
관리자 클러스터 관리흐름도
템플릿 설정
클러스터생성
클러스터 선택
클러스터 삭제
클러스터 확인
클러스터 추가
클러스터 추가
템플릿 선택
클러스터 설정
클러스터 아이디와 도메인 입력
클러스터 생성완료
AWS 구성화면
현재는 AWS만 지원.
2015년도 하반기에 Openstack 지원예정.
앱 스토어
조직 APP 배포흐름도
조직 가입 플랫폼 선택
App 업로드
App 갯수설정
App 디플로이
App 서비스
관리자 로그인
홈
로그인
조직 홈
여러 앱 관리
조직 내 사용 리소스
앱 실행 정보
앱 상태정보
즉각적인 스케일 변경
자동 서브도메인 제공
제공 플랫폼
현재 제공
* tomcat7
* wildfly8.2 (Jboss)
* apache2 (php)
향후 추가제공 예정
* Django(python)
* Ruby on rails
* node.js
제공 리소스
자동 부하 확장
데모시연
패턴분석
사용자 패턴분석
• Subscriber에게 더 나은 Plan 제공
• Provider는 최대 수익지점 예측
• 조용한 사용자
서비스 사용률, 서비스별 사용비율, 조직별 사용비율, 사용위치정보, 그
리고 상세 데이터 테이블까지 대시보드에서 한눈에 확인할 수 있다.
Kibana를 통한 서비스사용 패턴분석
http://www.elasticsearch.org/overview/kibana
Claim 대응
http://www.elasticsearch.org/overview/kibana
(”basic service" OR ”advance service") AND uengine
Fastcat분석기를 통한 검색패턴분석
http://fastcatsearch.org/viewInOnePage/24
http://fastcatsearch.org/viewInOnePage/24
Fastcat분석기를 통한 검색패턴분석
http://fastcatsearch.org/viewInOnePage/24
Fastcat분석기를 통한 검색패턴분석
끝

Weitere ähnliche Inhalte

Was ist angesagt?

[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?
[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?
[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?NAVER Engineering
 
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안Opennaru, inc.
 
Spring 4.x Web Application 살펴보기
Spring 4.x Web Application  살펴보기Spring 4.x Web Application  살펴보기
Spring 4.x Web Application 살펴보기Ji Heon Kim
 
JBoss EAP on Azure Workshop
JBoss EAP on Azure Workshop JBoss EAP on Azure Workshop
JBoss EAP on Azure Workshop rockplace
 
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020Ji-Woong Choi
 
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례YongSung Yoon
 
04.웹시스템 이해 하기
04.웹시스템 이해 하기04.웹시스템 이해 하기
04.웹시스템 이해 하기Opennaru, inc.
 
IBM JVM 소개 - Oracle JVM 과 비교
IBM JVM 소개 - Oracle JVM 과 비교IBM JVM 소개 - Oracle JVM 과 비교
IBM JVM 소개 - Oracle JVM 과 비교JungWoon Lee
 
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy흥래 김
 
Tomcat monitoring using_javamelody
Tomcat monitoring using_javamelodyTomcat monitoring using_javamelody
Tomcat monitoring using_javamelody중선 곽
 
[오픈소스컨설팅]Fault Tolerance Architecture by Netflix
[오픈소스컨설팅]Fault Tolerance Architecture by Netflix[오픈소스컨설팅]Fault Tolerance Architecture by Netflix
[오픈소스컨설팅]Fault Tolerance Architecture by NetflixJi-Woong Choi
 
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE  [제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE 흥래 김
 
Microsoft Azure 클라우드 에서 Elasticsearch 서비스 사용 - 이건복 님
Microsoft Azure 클라우드 에서 Elasticsearch 서비스 사용 - 이건복 님Microsoft Azure 클라우드 에서 Elasticsearch 서비스 사용 - 이건복 님
Microsoft Azure 클라우드 에서 Elasticsearch 서비스 사용 - 이건복 님NAVER D2
 
Web server
Web serverWeb server
Web serverHerren
 
자동화된 인프라구축 - 2009년 자료
자동화된 인프라구축 - 2009년 자료자동화된 인프라구축 - 2009년 자료
자동화된 인프라구축 - 2009년 자료태준 문
 
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)Sang Don Kim
 
가용성을 고려한 웹 서비스 인프라 설계
가용성을 고려한 웹 서비스 인프라 설계가용성을 고려한 웹 서비스 인프라 설계
가용성을 고려한 웹 서비스 인프라 설계Herren
 
모바일 Rpg 게임서버 제작
모바일 Rpg 게임서버 제작모바일 Rpg 게임서버 제작
모바일 Rpg 게임서버 제작기환 천
 
야, 너두 짤수있어 - IaC Basic(210131 김성익)
야, 너두 짤수있어 - IaC Basic(210131 김성익)야, 너두 짤수있어 - IaC Basic(210131 김성익)
야, 너두 짤수있어 - IaC Basic(210131 김성익)SeongIkKim2
 

Was ist angesagt? (20)

Kubernetes
Kubernetes Kubernetes
Kubernetes
 
[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?
[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?
[21]변화의 시대 : 안드로이드 앱 어떻게 개발할 것인가?
 
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
 
Spring 4.x Web Application 살펴보기
Spring 4.x Web Application  살펴보기Spring 4.x Web Application  살펴보기
Spring 4.x Web Application 살펴보기
 
JBoss EAP on Azure Workshop
JBoss EAP on Azure Workshop JBoss EAP on Azure Workshop
JBoss EAP on Azure Workshop
 
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
 
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
 
04.웹시스템 이해 하기
04.웹시스템 이해 하기04.웹시스템 이해 하기
04.웹시스템 이해 하기
 
IBM JVM 소개 - Oracle JVM 과 비교
IBM JVM 소개 - Oracle JVM 과 비교IBM JVM 소개 - Oracle JVM 과 비교
IBM JVM 소개 - Oracle JVM 과 비교
 
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
 
Tomcat monitoring using_javamelody
Tomcat monitoring using_javamelodyTomcat monitoring using_javamelody
Tomcat monitoring using_javamelody
 
[오픈소스컨설팅]Fault Tolerance Architecture by Netflix
[오픈소스컨설팅]Fault Tolerance Architecture by Netflix[오픈소스컨설팅]Fault Tolerance Architecture by Netflix
[오픈소스컨설팅]Fault Tolerance Architecture by Netflix
 
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE  [제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
 
Microsoft Azure 클라우드 에서 Elasticsearch 서비스 사용 - 이건복 님
Microsoft Azure 클라우드 에서 Elasticsearch 서비스 사용 - 이건복 님Microsoft Azure 클라우드 에서 Elasticsearch 서비스 사용 - 이건복 님
Microsoft Azure 클라우드 에서 Elasticsearch 서비스 사용 - 이건복 님
 
Web server
Web serverWeb server
Web server
 
자동화된 인프라구축 - 2009년 자료
자동화된 인프라구축 - 2009년 자료자동화된 인프라구축 - 2009년 자료
자동화된 인프라구축 - 2009년 자료
 
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
 
가용성을 고려한 웹 서비스 인프라 설계
가용성을 고려한 웹 서비스 인프라 설계가용성을 고려한 웹 서비스 인프라 설계
가용성을 고려한 웹 서비스 인프라 설계
 
모바일 Rpg 게임서버 제작
모바일 Rpg 게임서버 제작모바일 Rpg 게임서버 제작
모바일 Rpg 게임서버 제작
 
야, 너두 짤수있어 - IaC Basic(210131 김성익)
야, 너두 짤수있어 - IaC Basic(210131 김성익)야, 너두 짤수있어 - IaC Basic(210131 김성익)
야, 너두 짤수있어 - IaC Basic(210131 김성익)
 

Andere mochten auch

범용 PaaS 플랫폼 mesos(mesosphere)
범용 PaaS 플랫폼 mesos(mesosphere)범용 PaaS 플랫폼 mesos(mesosphere)
범용 PaaS 플랫폼 mesos(mesosphere)상욱 송
 
빌링:미터링 Bss platform구현
빌링:미터링 Bss platform구현빌링:미터링 Bss platform구현
빌링:미터링 Bss platform구현상욱 송
 
클라우드 서비스운영 플랫폼 가루다
클라우드 서비스운영 플랫폼 가루다클라우드 서비스운영 플랫폼 가루다
클라우드 서비스운영 플랫폼 가루다상욱 송
 
[C++ korea] effective modern c++ study item 17 19 신촌 study
[C++ korea] effective modern c++ study item 17 19 신촌 study[C++ korea] effective modern c++ study item 17 19 신촌 study
[C++ korea] effective modern c++ study item 17 19 신촌 studySeok-joon Yun
 
Bahamas를 이용한 클라우드 환경에서의 software stack 자동 구성 및 플랫폼 구현 방안 클라우다인 박승필 과장
Bahamas를 이용한 클라우드 환경에서의 software stack 자동 구성 및 플랫폼 구현 방안 클라우다인 박승필 과장Bahamas를 이용한 클라우드 환경에서의 software stack 자동 구성 및 플랫폼 구현 방안 클라우다인 박승필 과장
Bahamas를 이용한 클라우드 환경에서의 software stack 자동 구성 및 플랫폼 구현 방안 클라우다인 박승필 과장영재 김
 
에센스(Essence) 기반 sw 방법론 제정 도구와 essencia 오픈소스 프로젝트
에센스(Essence) 기반 sw 방법론 제정 도구와 essencia 오픈소스 프로젝트에센스(Essence) 기반 sw 방법론 제정 도구와 essencia 오픈소스 프로젝트
에센스(Essence) 기반 sw 방법론 제정 도구와 essencia 오픈소스 프로젝트uEngine Solutions
 
아이엔소프트 클라우드 역량 151021
아이엔소프트 클라우드 역량 151021아이엔소프트 클라우드 역량 151021
아이엔소프트 클라우드 역량 151021SONG INSEOB
 
Git 더하기 GitHub 강의 전 준비
Git 더하기 GitHub 강의 전 준비Git 더하기 GitHub 강의 전 준비
Git 더하기 GitHub 강의 전 준비Junyoung Lee
 
Messaging With Apache ActiveMQ
Messaging With Apache ActiveMQMessaging With Apache ActiveMQ
Messaging With Apache ActiveMQBruce Snyder
 
모바일 개발 트랜드
모바일 개발 트랜드모바일 개발 트랜드
모바일 개발 트랜드Terry Cho
 
2015 u engine and oce day 개회사겸 식순 소개
2015 u engine and oce day   개회사겸 식순 소개2015 u engine and oce day   개회사겸 식순 소개
2015 u engine and oce day 개회사겸 식순 소개uEngine Solutions
 
ActiveMQ In Action
ActiveMQ In ActionActiveMQ In Action
ActiveMQ In ActionBruce Snyder
 
ICT를 통한 유엔새천년개발목표 접근 (ICT-facilitated UN Millennium Development Goals: Values...
ICT를 통한 유엔새천년개발목표 접근 (ICT-facilitated UN Millennium Development Goals: Values...ICT를 통한 유엔새천년개발목표 접근 (ICT-facilitated UN Millennium Development Goals: Values...
ICT를 통한 유엔새천년개발목표 접근 (ICT-facilitated UN Millennium Development Goals: Values...Jeongtae Kim
 
Messaging With ActiveMQ
Messaging With ActiveMQMessaging With ActiveMQ
Messaging With ActiveMQBruce Snyder
 
토종 개발자가 바라본 실리콘밸리 개발 트랜드
토종 개발자가 바라본 실리콘밸리 개발 트랜드토종 개발자가 바라본 실리콘밸리 개발 트랜드
토종 개발자가 바라본 실리콘밸리 개발 트랜드Justin Park
 
DevOps!! 도데체 왜, 어떻게 할까??
DevOps!! 도데체 왜, 어떻게 할까??DevOps!! 도데체 왜, 어떻게 할까??
DevOps!! 도데체 왜, 어떻게 할까??Joseph Kim
 
Docker registry swift
Docker registry swiftDocker registry swift
Docker registry swiftJunho Kim
 
docker_quick_start
docker_quick_startdocker_quick_start
docker_quick_startSukjin Yun
 

Andere mochten auch (20)

범용 PaaS 플랫폼 mesos(mesosphere)
범용 PaaS 플랫폼 mesos(mesosphere)범용 PaaS 플랫폼 mesos(mesosphere)
범용 PaaS 플랫폼 mesos(mesosphere)
 
빌링:미터링 Bss platform구현
빌링:미터링 Bss platform구현빌링:미터링 Bss platform구현
빌링:미터링 Bss platform구현
 
클라우드 서비스운영 플랫폼 가루다
클라우드 서비스운영 플랫폼 가루다클라우드 서비스운영 플랫폼 가루다
클라우드 서비스운영 플랫폼 가루다
 
[C++ korea] effective modern c++ study item 17 19 신촌 study
[C++ korea] effective modern c++ study item 17 19 신촌 study[C++ korea] effective modern c++ study item 17 19 신촌 study
[C++ korea] effective modern c++ study item 17 19 신촌 study
 
Bahamas를 이용한 클라우드 환경에서의 software stack 자동 구성 및 플랫폼 구현 방안 클라우다인 박승필 과장
Bahamas를 이용한 클라우드 환경에서의 software stack 자동 구성 및 플랫폼 구현 방안 클라우다인 박승필 과장Bahamas를 이용한 클라우드 환경에서의 software stack 자동 구성 및 플랫폼 구현 방안 클라우다인 박승필 과장
Bahamas를 이용한 클라우드 환경에서의 software stack 자동 구성 및 플랫폼 구현 방안 클라우다인 박승필 과장
 
에센스(Essence) 기반 sw 방법론 제정 도구와 essencia 오픈소스 프로젝트
에센스(Essence) 기반 sw 방법론 제정 도구와 essencia 오픈소스 프로젝트에센스(Essence) 기반 sw 방법론 제정 도구와 essencia 오픈소스 프로젝트
에센스(Essence) 기반 sw 방법론 제정 도구와 essencia 오픈소스 프로젝트
 
아이엔소프트 클라우드 역량 151021
아이엔소프트 클라우드 역량 151021아이엔소프트 클라우드 역량 151021
아이엔소프트 클라우드 역량 151021
 
Git 더하기 GitHub 강의 전 준비
Git 더하기 GitHub 강의 전 준비Git 더하기 GitHub 강의 전 준비
Git 더하기 GitHub 강의 전 준비
 
Messaging With Apache ActiveMQ
Messaging With Apache ActiveMQMessaging With Apache ActiveMQ
Messaging With Apache ActiveMQ
 
Active MQ
Active MQActive MQ
Active MQ
 
모바일 개발 트랜드
모바일 개발 트랜드모바일 개발 트랜드
모바일 개발 트랜드
 
2015 u engine and oce day 개회사겸 식순 소개
2015 u engine and oce day   개회사겸 식순 소개2015 u engine and oce day   개회사겸 식순 소개
2015 u engine and oce day 개회사겸 식순 소개
 
ActiveMQ In Action
ActiveMQ In ActionActiveMQ In Action
ActiveMQ In Action
 
ICT를 통한 유엔새천년개발목표 접근 (ICT-facilitated UN Millennium Development Goals: Values...
ICT를 통한 유엔새천년개발목표 접근 (ICT-facilitated UN Millennium Development Goals: Values...ICT를 통한 유엔새천년개발목표 접근 (ICT-facilitated UN Millennium Development Goals: Values...
ICT를 통한 유엔새천년개발목표 접근 (ICT-facilitated UN Millennium Development Goals: Values...
 
Messaging With ActiveMQ
Messaging With ActiveMQMessaging With ActiveMQ
Messaging With ActiveMQ
 
토종 개발자가 바라본 실리콘밸리 개발 트랜드
토종 개발자가 바라본 실리콘밸리 개발 트랜드토종 개발자가 바라본 실리콘밸리 개발 트랜드
토종 개발자가 바라본 실리콘밸리 개발 트랜드
 
DevOps!! 도데체 왜, 어떻게 할까??
DevOps!! 도데체 왜, 어떻게 할까??DevOps!! 도데체 왜, 어떻게 할까??
DevOps!! 도데체 왜, 어떻게 할까??
 
Docker registry swift
Docker registry swiftDocker registry swift
Docker registry swift
 
정책가이드북
정책가이드북 정책가이드북
정책가이드북
 
docker_quick_start
docker_quick_startdocker_quick_start
docker_quick_start
 

Ähnlich wie 클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱

JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기Ted Won
 
Scalable system design patterns
Scalable system design patternsScalable system design patterns
Scalable system design patternsSteve Min
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석Tommy Lee
 
[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
 
Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호용호 최
 
Introduction of Mesosphere DCOS
Introduction of Mesosphere DCOSIntroduction of Mesosphere DCOS
Introduction of Mesosphere DCOSDeughyeon Chang
 
AWS의 하둡 관련 서비스 - EMR/S3
AWS의 하둡 관련 서비스 - EMR/S3AWS의 하둡 관련 서비스 - EMR/S3
AWS의 하둡 관련 서비스 - EMR/S3Keeyong Han
 
[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...
[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...
[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...OpenStack Korea Community
 
Internship backend
Internship backendInternship backend
Internship backendYein Sim
 
코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions
코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions
코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable FunctionsJongin Lee
 
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)Brian Hong
 
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈Amazon Web Services Korea
 
Pyspark Demo1,Demo2 정리
Pyspark Demo1,Demo2 정리Pyspark Demo1,Demo2 정리
Pyspark Demo1,Demo2 정리민기 박
 
Prometheus in openstack-helm
Prometheus in openstack-helmPrometheus in openstack-helm
Prometheus in openstack-helm성일 임
 
ARCUS offline meeting 2015. 05. 20 1회
ARCUS offline meeting 2015. 05. 20 1회ARCUS offline meeting 2015. 05. 20 1회
ARCUS offline meeting 2015. 05. 20 1회JaM2in
 
ECS+Locust로 부하 테스트 진행하기
ECS+Locust로 부하 테스트 진행하기ECS+Locust로 부하 테스트 진행하기
ECS+Locust로 부하 테스트 진행하기Yungon Park
 
Infra as Code with Packer, Ansible and Terraform
Infra as Code with Packer, Ansible and TerraformInfra as Code with Packer, Ansible and Terraform
Infra as Code with Packer, Ansible and TerraformInho Kang
 
[넥슨] kubernetes 소개 (2018)
[넥슨] kubernetes 소개 (2018)[넥슨] kubernetes 소개 (2018)
[넥슨] kubernetes 소개 (2018)용호 최
 

Ähnlich wie 클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱 (20)

JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
 
Scalable system design patterns
Scalable system design patternsScalable system design patterns
Scalable system design patterns
 
Cluster - spark
Cluster - sparkCluster - spark
Cluster - spark
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
 
[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)
 
Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호
 
Introduction of Mesosphere DCOS
Introduction of Mesosphere DCOSIntroduction of Mesosphere DCOS
Introduction of Mesosphere DCOS
 
AWS의 하둡 관련 서비스 - EMR/S3
AWS의 하둡 관련 서비스 - EMR/S3AWS의 하둡 관련 서비스 - EMR/S3
AWS의 하둡 관련 서비스 - EMR/S3
 
[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...
[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...
[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...
 
Internship backend
Internship backendInternship backend
Internship backend
 
코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions
코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions
코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions
 
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
 
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈
 
Pyspark Demo1,Demo2 정리
Pyspark Demo1,Demo2 정리Pyspark Demo1,Demo2 정리
Pyspark Demo1,Demo2 정리
 
Kafka slideshare
Kafka   slideshareKafka   slideshare
Kafka slideshare
 
Prometheus in openstack-helm
Prometheus in openstack-helmPrometheus in openstack-helm
Prometheus in openstack-helm
 
ARCUS offline meeting 2015. 05. 20 1회
ARCUS offline meeting 2015. 05. 20 1회ARCUS offline meeting 2015. 05. 20 1회
ARCUS offline meeting 2015. 05. 20 1회
 
ECS+Locust로 부하 테스트 진행하기
ECS+Locust로 부하 테스트 진행하기ECS+Locust로 부하 테스트 진행하기
ECS+Locust로 부하 테스트 진행하기
 
Infra as Code with Packer, Ansible and Terraform
Infra as Code with Packer, Ansible and TerraformInfra as Code with Packer, Ansible and Terraform
Infra as Code with Packer, Ansible and Terraform
 
[넥슨] kubernetes 소개 (2018)
[넥슨] kubernetes 소개 (2018)[넥슨] kubernetes 소개 (2018)
[넥슨] kubernetes 소개 (2018)
 

Mehr von uEngine Solutions

이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기
이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기
이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기uEngine Solutions
 
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture LearninguEngine Solutions
 
Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3uEngine Solutions
 
Event storming based msa training commerce example v2
Event storming based msa training commerce example v2Event storming based msa training commerce example v2
Event storming based msa training commerce example v2uEngine Solutions
 
Event storming based msa training commerce example
Event storming based msa training commerce exampleEvent storming based msa training commerce example
Event storming based msa training commerce exampleuEngine Solutions
 
Event Storming and Implementation Workshop
Event Storming and Implementation WorkshopEvent Storming and Implementation Workshop
Event Storming and Implementation WorkshopuEngine Solutions
 
designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...uEngine Solutions
 
Safe cloud native transformation approaches
Safe cloud native transformation approachesSafe cloud native transformation approaches
Safe cloud native transformation approachesuEngine Solutions
 
microservice architecture public education v2
microservice architecture public education v2microservice architecture public education v2
microservice architecture public education v2uEngine Solutions
 
From event storming to spring cloud implementation
From event storming to spring cloud implementationFrom event storming to spring cloud implementation
From event storming to spring cloud implementationuEngine Solutions
 
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)uEngine Solutions
 
Distributed transanction in microservices
Distributed transanction in microservicesDistributed transanction in microservices
Distributed transanction in microservicesuEngine Solutions
 
From event storming to spring cloud implementation
From event storming to spring cloud implementationFrom event storming to spring cloud implementation
From event storming to spring cloud implementationuEngine Solutions
 
Open Cloud Engine PaaS Snapshots
Open Cloud Engine PaaS SnapshotsOpen Cloud Engine PaaS Snapshots
Open Cloud Engine PaaS SnapshotsuEngine Solutions
 
Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos uEngine Solutions
 
Bluemix paas 기반 saas 개발 사례
Bluemix paas 기반 saas 개발 사례Bluemix paas 기반 saas 개발 사례
Bluemix paas 기반 saas 개발 사례uEngine Solutions
 
Process Oriented Architecture
Process Oriented ArchitectureProcess Oriented Architecture
Process Oriented ArchitectureuEngine Solutions
 
Building multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quickBuilding multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quickuEngine Solutions
 

Mehr von uEngine Solutions (20)

이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기
이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기
이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기
 
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
 
Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3
 
Event storming based msa training commerce example v2
Event storming based msa training commerce example v2Event storming based msa training commerce example v2
Event storming based msa training commerce example v2
 
Event storming based msa training commerce example
Event storming based msa training commerce exampleEvent storming based msa training commerce example
Event storming based msa training commerce example
 
Event Storming and Implementation Workshop
Event Storming and Implementation WorkshopEvent Storming and Implementation Workshop
Event Storming and Implementation Workshop
 
designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...
 
Microservice coding guide
Microservice coding guideMicroservice coding guide
Microservice coding guide
 
Safe cloud native transformation approaches
Safe cloud native transformation approachesSafe cloud native transformation approaches
Safe cloud native transformation approaches
 
microservice architecture public education v2
microservice architecture public education v2microservice architecture public education v2
microservice architecture public education v2
 
From event storming to spring cloud implementation
From event storming to spring cloud implementationFrom event storming to spring cloud implementation
From event storming to spring cloud implementation
 
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
 
Distributed transanction in microservices
Distributed transanction in microservicesDistributed transanction in microservices
Distributed transanction in microservices
 
From event storming to spring cloud implementation
From event storming to spring cloud implementationFrom event storming to spring cloud implementation
From event storming to spring cloud implementation
 
Micro service architecture
Micro service architectureMicro service architecture
Micro service architecture
 
Open Cloud Engine PaaS Snapshots
Open Cloud Engine PaaS SnapshotsOpen Cloud Engine PaaS Snapshots
Open Cloud Engine PaaS Snapshots
 
Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos
 
Bluemix paas 기반 saas 개발 사례
Bluemix paas 기반 saas 개발 사례Bluemix paas 기반 saas 개발 사례
Bluemix paas 기반 saas 개발 사례
 
Process Oriented Architecture
Process Oriented ArchitectureProcess Oriented Architecture
Process Oriented Architecture
 
Building multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quickBuilding multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quick
 

클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱

  • 1. 클라우드 서비스운영 플 랫폼 가루다 OpenCloudEngine 패스트캣 CTO 송상욱 swsong@fastcat.co
  • 2. Agenda • Docker • Mesos • Garuda • Billing • Metering • Billing/metering구현 • 패턴분석
  • 3.
  • 4. Docker • 오픈소스 컨테이너 – 여러개의 App을 단일 호스트에서 구동하기 위한 개념 – chroot와 가상화의 중간정도의 개념 – 가상화와 비슷하지만, Guest 운영체제가 필요없 는 가벼운 대안제시. – 이식성 - 가상머신, 클라우드, PC 어디서든 실행 가능. • Immutable Infrastructure 구현 – 한 번 설정한 운영 환경은 변경하지 않는다 – 호스트 OS와 운영환경 분리 – 운영환경만 이미지화하여 재사용
  • 8. Docker hub • 수많은 개발자들이 다양한 도커 이미지를 올리고/받고/검색할 수 있는 공식 도커 이 미지 저장소 • https://registry.hub.docker.com/
  • 10. Mesos 소개 • 분산 시스템 커널 – 리눅스 커널과 동일하며, 단지 추상화 레벨만 다르다. • 모든 머신에서 동작하며, 실행 어플리케이션에 대해 리소스관리와 스케쥴링 API를 제공. • Mesosphere : Mesos 서비스 제공 • Mesos 프레임워크 : Marathon, Chronos, Aurora.. • Marathon은 작업(컨테이너)관리담당이며, Chronos는 작업스케쥴러이다.
  • 11. Mesos 소개 • 아파치 Top Level 프로젝트 • 트위터, 에어비앤비, 미소스피어가 사용 • GCE 기반의 Mesos 서비스 (https://google.mesosphere.com/) • 운영시 10000대 노드까지 확장가능 • 패키지와 서포트는 미소스피어 담당 • 기본적으로 Docker지원 • 튜토리얼 코스 http://docs.mesosphere.com/intro-course/
  • 13. Mesos 노드추상화 • Static Partitioning은 스케일과 장애대응이 어렵다. • Mesos의 노드들은 모든 Task에 대해 공유된다.
  • 14. Mesos 동작구성도 • Mesos에서 Docker는 작업의 Type중 하나이다. • Zookeeper를 통해 HA를 구성한다. • Scheduler는 Marathon을 사용하거나, 직접 개발이 가능하다.
  • 15. Mesos 구성도1 • Marathon은 PaaS플랫폼 • Kubernates 지원 https://github.com/mesosphere/kubernetes-mesos
  • 16. Mesos 구성도2 • 하이브리드 Cloud 구성가능 • Batch 작업은 Chronos로 지원
  • 17. Mesos 프레임워크 • Meta-Frameworks / HA Services: Aurora, Marathon • Distributed Cron: Chronos • Containers: Docker • Continuous Integration: Jenkins, GitLab • Big Data: Hadoop, Spark, Storm, Kafka, C assandra, Hypertable, MPI • Python workloads: DPark, Exelixi
  • 18. Mesos 프레임워크 마라톤은 Rails, Django등을 실행할 수 있으며, 어플리케이션을 시작,정지, 스케 일링 할수 있는 REST API를 제공한다.
  • 19. Mesos 동작원리 1. 슬레이브에 여유 리소스가 생기면, 마스터에게 여유정보를 통 보한다. 2. 할당정책에 따라서, 마스터는 얼마나 많은 리소스가 각 프레 임워크에 할당되었는지 결정한다. 3. 그다음, 마스터가 제안를 보내고, 스케줄러는 어는 제안 리소 스가 받아들여졌는지 선택한다. 4. 프레임워크가 제안 리소스를 받아들이면, 실행할 작업내용을 Mesos에게 보낸다. 5. 적합한 리소스를 실행기에 할당한 슬레이브에게 마스터는 차 례대로 작업들을 보낸다. 6. 최종적으로, 프레임워크는 작업을 실행하게 된다.
  • 20. Scheduler 개발 import org.apache.mesos.MesosSchedulerDriver; import org.apache.mesos.Protos; import org.apache.mesos.Protos.*; import org.apache.mesos.Protos.TaskID; import org.apache.mesos.Scheduler; import org.apache.mesos.SchedulerDriver; public class MyScheduler implements Scheduler { // Override Scheduler Functions like resourceOffers, etc. } * 리소스 할당등의 스케쥴러를 개발할수 있다.
  • 21. Executor개발 import org.apache.mesos.Executor; import org.apache.mesos.ExecutorDriver; import org.apache.mesos.MesosExecutorDriver; import org.apache.mesos.Protos.Environment.Variable; import org.apache.mesos.Protos.*; import org.apache.mesos.Protos.TaskID; import org.apache.mesos.Protos.TaskStatus; public class MyExecutor implements Executor { // Override Executor Functions such as launchTask, etc. } * 작성실행기등의 Executor를 개발할수 있다.
  • 22. 참고자료 • https://docs.mesosphere.com/ • http://abhishek-tiwari.com/post/building- distributed-systems-with-mesos • http://www.slideshare.net/Docker/buildin g-web-scale-apps-with-docker-and-meso s
  • 24. 시스템 구성도 Garuda master Master Node Docker Registry DB Garuda console Load balancer ProxyDMZ REST API Web UI Firewall Internet Master Slave Master Master Slave Slave ... Cluster ZK Internal Firewall Admin http://<appId>.mydomain.com * 색이 칠해진 박스는 하나의 VM Instance를 나타낸다. App Store
  • 25. Master Node Garuda master Garuda console • 웹 어드민을 제공하는 데몬 • Listening on 80 port • 웹 UI 제공 • Running on Tomcat, Jetty or JBoss • 실제 모든 작업은 Manager 데몬으로 REST API 를 호출함으로서 수행된다. • 시스템관리와 클러스터 컨트롤을 제공하는 데몬 • REST API listening on 8080 port • 내부컴포넌트는 API Listener와 Console, Cloud Controller, Cloud Watch등이 있다. • REST API listening on 8080 port (Embedded) Management Cloud Controller REST API Jetty *:8080 Garuda master • 전체시스템관리 • APP 메타데이터 관리 • 사용자 관리 • 클러스터 관리 / 컨트롤 • Mesos 통신 • Scale-in/out 담당 Master Node Cloud Watch • App 사용량을 감지하여 Scale-in/out 결정
  • 26. Cluster • Marathon Slave의 역할로 실제 사용자 어플리 케이션이 실행되는 서버 • 최소 1개이상으로 계속 추가가능 • Marathon Master의 역할로 작업분배를 담당 • HA를 위해 3개로 구성하여 Zookeeper와 통신 • Leader로 선정된 Master 하나만 Active이며 나머지 2 개서버는 Standby. Master Slave Master Master Slave Slave ... Mesos-slave HAProxy Mesos-master Marathon zookeeper • Marathon framework 기반의 작업을 실행 • Master, Slave, Garuda master와 통신한다. Docker Daemon • Docker 작업이 실행가능하도록 daemon 설치 Slave Cluster Master • Marathon에서 자동설정해주는 프록시 HAProxy • Marathon에서 자동설정해주는 프록시 • 로드밸런서가 직접 Slave를 바라보므로, 사용할일은 없음. • Master에 설치되는 Daemon들은 모두 HA가 가능하므로, 같은 인스턴스에 함께 설치하여 노드를 절약하도록 한다.
  • 27. Clusters • 클러스터는 App을 실행하는 환경을 제공하며, App을 제 어한다. • Mesos + Marathon을 사용한다. • Master 구성 – Mesos-master – Marathon – Zookeeper – HAProxy • Slave 구성 – Mesos-slave • Mesos는 ZK Quorum을 위해 3대가 소요되며, Active- Standby 로 사용된다. • Controller와의 통신은 Mesos와 Marathon의 고유 REST API를 사용한다.
  • 28. Clusters 구성도 Mesos-master Zookeeper HAProxy Master #1 Mesos-master Zookeeper HAProxy Master #2 Mesos-master Zookeeper HAProxy Master #3 Marathon Marathon Marathon Mesos-slave Slave #1 Mesos-slave Slave #2 Mesos-slave Slave #3 각 Mesos-slave는 리더로 선출된 Mesos-master 와 통신한다. Mesos Master Mesos Master Active(리더선출) Standby Marathon Marathon 범례
  • 29. Load Balancer • 서브도메인에 App ID가 입력되므로, App별로 분기해준다. Load balancer HAProxy mesos-marathon-bridge Cron • 로드밸러서는 Public IP를 부여받으며 외부에서 인터넷에서 접속이 가능하며 DMZ 영역에 위치한다. • 로드밸런싱과 프록시 기능을 동시에 수행한다. • 주기적으로 Marathon의 작업정보를 확인하여 변경사항이 있다면 HAProxy 설정파일을 업데이트하고 리로드한다. • mesos-marathon-bridge스크립트를 주기적으로 실행한다. frontend http-in *:80 acl hello8 hdr_end(host) -i hello8.fastcatsearch.com use_backend hello8_server if hello8 acl tomcat4 hdr_end(host) -i tomcat4.fastcatsearch.com use_backend tomcat4_server if tomcat4 #default_backend tomcat4_server backend hello8_server balance leastconn server hello8_1 104.236.89.167:31009 check maxconn 1000 backend tomcat4_server balance leastconn server tomcat4_1 104.236.89.167:31324 check maxconn 1000 haproxy.cfg 예시
  • 30. 가루다 - 클러스터 - App Store Garuda App Store - A Node AWS Cluster ( Service A ) Node Node ... Node Openstack Cluster ( Service B ) Node Node ... Node AWS Cluster ( Service C ) Node Node ... Node Openstack Cluster ( Service D ) Node Node ... App Store - B App Store - C App Store - D ... 관리 Admin
  • 32. 관리자 클러스터 관리흐름도 템플릿 설정 클러스터생성 클러스터 선택 클러스터 삭제 클러스터 확인 클러스터 추가
  • 36. AWS 구성화면 현재는 AWS만 지원. 2015년도 하반기에 Openstack 지원예정.
  • 38. 조직 APP 배포흐름도 조직 가입 플랫폼 선택 App 업로드 App 갯수설정 App 디플로이 App 서비스 관리자 로그인
  • 39.
  • 43. 조직 내 사용 리소스
  • 48. 제공 플랫폼 현재 제공 * tomcat7 * wildfly8.2 (Jboss) * apache2 (php) 향후 추가제공 예정 * Django(python) * Ruby on rails * node.js
  • 53. 사용자 패턴분석 • Subscriber에게 더 나은 Plan 제공 • Provider는 최대 수익지점 예측 • 조용한 사용자
  • 54. 서비스 사용률, 서비스별 사용비율, 조직별 사용비율, 사용위치정보, 그 리고 상세 데이터 테이블까지 대시보드에서 한눈에 확인할 수 있다. Kibana를 통한 서비스사용 패턴분석 http://www.elasticsearch.org/overview/kibana
  • 59.