본문으로 건너뛰기
피드

공항 보안검색이 랜덤하게 느껴지는 이유를 분산 시스템으로 까보기

general 약 9분
vote
0
댓글
북마크

공항 보안검색의 짜증 포인트는 단순히 느린 게 아니라 예측 불가능한 분산 시스템처럼 동작한다는 데 있다는 글이다. 저자는 여러 나라 공항에서 반복해서 본 지연, 예외 처리, 사람 의존성, 책임 부재를 분산 시스템의 부분 장애, 꼬리 지연, 조정 비용으로 해석한다.

  • 1

    공항 보안검색의 핵심 문제는 평균 속도가 아니라 변동성과 꼬리 지연임

  • 2

    가방 검사, 장비 고장, 규칙 해석 차이 같은 예외가 실제로는 정상 경로처럼 자주 발생함

  • 3

    사람이 상태를 가진 노드처럼 동작하면서 같은 입력에도 다른 결과가 나오는 비결정성이 생김

  • 4

    엔드투엔드 경험을 책임지는 소유자가 없으면 각 조직은 자기 지표만 최적화하고 전체 흐름은 망가짐

공항 보안검색의 진짜 짜증은 느림이 아니라 랜덤함임

  • 저자는 공항 보안검색을 두고 “어느 나라가 이상해서” 생기는 문제가 아니라고 봄

    • 뉴욕, 마라케시, 나이로비, 리마, 알마티, 취리히, 아테네, 베이징, 방콕 등 완전히 다른 공항에서 비슷한 실패 패턴을 봤다는 게 출발점임
    • 어떤 날은 거의 고속도로처럼 지나가고, 어떤 날은 같은 공항인데도 완전 난장판이 됨
  • 문제는 보안검색이 항상 느린 게 아니라, 지연의 분산이 너무 크다는 점임

    • 항상 40분 걸린다면 사람은 그에 맞춰 움직이면 됨
    • 그런데 5분일 수도 있고 50분일 수도 있으니, 승객은 결국 시간을 보험처럼 과하게 넣게 됨
  • 그래서 이 글의 핵심 비유는 꽤 개발자스럽다: 공항 보안검색은 하나의 줄이 아니라 분산 시스템임

    • 공항 당국, 국가 보안기관, 민간 보안업체, 출입국, 항공사 정책, 규제기관, 장비 업체, 교대 근무자가 한 공간에서 동시에 움직임
    • 이 중 일부는 서로 소통하지만, 전체를 완전히 통제하는 단일 주체는 없음

예외 처리가 사실상 정상 경로가 됨

  • 공항 보안검색은 해피 패스만 보면 꽤 빠르고 깔끔함

    • 짐 올림, 스캔함, 지나감, 끝
    • 문제는 실제 대규모 시스템에서는 예외가 드문 일이 아니라는 점임
  • 가방 하나가 애매하게 걸리면 전체 흐름이 바로 흔들림

    • 위험해서가 아니라 그냥 애매해서 잡히는 경우가 있음
    • 규칙을 누군가 잘못 이해하거나, 장비가 잠깐 맛이 가거나, 승객이 스크립트 밖 행동을 하면 곧바로 수동 처리로 넘어감
  • 수동 처리 경로는 처리량 관점에서 최악의 조합을 갖고 있음

    • 한 명의 직원이 한 개의 가방을 끝까지 봐야 하는 직렬 처리임
    • 검사된 가방이 다시 흐름에 들어오면서 재시도와 대기열을 만듦
    • 판단에는 현장 규칙, 경험, 상급자 확인 같은 맥락이 필요함

중요

> 예외가 자주 발생하고 그 예외 경로가 느리다면, 그건 더 이상 예외가 아님. 그게 그냥 시스템의 본모습임.

사람은 무상태 노드가 아님

  • 글에서 제일 찔리는 표현은 “인간은 상태를 가진 노드”라는 부분임

    • 피로, 기분, 기억, 자신감, 두려움, 직전 사고 경험이 모두 처리 결과에 영향을 줌
    • 기계처럼 요청 하나 처리하고 깨끗하게 초기화되지 않음
  • 그래서 같은 공항, 같은 규칙, 같은 승객이어도 결과가 달라질 수 있음

    • 누가 근무 중인지
    • 몇 시인지
    • 지난 한 시간 동안 사고가 몇 번 있었는지
    • 팀이 새로 바뀌었는지, 인원이 부족한지, 감독자가 엄격한지에 따라 처리량이 달라짐
  • 이건 소프트웨어 조직에서도 익숙한 패턴임

    • “이건 앨리스만 알아요” 같은 암묵지가 시스템의 핵심 경로에 들어가면, 사람 하나 빠졌을 때 전체 시스템이 갑자기 다른 행동을 함
    • 겉으로는 시스템이 돌아가지만 실제로는 몇몇 상태 많은 인간이 설계의 빈틈을 메우고 있는 상태임

