플럿 / AWS 구축 솔루션

서버를 옮기는 일이 아니라
안 끊기게 옮기는 일입니다

안으로

이 안에서
40여 개가 동시에 돕니다

교실의 학습 도구도, 사장님의 서류함도, 결제도 전부 여기 있습니다.

둘러보며

직접 굴려 보지 않은 것을
팔지 않습니다

고장도 우리가 먼저 맞습니다. 그래서 무엇이 진짜 문제인지 압니다.

그리고

우리는
이 문을 나섭니다

AI 시대의 미래

팀플럿
만들어갑니다

01 — 왜 팀플럿인가

컨설팅 회사가 아니라
운영해 본 사람들입니다

남의 인프라를 설계하기 전에 저희 것을 먼저 짓고 8년째 굴리고 있습니다. 아래는 이 글을 쓰는 시점에 저희 서버에서 직접 읽은 값입니다.

0
직접 굴리는 프로세스
한 대에서 동시에
0
서비스 도메인
전부 우리가 만든 것
0
TLS 인증서 자동 갱신
만료로 끊긴 적 없음
0
연속 무중단
마지막 재부팅 이후
클라우드로 옮기는 일은 어렵지 않습니다. 어려운 것은 옮기는 동안 장사를 멈추지 않는 것입니다.
그래서 «언제 끊기는지»부터 먼저 적어 드립니다
02 — 구축과 이전

끊기는 순간을
먼저 정하고 시작합니다

«언제 얼마나 끊기는지»를 못 적는 이전 계획은 계획이 아닙니다. 되돌릴 방법을 정해 두지 않은 이전은 더 그렇습니다.

STEP 01

지금 무엇이 돌고 있는지부터 셉니다

«서버 3대»가 아니라 프로세스·포트·크론·인증서·외부 연동까지 하나씩 셉니다. 이전 사고는 대부분 «아무도 몰랐던 배치 작업»에서 납니다.

STEP 02

끊기는 시간을 숫자로 적습니다

무중단으로 갈 수 있는 것과 몇 분은 반드시 멈춰야 하는 것을 나눕니다. «무중단입니다»라고만 말하는 쪽을 조심하셔야 합니다.

STEP 03

되돌릴 길을 먼저 만듭니다

옮긴 뒤 문제가 생기면 옛 환경으로 돌아갈 수 있어야 합니다. 돌아갈 길이 없으면 그건 이전이 아니라 도박입니다.

STEP 04

데이터를 두 번 옮깁니다

먼저 통째로 한 번, 전환 직전에 바뀐 것만 한 번. 한 번에 옮기려 하면 그 시간만큼 장사를 멈춰야 합니다.

STEP 05

주소를 바꾸기 전에 양쪽을 같이 띄웁니다

새 환경이 실제 트래픽을 받아 보는 시간을 둡니다. DNS 를 먼저 돌리면 문제를 발견할 때는 이미 손님이 겪은 뒤입니다.

STEP 06

넘겨드리고, 한동안 같이 봅니다

운영 문서와 경보를 함께 넘깁니다. 처음 한 달은 같은 화면을 저희도 봅니다. «넘겼으니 끝»이 가장 많은 사고를 만듭니다.

03 — AI 학습 인프라

GPU 는 빌리는 것보다
«언제 끄느냐»가 돈입니다

GPU 학습 서버 · 자체 제작 3D
스크롤하면 돌아갑니다

학습은 몰아서, 추론은 잘게

학습용 인스턴스는 쓸 때만 켜고 끝나면 즉시 끕니다. 추론은 작은 것을 여러 개 두어 한 대가 멈춰도 서비스가 멈추지 않게 합니다.

GPU 요금은 «돌린 시간»이 아니라 «켜 둔 시간»으로 나옵니다.

데이터가 GPU 를 굶기지 않게

비싼 GPU 가 데이터를 기다리며 노는 경우가 흔합니다. 저장소와 학습 노드를 같은 구역에 두고, 읽는 속도를 먼저 재 봅니다.

