애플리케이션 아키텍처와 개발에 대한 현대적인 접근 방식에는 기본적으로 "더 작게 만들어 효율성을 높인다"는 형태를 취하는 몇 가지 방법이 있습니다.
마이크로서비스와 서비스형 함수(FaaS)는 모두 고도로 집중된 코드라는 개념을 기반으로 합니다. 물론 대부분의 조직이 애플리케이션을 수백 개의 마이크로서비스나 수천 개의 함수로 분해하고 있는 것은 아니지만, 점차 이러한 설계 방식을 채택하는 추세입니다. 이는 비교적 소규모인 팀이 대규모 모놀리식 애플리케이션보다 서비스를 훨씬 빠르게 설계하고 개발한 후 개선할 수 있어 애자일 개발에 유리하기 때문인 경우가 많습니다. 결국 10만 줄에 달하는 대규모 애플리케이션보다 1,000줄짜리 코드를 작성하고 테스트하는 편이 훨씬 쉽습니다.
하지만 마이크로서비스와 FaaS에는 마땅히 주목받아야 함에도 충분히 알려지지 않은 또 하나의 흥미로운 이점이 있습니다. 바로 보안입니다.
인터넷에는 "업계 평균" 결함 및 취약점 밀도를 정확히 산정하려는 논의가 많으며, 저도 그중 상당수를 읽어 보았습니다. 추정치는 매우 다양합니다. 일부는 오픈 소스 코드를 실제로 스캔한 결과를 바탕으로 하고, 일부는 자체 보고된 수치를 기반으로 합니다. 예를 들어 NASA는 우주왕복선 프로그램의 성공 요인 중 하나로 매우 낮은 결함 밀도를 자랑스럽게 내세워 왔습니다. WhiteHat과 같은 보안 업체가 객관적으로 수집한 데이터를 기반으로 한 보고서도 있지만, 해당 수치는 애플리케이션당 취약점에 초점을 맞추며 반드시 코드 줄당 취약점을 다루는 것은 아닙니다.
결함 및 취약점 밀도에 대해서는, 그런 지표가 존재한다는 점 외에는 실질적인 합의가 없습니다.
하지만 작성하는 코드 줄 수가 적을수록 결함과 취약점이 발생할 가능성도 낮아진다고 보는 것이 합리적입니다. 마찬가지로 중요한 점은 취약점이나 결함을 찾기 위해 살펴봐야 할 코드 줄 수가 적을수록 더 빨리 찾아내고, 아마도 더 빨리 수정할 수 있다는 것입니다.
이것이 사실인 이유 중 하나는 범위에 있습니다. 마이크로서비스나 함수가 비즈니스 로직의 한 측면을 코드로 구현하는 데 집중한다면, 이를 구현하는 데 필요한 로직과 라이브러리가 줄어듭니다. 범위가 좁아지면 추가 로직을 구현하는 데 필요한 라이브러리(서드 파티 여부와 관계없이)에 논리 오류나 취약점이 생길 가능성도 낮아집니다. 다른 구성 요소를 추가하거나 다른 서비스를 호출할 때마다 결함과 취약점이 발생할 여지가 생깁니다.
함수나 마이크로서비스의 인터페이스 수가 적을수록 코드의 보안성도 높아집니다. 모든 인터페이스(API 호출과 같은 진입점)는 사용자 입력을 처리하므로 취약점이 발생할 가능성을 초래합니다. 그리고 우리 모두 알다시피 사용자 입력은 항상 의심스럽고 잠재적으로 악의적일 수 있는 것으로 간주해야 합니다.
또한 마이크로서비스가 취약점과 결함이 발생할 가능성을 줄여 준다면, 범위를 함수 단위로 더욱 축소할 경우 그 가능성은 한층 더 낮아질 것입니다.
그렇다고 해서 마이크로서비스와 FaaS가 본질적으로 3계층 아키텍처나 모놀리식 아키텍처보다 더 안전하다는 뜻은 아닙니다. 코드가 몇 줄이든 허술한 코드는 허술한 코드일 뿐입니다. 하지만 두 아키텍처 모두 더 안전한 코드를 만드는 데 도움이 되는 개발 및 배포 방식을 적용하기에 적합한 것은 사실입니다.
마이크로서비스 및/또는 FaaS를 평가하거나 구현할 때 보안상의 이점을 염두에 두면 코드가 불필요하게 비대해지는 것을 막는 동시에 취약점이 유입되는 것도 방지할 수 있습니다.
작성자 소개