조정 비용이 처리량을 잡아먹음

  • 저자는 공항 보안검색이 CPU 바운드나 입출력 바운드가 아니라 조정 바운드라고 표현함

    • 스캔 자체보다 규칙 설명, 승객 행동 수정, 줄 재배치, 질문 응답에 시간이 더 많이 들어감
    • “여기는 노트북 꺼내세요”, “저기는 가방에 둬도 돼요”처럼 공항마다 규칙이 다르면 동기 호출이 계속 발생함
  • 규칙이 명시적으로 시스템에 박혀 있지 않으면 매번 사람이 락처럼 끼어듦

    • 표지판은 사람들이 안 읽고, 나머지 규칙은 직원 기억과 현장 관행에 들어 있음
    • 교대조, 검색대, 공항마다 “여기는 이렇게 해요”가 달라지면 외부 사용자 입장에서는 랜덤하게 느껴질 수밖에 없음
sequenceDiagram
    participant 승객
    participant 검색대
    participant 보안요원
    participant 장비
    participant 감독자

    승객->>검색대: 짐과 소지품 투입
    검색대->>장비: 스캔 요청
    장비-->>보안요원: 애매한 결과 반환
    보안요원->>승객: 추가 확인 요청
    보안요원->>감독자: 규칙 해석 확인
    감독자-->>보안요원: 수동 판단 지시
    보안요원-->>검색대: 흐름 재개

소유자가 없으면 전체 경험은 조용히 썩음

  • 글의 결론은 꽤 냉정함: 아무도 엔드투엔드 경험을 소유하지 않는다는 것

    • 승객이 보안구역 안으로 들어가기까지 걸리는 시간
    • 그 시간의 변동성
    • 최악의 날에 비행기를 놓치게 만드는 꼬리 지연
    • 이런 지표가 누구의 승진이나 평가와 직접 연결되어 있지 않다는 얘기임
  • 각 컴포넌트는 자기 기준으로는 합리적으로 최적화함

    • 보안 조직은 감사 대응과 규정 준수를 우선함
    • 현장 담당자는 나중에 책임지지 않을 선택을 함
    • 장비, 인력, 공간은 각자 다른 제약 안에서 움직임
  • 그 결과는 로컬 최적화와 글로벌 비효율임

    • 각 노드는 자기 방어에 성공하지만, 승객 경험은 계속 흔들림
    • 이건 회사 안에서도 똑같이 보이는 패턴임. 소유자가 없는 지표는 결국 아무도 고치지 않음

레거시 인프라는 꼬리 지연을 고정함

  • 공항은 서버처럼 쉽게 패치할 수 없음

    • 현대 보안검색에는 긴 자동화 라인, 대기 버퍼, 단계별 물리적 분리가 필요함
    • 그런데 많은 터미널은 수십 년 전에 지어졌고, 공간도 좁고, 수직 확장도 어렵고, 구조 자체가 바꾸기 힘듦
  • 결국 사람은 운영자가 아니라 호환성 레이어가 됨

    • 낡은 터미널 구조와 현대 보안 요구사항 사이를 사람이 몸으로 메움
    • 서버의 레거시 노드 하나가 전체 네트워크의 꼬리 지연을 결정하듯, 낡은 검색대 하나가 전체 경험을 끌어내림

불확실성은 사람들의 행동까지 바꿔서 더 큰 혼잡을 만듦

  • 보안검색 시간이 예측 불가능하면 승객은 시간을 더 넣는 식으로 대응함

    • 이건 개인적으로는 합리적인 선택임
    • 하지만 모두가 비슷한 시간대에 여유를 넣으면 수요가 특정 구간에 몰림
  • 큐가 이미 높은 사용률로 돌고 있을 때는 작은 장애도 바로 백로그가 됨

    • 가방 하나 재검사
    • 헷갈린 승객 한 명
    • 장비 하나의 짧은 문제
    • 낮은 부하에서는 흡수될 일이 높은 부하에서는 줄 전체를 흔듦
  • 그래서 공항 보안검색의 랜덤함은 단순한 불편이 아니라 피드백 루프임

    • 예측 불가능함이 사람들을 일찍 오게 만들고
    • 몰린 도착이 큐를 불안정하게 만들고
    • 불안정한 큐가 다시 예측 불가능함을 키움

