개발자 옆자리에 앉아 있다 보면, 외계어 같은 단어들이 공기처럼 떠다닙니다. "클라이언트에서 세션이 끊겼네요." "그건 SDK로 붙이면 돼요." "서버 클러스터를 늘려야겠는데요." 다 아는 글자인데, 왜 뜻은 하나도 안 잡힐까요?
이런 단어를 모른다고 해서 부끄러워할 일은 아닙니다. 원래 안 배우면 모르는 게 당연하니까요. 다만 뜻을 알면, 회의가 훨씬 덜 무섭습니다. 남이 하는 말을 알아듣는 것만으로도 절반은 따라간 셈이거든요.
그래서 오늘은 개발자들이 자주 입에 올리는 낱말 네 가지를 풀어 봅니다. 클라이언트·세션·SDK·클러스터. 앞서 프론트엔드·백엔드·API를 다뤘다면, 이번엔 그 사이를 오가는 개념들입니다. 쉬운 비유로 하나씩 가 볼게요.
1. 클라이언트 (Client)
서버에 무언가를 요청하는 쪽. 식당으로 치면 주문하는 손님입니다.
클라이언트(client)는 원래 '손님, 의뢰인'이라는 뜻이에요. 개발에서도 뜻이 비슷합니다. 우리가 쓰는 웹 브라우저나 스마트폰 앱처럼, 서버(server)에게 "이 정보 좀 주세요"라고 요청하는 쪽을 클라이언트라고 부릅니다.
손님(클라이언트)이 주문하면, 주방(서버)이 요리를 만들어 내옵니다. 그러니까 여러분이 유튜브 앱을 켜서 영상을 트는 순간, 그 앱이 바로 클라이언트예요. 요청하는 쪽과 만들어 주는 쪽. 이 둘이 짝을 이뤄 서비스가 돌아갑니다.
이럴 때 써요: "화면이 안 뜨는 게 서버 문제인가요, 클라이언트 문제인가요?" (앱 쪽 문제인지 서버 쪽 문제인지 묻는 겁니다.)
2. 세션 (Session)
사용자가 서비스에 접속해 머무는 한 번의 '이용 시간'. 놀이공원 자유이용권 같은 것입니다.
세션(session)은 '한 차례, 한 회기'라는 뜻이에요. 여러분이 어떤 사이트에 로그인해서 이것저것 하다가 나갈 때까지, 그 한 덩어리의 접속 시간을 세션이라고 합니다.
놀이공원에 들어가면 손목에 밴드를 채워 주죠? 그 밴드가 있는 동안은 자유롭게 놀이기구를 탑니다. 세션도 비슷해요. 로그인하면 "이 사람 맞다"는 표시(밴드)가 잠깐 유지되고, 그 덕에 페이지를 옮겨도 다시 로그인하지 않습니다. 그런데 한참 자리를 비우면 어떻게 될까요? "세션이 만료됐다"며 다시 로그인하라고 나옵니다. 밴드가 하루치라 다음 날엔 새로 받아야 하는 것과 같습니다.
이럴 때 써요: "결제하다가 자꾸 튕겨요. 세션이 중간에 끊기는 것 같은데요."
3. SDK (에스디케이, Software Development Kit)
특정 기능을 앱에 붙일 때 쓰는 '완제품 도구 상자'. 조립식 가구의 부품+설명서 세트와 비슷합니다.
SDK는 '소프트웨어 개발 키트(Software Development Kit)'의 줄임말이에요. 키트(kit)는 '도구 한 벌'을 뜻합니다. 어떤 기능을 처음부터 다 만들지 않고 가져다 붙일 수 있게, 필요한 부품과 설명서를 한 상자에 담아 놓은 것이죠.
예를 들어 내 앱에 '카카오로 로그인'이나 '지도'를 넣고 싶다고 해 봅시다. 그 기능을 밑바닥부터 만들면 몇 달이 걸립니다. 하지만 카카오나 구글이 제공하는 SDK(도구 상자)를 가져다 붙이면 하루면 됩니다. 조립식 가구를 살 때 나사와 설명서가 함께 오는 것처럼요. 참고로 앞서 다룬 API가 '주문 받는 창구'라면, SDK는 그 창구를 쉽게 쓰도록 도구까지 챙겨 준 상자라고 보면 됩니다.
이럴 때 써요: "결제 기능은 직접 만들지 말고, 그냥 결제사 SDK 붙입시다."
4. 클러스터 (Cluster)
여러 개를 하나처럼 묶은 무리. 포도알이 모여 한 송이가 되듯, 컴퓨터 여러 대를 한 덩어리로 묶은 것입니다.
클러스터(cluster)는 '송이, 무리, 떼'라는 뜻이에요. 포도알 하나하나가 줄기에 모여 한 송이(포도송이)가 되죠? 그렇게 낱개를 하나로 묶은 것을 클러스터라고 부릅니다.
이 말은 쓰이는 자리에 따라 조금씩 달라집니다. 세 가지만 볼게요. 첫째, 서버 클러스터. 컴퓨터(서버) 여러 대를 묶어 마치 한 대처럼 쓰는 것입니다. 한 대가 고장 나도 나머지가 받쳐 주니 서비스가 안 멈춰요. 둘째, 토픽 클러스터. 블로그에서 하나의 큰 주제 아래 관련 글들을 포도송이처럼 엮는 콘텐츠 전략입니다(이 용어사전 시리즈도 일종의 토픽 클러스터예요). 셋째, 산업 클러스터. 판교의 IT 기업들처럼, 비슷한 회사들이 한곳에 모여 시너지를 내는 지역을 가리킵니다.
이럴 때 써요: "접속자가 폭증했어요. 서버 클러스터에 장비를 더 붙여서 버티게 합시다."
자주 묻는 질문
클라이언트와 서버는 반대말인가요?
정확히는 반대말이 아니라 '짝'입니다. 요청하는 쪽이 클라이언트, 그 요청을 받아 처리해 주는 쪽이 서버예요. 손님과 주방처럼 역할이 나뉘어 서로를 필요로 하는 관계입니다. 한쪽만 있으면 서비스가 돌아가지 않습니다.
세션이 자꾸 만료된다는 건 무슨 뜻인가요?
로그인 상태를 유지해 주던 '임시 표시'의 유효 시간이 끝났다는 뜻입니다. 보안을 위해 일정 시간 아무 활동이 없으면 자동으로 끊기도록 만들어 둔 것이에요. 그래서 한참 자리를 비우면 다시 로그인하라는 안내가 나옵니다. 고장이 아니라 정상적인 안전장치입니다.
SDK와 API는 같은 건가요?
비슷해 보이지만 범위가 다릅니다. API가 서비스에 요청을 주고받는 '창구' 하나라면, SDK는 그 창구를 편하게 쓰도록 도구·부품·설명서까지 묶어 놓은 '상자'입니다. 보통 SDK 안에 API가 들어 있다고 이해하면 쉽습니다.
클라이언트·세션·SDK·클러스터까지, 개발 회의에서 자주 튀어나오는 네 낱말을 정리했습니다. 손님과 주방, 자유이용권, 도구 상자, 포도송이. 이 이미지만 기억해도 대화가 한결 수월해질 거예요. 이것으로 '개발 입문' 묶음은 마무리입니다. 다음 편부터는 방향을 틀어, 내 글과 서비스를 검색에 잘 노출시키는 마케팅 용어 — SEO·SEM·SERP·메타태그·백링크·오가닉 — 을 파고들 예정입니다. 검색창 너머에서 무슨 일이 벌어지는지 궁금하지 않으세요? 다음 용어사전에서 만나요.
이 시리즈의 다른 글
참고 출처: GitHub — What is an SDK?
