안녕하세요. Kin 입니다.
오늘은 블로깅을 오픈한 기념으로 미니 히로쿠(Heroku)라고 불리는 Deis( Day-iss, 다이쓰 라고 발음) 라고 불리는 PaaS 플랫폼을 소개할까 합니다.
자! 우선 많은 분들이 AWS기반 헤로쿠를 사용해보신 분도 많겠지만(?)
아직 신세계를 발견 못하시는 분들
또는
헤로쿠가 많이 비싸서 사용 못하시는 분들은 일단 미니 헤로쿠, 다이쓰를 한번 써보시는 것도 좋은 듯합니다.
만병 통치약은 아니지만( 플랫폼 적인 제한이 있습니다.)
개념을 이해하시면 다른 PaaS(나중에 리스트 함 뽑아보겠습니다)으로
전환도 그리 어렵지 않게 하실 수 있을듯 합니다.
Deis 는 오픈 소스 PaaS 플랫폼입니다. 헤로쿠의 영감을 얻은 비슷한 workflow를 구현한 구현체 기본적으로
CoreOS + Fleet(오케스트레이션 툴) + Systemd + etcd(서비스 디스커버리) 조합을 베이스로 구현되었으며 세계적으로 가장 hot한 docker 컨테이너 기술을 기반을 지원하는 PaaS입니다.
클라우드 기본개념이 필요하시다면 Devops 핵심 요약! 클라우드의 서브시스템/컴포넌트 글을 참조하세요.
deis 기본 라이프싸이클
- 사용자가 deis에 내장되어있는 git server에 푸쉬.
- Deis 자동적으로 빌드, 테스트 , 패키징등의 빌드 파이프라인을 가동시켜 docker image를 생성
- 생성된 image를 docker registery에 저장
- Scheduler는 docker registry를 감지하고 이 이미지를 스케줄링 설정에 따라 다양한 클라우드 플랫폼 프로바이더(AWS, GCE, Ausure 등) 에 launch.
Deis subysystem
기본적으로 DCOS , Kubernete, Mantle 등의 클라우드 하이레벨 오케스트레이션 솔루션들은 각 노드들의 역할(보통 마스터/슬레이브) 구조 역할을 정의하고 비슷한 역할을 합니다. 즉 하나를 제대로 이해하시면 나머지도 쉽게 이해 하실 수 있으니 찬찬히 살펴보세요.
@ Control Plane subsystem
The Control Plane dispatches work to the Data Plane via a scheduler performs management functions for the platform (in blue) are all implemented as Docker containers.
- Control pane Components
- Controller - end uesr interface which expose HTTP API. the controller contains the scheduler, which decides where to run app containers. ( 필터와 같이 제약 조건을 통해 배치 노드를 지정 할 수 있다라는 의미)
- Builder - GIT build server
- Git server 사용
- Build docker file
- Docker registry 에 image 등록
- Release 관리 - 서로 연결된 컨네이너를 정보를 가지고 한 컨네이너가 버전업이 되면 디펜던시를 가진 다른 컨테이너도 redploy
- Store - blob storage that stores statuful control plane's components
- Registry - docker registry to store docker image
- Database - postgresql to store state of platform (백업 정보 저장)
- Logger - syslog server to aggregate logs from data plane Can be queryed by controller
@ Data plane subsystem
Schedule containers !
- Data plane Components
- Publisher - publish containers to router (퍼블릭하게 만듬 etcd를 통해)
- Logspout - feed log to control plane logger
@ Router Mesh
used to route traffic to both the Control Plane and Data Plane. Publish application to consumers, Exposes containers in data plane. Use service discovery, etcd
흥미가 생깃 deis doc 문서를 참조하세요.




댓글 없음:
댓글 쓰기