GPU 를 늘리기 전에 «지금 몇 퍼센트나 쓰고 있는지»부터 봅니다.

중간에 끊겨도 이어서 학습합니다

저렴한 중단형 인스턴스를 쓰려면 언제 꺼져도 이어 할 수 있어야 합니다. 학습 상태를 주기적으로 남기고, 다시 뜨면 그 지점부터 갑니다.

이 구조가 없으면 싼 인스턴스는 싼 게 아니라 위험한 것입니다.

모델에 무엇을 보냈는지 남깁니다

어떤 데이터로 학습했고 무엇을 추론에 보냈는지 기록해 둡니다. 나중에 «왜 이런 답이 나왔나»를 되짚을 수 있어야 합니다.

개인정보가 섞여 들어가는 것을 막는 검사도 같은 자리에서 합니다.

04 — 이미지 호스팅

사진 한 장이
요금이 되는 구간

스토리지 어레이 · 자체 제작 3D
스크롤하면 돌아갑니다

원본은 한 벌, 나머지는 만들어 씁니다

크기마다 파일을 따로 만들어 쌓으면 저장 비용이 몇 배가 됩니다. 원본 한 벌만 두고 필요한 크기는 요청할 때 만들어 캐시에 둡니다.

한 번 만든 것은 다시 만들지 않습니다 — 그래서 첫 요청만 느립니다.

나가는 데이터가 진짜 요금입니다

저장은 싸고 내보내는 것이 비쌉니다. 캐시를 앞에 두어 같은 이미지를 원본 저장소에서 반복해 꺼내지 않게 합니다.

이 구조 하나로 이미지 요금이 크게 줄어드는 경우가 많습니다.

오래된 것은 싼 자리로 옮깁니다

1년 전 사진은 거의 열리지 않습니다. 열린 기록을 보고 저렴한 보관 등급으로 자동으로 내립니다. 지우지는 않습니다.

«언제 내릴지»는 지우는 규칙이 아니라 옮기는 규칙입니다.

남의 사이트가 내 이미지를 쓰지 못하게

이미지 주소가 공개되면 남의 사이트가 우리 요금으로 이미지를 씁니다. 서명된 주소와 호출 제한으로 막습니다.

이미지 요금이 갑자기 튀는 사고의 절반이 이것입니다.

데이터센터 내부

한 대가 멈추면 마흔 개가 멈춥니다.
그래서 «어디까지 같이 죽는지»를 먼저 그립니다.

05 — 무엇을 하는가

여섯 가지를 합니다

하나만 필요하시면 하나만 하셔도 됩니다. 묶어 파는 구성은 없습니다.

01

AWS 구축·이전

현행 조사중단 시간 산정되돌리기전환 입회

지금 쓰시는 환경을 그대로 옮기거나 처음부터 다시 설계합니다. 끊기는 시간을 숫자로 먼저 적고 시작합니다.

02

호스팅 운영

경보·당직인증서 갱신복구 연습월간 보고

올려 두고 끝이 아니라 매일 도는 것을 대신 봐 드립니다. 복구는 실제로 해 봐야 백업입니다.

03

이미지 호스팅

실시간 변환캐시보관 등급도용 차단

사진이 많은 서비스의 저장·변환·전송을 한 벌로 설계합니다. 저장보다 내보내는 쪽이 비쌉니다.

04

AI 학습 인프라

학습·추론 분리중단형 대응적재 경로사전 검사

GPU 를 언제 켜고 언제 끌지까지가 설계입니다. 요금은 돌린 시간이 아니라 켜 둔 시간으로 나옵니다.

05

데이터센터

비용 산정랙·회선·전력이중화클라우드 병행

직접 두는 편이 나은지부터 계산합니다. 아니라고 나오면 아니라고 말씀드립니다.

06

가이딩

운영 문서실습 동반비용 관리정기 점검

결국 담당자분이 직접 하실 수 있게 넘겨드리는 것이 목표입니다. 계속 물어야만 돌아가는 구조는 잘 만든 것이 아닙니다.

06 — 비용