기술 맥락

  • 이 글에서 중요한 선택은 공항 보안검색을 “운영 미숙”이 아니라 분산 시스템 문제로 모델링한 거예요. 그렇게 보면 특정 직원이나 특정 국가 탓으로 돌리기보다, 부분 장애와 조정 비용이 어떻게 전체 경험을 흔드는지 볼 수 있거든요.

  • 특히 예외 경로를 보는 방식이 개발자에게 꽤 유용해요. 대규모 서비스에서도 장애 대응, 수동 승인, 데이터 보정 같은 일이 드물다고 가정하면 설계가 계속 깨져요. 실제 트래픽에서 자주 발생한다면 그 경로는 제품의 핵심 경로로 다뤄야 해요.

  • 꼬리 지연도 같은 맥락이에요. 평균 통과 시간이 괜찮아 보여도 사용자가 기억하는 건 최악의 1번이에요. 서비스에서도 평균 응답 시간이 아니라 상위 지연 구간을 봐야 하는 이유가 여기에 있어요.

  • 마지막으로 소유권 문제가 커요. 공항에서 “보안구역까지 걸리는 시간”을 책임지는 사람이 없으면 각 조직은 자기 지표만 챙겨요. 소프트웨어 조직에서도 엔드투엔드 사용자 경험을 누가 책임지는지 불명확하면, 시스템은 조용히 복잡해지고 사용자는 랜덤함을 겪게 돼요.

재밌는 건 이 글이 공항 얘기를 하면서 사실상 대규모 조직과 레거시 시스템 얘기를 한다는 점이다. 평균 지표만 보고 괜찮다고 착각하는 시스템은 결국 사용자가 꼬리 지연으로 대가를 치른다.

댓글

댓글

댓글을 불러오는 중...

general

존 카맥이 돌아본 초기 id 소프트웨어의 실수들

존 카맥이 퀘이크 개발 당시의 기술적 과욕, 팀 운영, 지분 구조 문제를 직접 돌아봤다. 퀘이크 자체는 엄청난 성취였지만, 그 과정에서 회사와 사람들에게 너무 큰 부담을 줬다는 반성에 가깝다.

general

정부, 공공부문을 ‘AI 민주정부’로 바꾸겠다는 전략 공개

행정안전부가 전자정부의 날 행사에서 공공 인공지능 전환 전략인 ‘세계 최고의 AI 민주정부 실현 전략’을 발표했다. 핵심은 행정 효율화에 그치지 않고 국민 의견 수렴, 정책 참여, 행정 역량 강화를 AI로 밀어보겠다는 구상이다.

general

워드 빨간 밑줄을 만든 토니 크루거를 기억하며

마이크로소프트 워드의 빨간 맞춤법 밑줄과 초록 문법 밑줄을 처음 만든 개발자 토니 크루거를 기리는 글이다. 예전에는 사용자가 직접 맞춤법 검사를 실행하고 기다려야 했지만, 토니는 이 기능을 백그라운드에서 덜 거슬리게 만들고 오류를 즉시 화면에 표시하는 방식으로 바꿨다. 지금은 거의 모든 문서 편집기와 개발 도구에 비슷한 표시가 들어갔다는 점에서, 조용하지만 엄청나게 널리 퍼진 사용자 경험 개선 사례다.

general

삼성전자, AI 모듈러 홈 3년 안에 1만 채 팔겠다고 선언

삼성전자가 공장에서 80% 이상 제작되는 AI 모듈러 홈을 3년간 누적 1만 채 판매하겠다는 목표를 밝혔다. 스마트싱스 기반 보안, 화재·누수 알림, 에너지 절감, 방문자 맞이 자동화까지 주거 솔루션을 패키지로 묶는 전략이다.

general

중기부, 딥테크 7개 팀에 예비연구 티켓 줬다

중기부가 생태계혁신형 딥테크 챌린지 프로젝트 예비연구팀 7곳을 출범시켰다. 206개 컨소시엄 중 7개가 뽑혀 41대 1 경쟁률을 통과했고, 최종 5개 과제에는 4년간 최대 200억 원의 연구개발 지원이 붙는다.