Lori MacVittie는 F5 CTO 오피스의 수석 엔지니어이자 최고 에반젤리스트로, 애플리케이션 딜리버리, 자동화 전략 및 인프라 분야에서 깊이 있는 전문성을 보유하고 있습니다. AI 에이전트를 위한 가드레일을 정의하고, 취약한 멀티클라우드 아키텍처를 분석하며, 확장 가능한 시스템의 한계를 탐구하는 등 복잡한 문제를 명확하게 풀어내는 것으로 잘 알려져 있습니다. 애플리케이션 개발, IT 아키텍처, 네트워크 및 시스템 운영 전반에 걸쳐 30년 이상의 업계 경험을 쌓았습니다. F5에 합류하기 전에는 수상 경력이 있는 기술 편집자로 활동했습니다. MacVittie는 컴퓨터 과학 석사 학위를 보유하고 있으며, 보안, 클라우드 및 엔터프라이즈 아키텍처 분야를 아우르는 다수의 저서를 집필한 작가입니다. 또한 보드게임과 비디오 게임을 열정적으로 즐기며, 치즈에 대해서는 거리낌 없이 확고한 견해를 갖고 있습니다.
Lori Mac Vittie의 다른 블로그 게시물관련 블로그 게시물
성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A
F5의 ‘성평등을 향한 여정’ 시리즈 네 번째 Q&A에서는 Rachael Shah와 NGINX 제품 마케팅 책임자 Jenn Gile이 사이버 보안 직종에 대한 오해를 바로잡고, 사이버 보안 분야의 성별 격차를 해소하기 위한 조언과 그 이점에 대해 이야기합니다.
TLS 검사에서 피터 파커 원칙 다루기
“큰 힘에는 큰 책임이 따른다.” 볼테르와 처칠도 이와 비슷한 말을 남겼지만, 이 문구는 스파이더맨 코믹스에서 벤 삼촌의 말로 가장 널리 알려져 있습니다. 물론 이 문구가 문화적으로 널리 통용되는 이유 중 하나는 TLS 검사를 비롯해 수많은 상황과 주제에 적용할 수 있기 때문입니다.
Venafi와 F5를 통한 머신 아이덴티티 보호
‘머신 아이덴티티’란 간단히 말해 자동화된 프로세스가 자신의 신원을 식별할 수 있도록 하고, 다른 자동화 시스템과 프로세스가 관련 리소스에 적절한 수준의 접근 권한을 부여하도록 하는 방법을 의미합니다. 이 개념 자체는 새로운 것이 아닙니다. 비교적 새로운 점은 이를 구현해야 하는 규모입니다.
마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다
물론 데이터 유출은 더 큰 비용을 초래할 수 있고(적어도 지금은), 실패 사실을 세상에 드러낼 수밖에 없게 합니다(통지 의무가 있으니까요). 하지만 보안을 단순히 데이터 노출 문제로만 봐서는 안 됩니다. 요즘은 데이터가...
내 클라우드에서 나가!
F5의 Jay Kelley가 전하는 최신 소식에는 Microsoft Office 365용 신규 ID 및 액세스 솔루션을 배포할 때 고려해야 할 사항이 정리되어 있습니다.
Shift(웹 앱) 보안 레터
웹 앱 보안을 개발 초기 단계로 앞당기세요. F5 블로그에서 DevOps 파이프라인 초기에 보안을 통합하여 취약점을 예방하고 시간을 절약하는 방법을 알아보세요.