줄일 수 있는 자리는
대개 정해져 있습니다

저희가 실제로 자주 줄이는 항목입니다. 아래는 «어디를 보는지»를 보여 드리는 그림이며, 실제 절감폭은 환경마다 다릅니다. 진단 전에는 숫자를 약속드리지 않습니다.

켜 두기만 한 개발·학습 서버대개 가장 큼
같은 이미지를 반복해 내보내는 전송비
안 쓰는 디스크·스냅샷·옛 백업중간
과하게 잡은 인스턴스 크기중간
정리한 뒤 남는 «실제로 쓰는» 비용여기까지가 목표

막대는 «무엇이 큰지»를 비교해 보여 주는 그림입니다. 금액이 아닙니다. 약정 할인이나 예약 구매는 사용 패턴이 안정된 뒤에 권해 드립니다 — 먼저 묶으면 줄일 여지가 사라집니다.

07 — 밟아 본 것

저희가 먼저 틀린 것들

01

백업은 있는데
복구를 안 해 봤다

복구 연습을 안 하면 백업은 «있다는 느낌»일 뿐입니다. 되살려 보기 전까지는 백업이 아닙니다.

02

인증서가 조용히
만료된다

자동 갱신을 걸어 두어도 갱신 실패를 아무도 안 봅니다. 갱신이 아니라 «실패 알림»을 확인해야 합니다.

03

설정 백업을 같은 폴더에
두면 전부 죽는다

웹서버 설정 폴더에 백업 파일을 두었다가 서버가 통째로 기동에 실패한 적이 있습니다.

04

키 하나를 바꿨더니
전 고객이 경보를 맞았다

지문을 만드는 «소금»을 옮기면 쌓아 둔 값이 전부 낯선 값이 됩니다. 재계산이 먼저입니다.

05

응답을 못 받은 결제를
성공으로 쳤다

부르기 전에 먼저 기록하고, 답이 없으면 «모름»으로 남깁니다. 성공으로 치는 순간 돈이 샙니다.

06

이미지 주소가 열려 있어
남이 우리 요금을 썼다

서명된 주소와 호출 제한이 없으면 어느 날 갑자기 전송비가 뜁니다.

08 — 먼저 받는 질문

솔직하게 답하겠습니다

아닙니다. 저희는 AWS 를 비롯한 클라우드 위에 시스템을 설계·구축·운영하는 독립 개발사이고, 특정 사업자와 제휴 관계에 있지 않습니다. 파트너 등급이 필요한 일이라면 그 점을 먼저 말씀드리고, 필요하시면 다른 곳을 권해 드립니다.

환경을 보기 전에는 말씀드리지 않습니다. 대신 진단은 짧게 끝냅니다 — 지금 무엇이 돌고 있는지 목록으로 만들어 드리고, 거기서 «며칠·얼마»가 나옵니다. 진단 결과 «옮기지 않는 편이 낫다»면 그렇게 말씀드립니다.

대부분은 가능하지만 «전부 무중단»이라고는 말하지 않겠습니다. 데이터베이스를 넘기는 순간처럼 몇 분은 반드시 멈춰야 하는 구간이 있습니다. 그 시간을 미리 숫자로 적어 드리고 가장 한가한 시간에 맞춥니다.

그게 목표입니다. 계속 저희에게 물어야만 돌아가는 구조는 잘 만든 것이 아닙니다. 운영 문서와 경보를 함께 넘기고, 담당자분이 직접 해 보시는 자리를 만듭니다.

팀플럿도 작은 회사입니다. 그래서 큰 조직이 맡기 어려운 규모의 일을 합니다. 다만 24시간 상주 인력이 필요한 규모라면 솔직히 말씀드리고 맡지 않습니다. 감당 못 할 일을 맡는 것이 가장 큰 사고입니다.

AI 시대의 미래

지금 무엇이 돌고 있는지
세어 보는 것부터

옮길지 말지는 그 다음입니다. 세어 보고 «그냥 두는 게 낫다»고 나오면 그렇게 말씀드립니다.