Automatic Data-Center

supported by

DC/OS

김준형

Viva Republica 라는 스타트업에서

     Toss 라는 금융서비스를 만들고 있습니다.

DC/OS 경력은 1년 6개월 입니다.

서버개발자 입니다.

linkedin

medium

github

Warnning

  • I'm Data-Center Novice.
  • The presentation may differ from the Toss service's.
  • This is not the lesson to teach DC/OS' technical background.
  • I will focus use cases.

Server Developer's Pain Points

?

Server Developer's Pain Points

새로운 기능 완성 했는데, 어느 서버에 올리면 될까요?

10번 서버가 최근에 입고되서 가장 여유로울 거예요.

 이것은 실화입니다.

Server Developer's Pain Points

새로운 기능 완성 했는데, 어느 서버에 올리면 될까요?

10번 서버가 최근에 입고되서 가장 여유로울 거예요.

생각지 못한 상황에서 리소스를 엄청나게 쓰네... (-_-

시밤!! 쾅!!

 이것은 실화입니다.

Server Developer's Pain Points

새로운 서버 로그 수집 어떻게 하나요?

로그팀에 연락하면 데몬 설치해 줄거예요.

 이것은 실화입니다.

Server Developer's Pain Points

새로운 서버 로그 수집 어떻게 하나요?

로그팀에 연락하면 데몬 설치해 줄거예요.

로그로테이트 설정을 안해서 하드가 풀났네... (-_-

시밤!! 쾅!!

 이것은 실화입니다.

Server Developer's Pain Points

새 REST API 서비스 도메인 설정 어떻게 하죠?

플랫폼팀에 JIRA 티켓 날리면 DNS 설정 해줄거예요.

 이것은 실화입니다.

Server Developer's Pain Points

새 REST API 서비스 도메인 설정 어떻게 하죠?

플랫폼팀에 JIRA 티켓 날리면 DNS 설정 해줄거예요.

 이것은 실화입니다.

시밤!! 쾅!!

그렇게 이틀이 사라졌네... (-_-

Server Developer's Pain Points

  1. 어느 서버에 Resource가 충분히 있을까?
  2. Load-Balancer에 어떻게 연결하지?
  3. Domain 라우팅 설정은 누가 해주나?
  4. Log는 어떻게 수집해서 어디에서 봐야하지?
  5. Metric은 어떻게 수집해서 어디에서 봐야하나?
  6. 트래픽이 증가하면 Scale도 키워야 하는데...
  7. Failover는?

 Toss에서는...

FINTECH (금융)

AWS

Google Cloud

Heroku

 Toss에서는...

 Toss에서는...

 Toss에서는...

 Toss에서는...

Server Developer's Pain Points

  1. 어느 서버에 Resource가 충분히 있을까?
  2. Load-Balancer에 어떻게 연결하지?
  3. Domain 라우팅 설정은 누가 해주나?
  4. Log는 어떻게 수집해서 어디에서 봐야하지?
  5. Metric은 어떻게 수집해서 어디에서 봐야하나?
  6. 트래픽이 증가하면 Scale도 키워야 하는데...
  7. Failover는?

 1. 어느 서버에 Resource가 충분히 있을까?

Mesos

 1. 어느 서버에 Resource가 충분히 있을까?

 1. 어느 서버에 Resource가 충분히 있을까?

Server Developer's Pain Points

  1. 어느 서버에 Resource가 충분히 있을까?
  2. Load-Balancer에 어떻게 연결하지?
  3. Domain 라우팅 설정은 누가 해주나?
  4. Log는 어떻게 수집해서 어디에서 봐야하지?
  5. Metric은 어떻게 수집해서 어디에서 봐야하나?
  6. 트래픽이 증가하면 Scale도 키워야 하는데...
  7. Failover는?

 2. Load-Balancer에 어떻게 연결하지?

Marathon + Marathon-LB (HAProxy)

  • 192.168.102.33:18662
  • 192.168.102.34:22399
  • 192.168.102.35:58317
  • 192.168.102.36:26461
  • 192.168.102.37:46446
  • 192.168.102.38:29548

Marathon-LB:10008

 2. Load-Balancer에 어떻게 연결하지?

Marathon + Marathon-LB (HAProxy)

Marathon-LB:10008

 2. Load-Balancer에 어떻게 연결하지?

Server Developer's Pain Points

  1. 어느 서버에 Resource가 충분히 있을까?
  2. Load-Balancer에 어떻게 연결하지?
  3. Domain 라우팅 설정은 누가 해주나?
  4. Log는 어떻게 수집해서 어디에서 봐야하지?
  5. Metric은 어떻게 수집해서 어디에서 봐야하나?
  6. 트래픽이 증가하면 Scale도 키워야 하는데...
  7. Failover는?

 3. Domain 라우팅 설정은 누가 해주나?

Marathon + Marathon-LB (HAProxy)

 3. Domain 라우팅 설정은 누가 해주나?

 3. Domain 라우팅 설정은 누가 해주나?

Server Developer's Pain Points

  1. 어느 서버에 Resource가 충분히 있을까?
  2. Load-Balancer에 어떻게 연결하지?
  3. Domain 라우팅 설정은 누가 해주나?
  4. Log는 어떻게 수집해서 어디에서 봐야하지?
  5. Metric은 어떻게 수집해서 어디에서 봐야하나?
  6. 트래픽이 증가하면 Scale도 키워야 하는데...
  7. Failover는?

 4. Log는 어떻게 수집해서 어디에서 봐야하지?

 4. Log는 어떻게 수집해서 어디에서 봐야하지?

 4. Log는 어떻게 수집해서 어디에서 봐야하지?

Server Developer's Pain Points

  1. 어느 서버에 Resource가 충분히 있을까?
  2. Load-Balancer에 어떻게 연결하지?
  3. Domain 라우팅 설정은 누가 해주나?
  4. Log는 어떻게 수집해서 어디에서 봐야하지?
  5. Metric은 어떻게 수집해서 어디에서 봐야하나?
  6. 트래픽이 증가하면 Scale도 키워야 하는데...
  7. Failover는?

 5. Metric은 어떻게 수집해서 어디에서 봐야하나?

 5. Metric은 어떻게 수집해서 어디에서 봐야하나?

 5. Metric은 어떻게 수집해서 어디에서 봐야하나?

 5. Metric은 어떻게 수집해서 어디에서 봐야하나?

 Service Name:       /A-B/C/DE

 

 MESOS_TASK_ID:   A-B_C_DE.{UUID}

Server Developer's Pain Points

  1. 어느 서버에 Resource가 충분히 있을까?
  2. Load-Balancer에 어떻게 연결하지?
  3. Domain 라우팅 설정은 누가 해주나?
  4. Log는 어떻게 수집해서 어디에서 봐야하지?
  5. Metric은 어떻게 수집해서 어디에서 봐야하나?
  6. 트래픽이 증가하면 Scale도 키워야 하는데...
  7. Failover는?

 6. 트래픽이 증가하면 Scale도 키워야 하는데...

Server Developer's Pain Points

  1. 어느 서버에 Resource가 충분히 있을까?
  2. Load-Balancer에 어떻게 연결하지?
  3. Domain 라우팅 설정은 누가 해주나?
  4. Log는 어떻게 수집해서 어디에서 봐야하지?
  5. Metric은 어떻게 수집해서 어디에서 봐야하나?
  6. 트래픽이 증가하면 Scale도 키워야 하는데...
  7. Failover는?

 7. Failover는?

갑작스러운 장애로 서버가 비정상 종료 된다면?

(ex: NullPointerException, Disk Full)

 

DC/OS가 자동으로 서버를 재시작 합니다.

지정된 Instance 갯수의 서버가 유지되도록 항상 감시합니다.

그 외에도 할 말은 많지만...

클라우드보다 더 쾌적한  IDC

그 누구도  SSH 콘솔로 접근하지 않는 서버 환경

을 목표로!!

 Toss에서는...

Q&A ?!

FIN

Automatic Data-Center supported by DC/OS

By ghilbut

Automatic Data-Center supported by DC/OS

  • 1,935