brunch

IT서비스가 돌아가는 원리

어떻게 ‘보이고, 움직이고, 저장될까?’

by Cosmo
“이게 도대체 무슨 소리야..?”

회의 때 이런 광경이 자주 있었다.

생소한 단어, 이해하기 어려운 문장들...

그날 회의실을 나서며 생각했다.


‘나 기획자인데, 개발이 어떻게 돌아가는지도 몰라도 되는 걸까?’


그래서 모르니까 배워보기로 했다.

이건 나의 공부 기록이자,

나처럼 “IT를 처음 이해해 보려는 사람들”을 위한 가벼운 안내서다.




1. IT서비스란? – 결국 ‘정보의 이동’

내가 속한 산업군이 'IT서비스'다.

본질적인 질문부터 든다.

먼저 서비스는 뭘까?

'서비스' 하면 떠오르는 단어들: 서비스직종, 영화관 안내 알바, 미용실 등등

거기서 많이 듣는 대사들: '이쪽으로 오십시오~, '주문은 어떻게 도와드릴까요?' 등등

결국은 내가 누군가에게 '친절하게 대접(?)'을 받아 도움을 받는 건 동일한 거 같다.


IT가 뭐지?

근데 'IT서비스'는 앞에 'IT'가 붙었다.

IT는 ‘Information Technology’, 즉 정보 기술의 약자다.

순서대로 보면 '정보'가 '기술' 앞에 있다.

정보를 기술이라는 것을 통해 어떻게 하는 것이다.


그래서 IT서비스란?

쉽게 말하면, 정보가 기술을 통해 사람 사이를 오가는 “서비스업”이다.

IT = 정보가 기술을 통해서 어떻게 보이고, 이동하고, 저장됨으로써

서비스 = 어떤 고객이 필요한 도움을 해결해 주는 것


이론은 알겠는데 와닿지가 않아...

일상적으로 우리가 쓰는 앱들 또한 ‘정보’가 왔다 갔다 하는 구조로 되어 있다.

하나의 IT서비스를 예시로 들어서 외우지 말고 실제로 이해하며 체감해 보자.

쿠팡이츠: '주문 정보'가 오감

유튜브: '영상 정보'가 오감

카카오톡: '메시지 정보'가 오감



2. 쿠팡이츠로 보는 IT서비스의 구조

저녁 시간에 누가 빨리 맛있는 밥을 가져다줬으면 좋겠다.

이 상황에서 우리는 배달앱에서 “주문하기” 버튼을 누른다.

그 순간, 수많은 일이 동시에 일어나는 모습을 그림으로 표현하면 다음과 같다.

(*그림이 바로 이해된다면 합격!)

IT서비스 흐름


1) 기본 용어부터 이해해 보자.

[하드웨어 = 클라이언트/서버]

하드웨어 측면에서 살펴보면, 정보는 결국 컴퓨터와 컴퓨터 사이를 오간다.

앱이든 웹이든 통상 컴퓨터로 칭하겠다.

사용자가 보는 컴퓨터는 '클라이언트',

IT서비스의 컴퓨터는 '서버'라고 한다.


예를 들어

"클라이언트에서 요청을 보냈는데 서버가 다운됐어요."

라는 말은 사용자 쪽에서 버튼을 누르든 뭐든 요청을 보냈는데

그거를 응답해 줄 서버가 반응하지 못한다는 뜻이다.


[소프트웨어 = 프론트엔드/백엔드]

소프트웨어(IT서비스)의 측면에서 살펴보면

사용자가 사용하고 직접 보는 영역을 '프론트엔드'

그 이면에서 정보를 준비하고 전달하는 영역을 '백엔드'라고 한다.

오가는 정보는 잊어먹지 않기 위해 저장되는데, 그 공간을 '데이터베이스(DB)'라고 한다.

정보가 오가려면 프론트와 백이 소통해야 하는데, 그들의 소통 규칙을 'API'라고 한다.


예를 들어

'사용자 주문 화면 개발자 누구예요?'

사용자 화면이니까 프론트엔드 쪽을 개발하는 사람인 '프론트엔드 개발자'를 찾는 말이다.

'주문 DB 누가 담당하고 있어요?'

사용자 화면이 아닌 이면의 부분인 백엔드 쪽의 담당자니까 '백엔드 개발자'를 찾는 말이다.


[식당으로 비유해 보기]

식당에서 주문이 오가듯, 앱 속에서도 요청과 응답이 오간다.

예를 들어 IT서비스가 하나의 식당이라면

프론트엔드는 고객들이 있는 곳인 '홀',

백엔드는 주문을 확인하고 요리해서 내어주는 '주방'이다.

심플하게는 저 2개가 끝이다.


그러나 쿠팡이츠는 서비스 특성상 [고객-쿠팡이츠-가게 사장님들]의 구조로 되어 있다.

따라서 서비스를 보는 주체가 2개이기에 프론트엔드를 2개로 표현했다.

고객이 보는 화면: 일반적으로 우리가 주문하는 화면

가게 사장님이 보는 화면: 한번쯤 들어봤던 "쿠팡이츠 주문~" 소리가 들리는 그 화면

식당으로 살펴본 쿠팡이츠 흐름도

이를 바탕으로 '쿠팡이츠'의 서비스 흐름은 다음과 같이 흘러간다. 크게는 요청과 응답의 반복이다.

고객: "여기 주문이요! 파스타 되나요?" → 고객 클라이언트 쪽에서 서버에 '요청' 보냄

홀 직원: "네, 확인해 보겠습니다." 프론트에서 서버로 주문 전달

홀 직원: (포스기에 주문 정보 찍으며) 받은 주문 정보를 서버 DB에 저장

"주방장님, 15번 테이블에 파스타 하나 가능하죠?" 서버가 가게 사장 클라이언트에게 확인 '요청'

주방장: 네~ 준비할게요. 15분 걸려요. 주방장 클라이언트가 서버에게 '응답'

홀 직원: (손님에게) 네, 지금 요리 시작해서 15분 정도 걸립니다. 그 응답을 고객 클라이언트에게 '응답'



3. 정리하자면

또 다른 비유를 하자면, 우리가 쓰는 ChatGPT도 같은 맥락이다.

사용자가 서비스의 채팅창에 질문을 입력한다. (=클라이언트PC의 요청)

그러면 ChatGPT가 답변을 전달해 준다 (=서버PC의 응답)

한마디로, IT서비스는 거대한 질의응답 시스템이다. (요청↔응답)

즉, 아래의 조합이다.
1. 사용자에게 “보이는 것(프론트)
2. 그 이면에서 작동하는 것(백)
3. 오가는 정보를 기억하는 것(DB)


keyword
매거진의 이전글모든 상황을 나만의 무대로