
"Tailscale without Tailscale, by Tailscale. Meet tailcat." (테일스케일이 만든, 테일스케일 없는 테일스케일. 테일캣을 소개합니다.) 테일스케일 공식 계정이 이미지 한 장과 함께 이 발표를 올렸고, 사람들이 202,763번 봤습니다. 좋아요 3,250에 북마크가 2,245예요. 사람들이 읽고 지나가지 않고 저장해 뒀다는 뜻이죠.
테일스케일은 이름을 세 번 반복한 한 문장에 제품 전체를 담았습니다. 자기 제품에서 테일스케일다운 부분을 전부 뺀 물건을, 자기 손으로 내놨어요.
이름은 테일캣입니다. 오픈소스 Go 패키지와 CLI 형태예요. 농담 같은 이름 뒤에 또렷한 설계가 있으니, 테일스케일이 무엇을 남기고 무엇을 버렸는지 그 목록부터 보죠.
무엇을 뺐길래 테일스케일이 아닌가요?
테일스케일은 두 층으로 돌아갑니다. 기기 사이 연결을 실어 나르는 데이터 플레인, 그리고 누가 누구와 연결될지 정하는 컨트롤 플레인이에요.
테일캣은 컨트롤 플레인을 통째로 뺐습니다. 남긴 건 데이터 플레인, 그러니까 배관뿐이에요.
테일스케일은 빠진 층에 있던 것들을 발표문에 그대로 나열했습니다. 계정 없음. 로그인 없음. 관리자 없음. 관리할 IP 없음.
테일스케일은 이 목록으로 설계 방향을 밝혔습니다. 네트워크를 쓰기 전에 사람이 거쳐야 했던 절차를 전부 지웠다는 뜻이거든요.
뒤집어 말하면 이렇게 돼요. 지금까지 테일스케일을 쓴다는 말은, 절반은 배관을 쓴다는 말이었고 절반은 그 절차를 받아들인다는 말이었습니다. 테일캣은 뒤쪽 절반을 떼어내고 이름까지 바꿔 달았어요.
계정과 로그인은 애초에 누구를 위한 장치였나요?
계정·로그인·관리자는 사람을 전제로 만든 장치입니다. 사람이 가입하고, 사람이 비밀번호를 치고, 사람이 콘솔에서 기기 목록을 살폈어요. 기기 수가 사람 수를 크게 벗어나지 않던 시절에는 자연스러운 설계였습니다.
이제 네트워크에는 사람 대신 에이전트 워커가 들어옵니다.
전에 다룬 링시(@lingxi)가 그 장면을 먼저 보여줬습니다. 클라우드 에이전트를 띄워 일을 시키다가, VPN이나 iOS 시뮬레이터가 필요하면 집 맥 미니와 private worker에 연결하는 워크플로였어요. 워커가 사람이면 머신 하나 늘릴 때 계정 하나 파는 게 대수롭지 않습니다. 에이전트 워커를 수십, 수백 개로 늘리면 그렇게 넘어갈 수 없어요. 머신마다 계정을 파고, 로그인을 시키고, IP를 장부에 적다 보면 운영자가 거기서 막힙니다. 묶어야 할 머신은 늘어나는데, 묶는 도구는 아직 사람 가입을 요구해요. 테일스케일은 정확히 이 틈에 테일캣을 내놨습니다.
가입 화면과 관리 콘솔은 사람 손을 부르는 관문입니다. 자동으로 돌아야 할 플릿 한가운데에서 사람 손을 기다려야 하면, 운영자는 거기서 자동화를 이어갈 수 없어요.
발표가 지운 목록을 다시 보면, 테일스케일은 네 항목으로 정확히 이 병목을 겨눴습니다. 계정 없음은 가입 절차가 없다는 말이고, 로그인 없음은 자격 증명을 넣어줄 손이 필요 없다는 말이에요. 관리자 없음은 콘솔 앞에 앉을 사람이 없다는 말이고, 관리할 IP 없음은 장부 자체가 없다는 말이고요.
배관 회사가 왜 배관을 그냥 나눠줄까요?
테일스케일 본체는 계정과 관리 콘솔로 돌아가는 제품입니다. 그 회사가 연결 배관만 떼어 오픈소스로 풀었어요. 자기 제품에서 자기다운 부분을 스스로 걷어낸 셈입니다.
포장 형태가 힌트예요. 테일스케일은 테일캣을 Go 패키지와 CLI로 냈습니다. 패키지라는 건, 다른 프로그램 안에 끼워 넣으라고 나눠주는 부품이라는 뜻이에요. 워커 데몬이든 오케스트레이터든, 개발자가 자기 프로그램 안에 네트워크 층을 넣어 만들 수 있습니다. 이제 네트워크를 설치하고 설정하는 대신 코드에서 불러다 쓰는 거예요.
오픈소스라는 조건도 같은 방향이에요. 기반에 깔리는 부품은 속이 보여야 사람들이 채택합니다. 소스가 열려 있으면 누구든 검증할 수 있고, 회사가 방향을 틀어도 부품은 살아남거든요.
저는 이 포장을 이렇게 읽습니다. 에이전트 플릿 시대에 팀은 배관을 기본 재료로 씁니다. 재료가 되려면 문턱이 없어야 하고, 문턱을 없애는 제일 확실한 방법이 계정을 지우고 소스를 여는 겁니다.
관리자가 하던 일은 이제 누가 하나요?
물론 테일스케일이 발표문에서 답하지 않은 질문도 남습니다.
계정과 로그인은 귀찮은 절차이기 전에 빗장이었습니다. 누가 들어오고 나가는지 관리자가 콘솔로 지켜봤어요. 빗장 없이 기기 사이 신뢰를 어떻게 세울지는, 발표 한 장 밖에 있는 다음 질문입니다. 이건 테일캣만의 숙제도 아니에요. 사람 확인용으로 깔린 장치를 걷어내려는 모든 회사가 같은 벽 앞에 서죠.
다만 방향은 분명해요. 테일스케일은 빗장을 코드에 맡기는 쪽으로 갑니다. 관리자 없는 네트워크는 사람이 지켜보던 일을 프로그램에 넘긴다는 뜻이에요.
테일스케일 본체가 사라진다는 이야기도 아닙니다. 사람이 감독해야 하는 네트워크에는 여전히 계정과 콘솔이 맞는 답이에요. 테일스케일은 그 옆에 사람 없는 네트워크용 판본을 하나 더 세운 거고요.
그래서 이 발표를 어떻게 읽어야 할까요?
저는 '관리자 없음'이 이 발표에서 제일 무거운 단어라고 봅니다.
계정 없는 서비스는 전에도 있었어요. 그런데 네트워크에서 관리자를 빼는 건 무게가 다른 결정이에요. 연결이라는 기반 시설을, 사람이 감독하지 않는 층으로 내려보낸다는 뜻이거든요.
저는 반응 숫자도 같은 쪽으로 읽습니다. 좋아요 셋에 북마크 둘 꼴이면 사람들이 이례적으로 많이 저장한 겁니다. 사람들이 웃고 넘기지 않고 어딘가에 적어 뒀어요.
전에 다룬 흐름과 겹쳐 보면 방향이 보입니다. 워커는 클라우드에 상주하고, 손은 집 맥 미니와 원격 박스로 뻗고, 이제 테일스케일이 그 사이를 잇는 배관을 계정 없는 오픈소스로 풉니다. 업계는 에이전트 플릿을 받치는 기반 시설을 한 층씩 익명 쪽으로 옮기는 중이에요.
계정을 만들 손이 없는 워커들 시대에, 배관 회사가 먼저 계정을 버렸습니다. 저는 이 발표를 방향 선언으로 읽습니다.
원문·소스
- 테일캣 발표 (@Tailscale): https://x.com/Tailscale/status/2094485903016177871
FAQ
자주 묻는 질문
- 무엇을 뺐길래 테일스케일이 아닌가요?
- 테일캣은 컨트롤 플레인을 통째로 뺐습니다. 계정 없음, 로그인 없음, 관리자 없음, 관리할 IP 없음이 발표문에 나열돼 있고, 남긴 건 데이터 플레인, 즉 배관뿐이에요.
- 계정과 로그인은 애초에 누구를 위한 장치였나요?
- 사람을 전제로 만든 장치입니다. 기기 수가 사람 수를 크게 벗어나지 않던 시절에는 자연스러운 설계였지만, 워커가 에이전트고 수가 수십·수백으로 불어나면 머신마다 계정을 파는 절차 자체가 병목이 됩니다. 테일캣은 정확히 이 틈에 들어온 물건이에요.
- 배관 회사가 왜 배관을 그냥 나눠줄까요?
- 에이전트 플릿 시대에 배관은 기본 재료가 됩니다. 재료가 되려면 문턱이 없어야 하고, 문턱을 없애는 제일 확실한 방법이 계정을 지우고 소스를 여는 것이에요. Go 패키지와 CLI로 나왔기에 다른 프로그램 안에 끼워 넣는 부품으로 쓸 수 있습니다.
- 그래서 이 발표를 어떻게 읽어야 할까요?
- 에이전트 플릿을 받치는 기반 시설이 한 층씩 익명 쪽으로 이동하는 방향 선언입니다. 좋아요 3,250에 북마크 2,245로 저장 비중이 이례적으로 높았고, 계정을 만들 손이 없는 워커들 시대에 배관 회사가 먼저 계정을 버린 셈이에요.

SEASON 3
시즌3 「콘텐츠로 팔기」
AI와 콘텐츠를 만들고 고객에게 연결하는 4주
제가 에이전트로 조사하고 쓰고 파는 과정을 그대로 보여 드려요. 그다음 각자의 주제로 같이 만들어 봐요.
10월 2일 OT · 10월 5일부터 월·수 4주 · 10월 31일 오프라인
시즌3 커리큘럼 보기