Transformation on yourself own

시대가 원하는 융합적 IT 환경

GS
HashiCorp Solutions Engineering Blog
12 min readSep 18, 2020

--

얼마전에 세상을 바꾸는 시간 강연중 “융합적 사고를 위해 버려야 할 것” 이라는 주제의 영상을 보았습니다.

4차 산업 혁명이라는 용어가 어느순간 ‘핫’한 주제였다가 지금 이시점에서는 조금 사그러들어가는 느낌이지만, 우리가 살고 있는 이 시대가 변하고 있다는 것은 대부분 공감하고 있을거라 생각합니다. 특히, 2020년 9월, 서서히 변해갈 것 같던 세상이 인류 전체에 대한 위협으로 인해 급작스런 변화에 맞닥들였습니다. 스마트폰, SNS, 클라우드, 빅데이터, AI. 그리고 코로나(COVID-19)로 인해 산업 전반에 걸쳐 ‘언택트’라 불리는 사회적 분위기로 디지털 트랜스포매이션에 다가선 기업과 아닌 기업이 울고 웃고 있습니다. 표준화, 조금 비꼬아 이야기하자면 획일화된 IT 환경으로는 더이상 급작스런 변화와 그때그때 앞서나가는 경쟁자의 신 비즈니스 모델을 따라가기에 부족하다 못해 사활이 걸인 일이 되어버렸습니다. 이런 변화를 준비하지는 이야기는 이전부터 있어왔죠. 4차산업혁명이라는 새로운 변화의 바람과 함께 요구되는 인재상도 정부와 여러 매체, 인터넷 공간에서 거론되었습니다. 창의적 인재. 과연 창의적이란 무엇이고 어떻게 구체화 할 수 있을까?

만들고, 부수고, 또 만들고

유튜브의 인기는 여전히 가시질 않고 있습니다. 더불어 유튜브의 주요 컨텐츠중 ‘창의적’인 것으로 어른아이 할것 없이 인기 있던 게임이 있었고 ‘마인크래프트’는 조금이나 관심이 있다면, 혹은 자녀가 있는 분들이면 네모난 각각의 블록을 조합하여 누군가는 집을, 누군가는 피아노를, 누군가는 도서관을 만드는 것을 보았을 것입니다. 이같은 컨셉은 물리적으로도 존재하는데, 아마도 거의 모든 사람이 알고 있을 ‘레고’가 그것입니다. 작은 돌기가 여럿 있는 블록을 조합하여 갖가지 것들을 만들어내고, 레고를 활용한 영화인 “레고 무비”에서 보았듯 창의적인 사람은 누군가 특정지어놓은 설명서에 구애받지 않습니다. 이들의 공통점은 무언가를 만들어내고, 더불어 언제든 부실 수 있고, 다시 같은, 또는 다른 모양으로 매번 다른 결과와 재미를 만들어냅니다. 무언가를 ‘만든다’라는 행위와 ‘파괴’, 그리고 파괴된 상태에서 다시 무언가를 ‘만든다’라는 반복적 작업을 가능하게 하는 것에 우리는 ‘창의적인 도구’라 표현하고 이를 즐기는 사람들을 ‘창의적인 사람’이라 부릅니다. 아마도 이런 작업의 예로 프로그래밍을 통해 무언가를 개발하는 것도 포함된다고 보여지며, 때문에 유래없는 코딩 열풍이 불고 있는 것도 이해가 됩니다.

‘컨택트’의 이동

코로나가 변화시킨 것중 가장 큰 것은 ‘언택트’로의 사회적 변화 일것입니다. 사람들 간의 집합, 만남을 최소화 하는 일상과 재택근무의 활성화가 질병을 예방하기 위한 최선의 권고 사항이며 예방 활동 입니다. 그럼 기존의 먹고, 마시고, 이야기 하고, 회의하던 행위를 하지 않을까? 이미 대부분 답을 알고 있겠지만, 답은 ‘아니오’입니다. 기존의 활동이 IT 기반인 디지털 환경으로 넘어왔고 택배와 배달은 전에 없던 주문량을 기록하고 있고, 식당은 힘든 반면 가정간편식(HMR) 시장은 전에 없던 호황입니다. 그리고 이 비즈니스의 바탕에는 IT 환경이 있습니다.

바이러스가 미국인들이 돈을 쓰는 방식을 변화시킨 방법 (뉴욕 타임즈의 기사) — https://nyti.ms/2yMi1wM

무수한 배달 앱들과 온라인 장보기 환경은 언택트 시대에 또다른 거대 시장을 형성하고, 이렇게 형성된 비즈니스는 코로나 위기가 끝난다 하더라도 이미 익숙해진 소비자들로 인해 그대로 유지될 것으로 예상됩니다. 기업환경은 출퇴근하던 하나의 장소에서 함께 모여 일하던 기존 방식에서 코로나 위기가 가중될 때 마다 재택에 돌입하고 있고, 기업에서는 어떤 조직과 업무가 재택이여도 일에 영향이 없는지 테스트를 하지 않고도 이제는 그 결과를 직접 확인하고 있습니다. 더불어 어떤 기업의 팀장은 재택을 하니 누가 필요한 인재인지, 그리고 누가 팀에서 필요없는 사람인지 명확해지는 계기가 된다고 합니다. 사회적으로 언택트의 빈도와 양이 과거에 비해 월등히 증가함과 동시에 언택트 임에도 컨택트를 가능하게 하는 IT기반 서비스는 이와 반대로 더 많은 사용자, 트래픽, 다양한 서비스로 ‘After Corona’에서 ‘With Corona’의 시대를 준비하고 있습니다.

스마트폰 = 나

현대인들을 저격하는 표현 중에 하나가 실제의 ‘나’와 인터넷상의 ‘나’의 격차입니다. 언젠가 온라인의 SNS에서 표현된 나와 현실의 내가 다르다는 풍자 일러스트를 여럿 본 기억이 납니다. 현실에서는 보잘것 없는 사람이지만 온라인에서는 마치 엄청난 사람인 것 처럼 보여지는 상황이 꼭 잘못된 것일까? 몇년전이라면 모를까 이제는 더이상 현실에서 만나서 일하지 않아도 되는 때가 오고 있습니다. 그럼 현실과 온라인 중 더 중요한 것은 아마도 온라인의 ‘나’가 될 가능성이 더 높습니다. 그만큼 디지털 환경을 이용하고 그 안에서 일하고 생활하는 것이 당연시되고 있으며 페이스북, 인스타그램, 유튜브 등의 매체에서 보여지는 나를 위해 투자하고 있습니다. 그리고 그 투자가 돈을 만들어내는 때기도 하지요.

여러 측변으로 이같은 현상을 해석하고 분석해볼 수 있겠지만 그중에 보안의 관점에서 다가가 본다면 스마트 디바이스는 마치 ‘나’ 이기도 합니다. 어마어마한 개인정보와 인맥, 활동, 위치, 관심사, 심지어 그간의 행위들도 고스란히 남아있고, 이를 보안적 관점으로는 위협으로 생각할 수도 있지만 이 또한 다른 면으로 생각한다면 하나의 장치에 집중된 나를위한 중앙 저장소 입니다. 그리고 보안적으로 안전한 장치들로 지문, 얼굴, 홍체 등으로 스마트 디바이스 제조 업체들은 사용자들이 또다른 ‘나’를 보호하는 기술을 선보입니다. 사견일 수 있지만 이제는 하나의 디바이스를 통한 인증 외에 다른 무언가를 요구하거나 다른 디바이스나 매개체를 요구하는 것에 엄청난 불편함을 느낍니다.

사람들과 기업들이 앞으로의 새로운 변화와 시대상에 슬슬 적응해보려 했으나 환경이, 상황이 기다려주지 않습니다. 전세계적으로 불어닥친 급격한 변화는 점진적 변화를 용납하지 않고 마치 빅뱅과도 같은 차세대 시대상을 만들어내고, 연습없이 실전으로 마주한 변화에 적응하기 위한 IT 환경은 과거의 개인화 서비스 정도에 만족하지 않고 그때그때 변하는 소비자를 즉각적으로 만족시킬 새로운 서비스를 만들어내야하는 상황을 마주하고 있습니다. 몇년전부터 불고 있던 ‘디지털 트렌스포메이션’을 미리 준비한 기업은 마치 자기의 때가 온듯 순조롭게 변화에 적응하고 있고 새로운 아이디어와 변화에 자신들이 새로운 트랜드로 자리잡으려는 신흥 스타트업과 언택트 시대의 비즈니스 소유자가 과거에 머문 기업을 밀어내고 그 자리를 차지하려 합니다.

사람이 곧 기술

과거 필자의 인생에 지대한 영향을 준 게임 개발자가 있습니다. 그가 말하길 게임은 모든 인류의 여흥, 엔터테인먼트의 마지막 단계라 이야기 했습니다. 돈과 시간과 장소에 구애받는 즐길거리는 최종적으로 게임으로 만들어지고 누구나 비슷한 경험으로 간접적으로 경험하고 즐거움을 느낄 수 있습니다. 이 글을 읽는 독자들도 끄덕일 수 있는 실제적 상황이라고 보여집니다. 결국 사람들이 원하는 것이 무엇으로든 만들어지는것, 그리고 기술 또한 마치 사람의 사고방식을 구체화하여 나타납니다.

사람이 곧 기술 이라는 주제의 범주에서, 여기서는 AI를 말하기보다는 MSA(마이크로 서비스 아키텍쳐)를 그 예로 들고자 합니다. 과거 근무했던 게임사의 사장이 말하길 직원을 두는 이유는 본인이 그 일까지 하기엔 다른 더 중요한 일을 할 시간이 모자르기 때문이라 했던가. 뛰어난 한 사람이 모든일을 도맡아 하기도 하지만(모놀리식 애플리케이션) 점차 일이 많아지고 업무가 가중되면 각각의 일을 여러사람이 분산해서 그 조직의 목표를 위해 마치 하나처럼 동작하게 됩니다. 그 조직의 주 업이 솔루션 개발이라면 주로 대부분의 조직원은 개발하는데 힘을 쏟겠지만 누군가는 인사, 회계, 영업 등의 일을 대신합니다. 사업의 규모에 따라 각각의 조직원은 그 수가 늘어날 수도, 또는 새로운 역할을 담당하는 사람이 추가되기도 하며, 때로는 줄어들기도합니다. 애플리케이션의 개발 방식, 아키텍쳐는 마치 뛰어난 한사람의 누군가가 더 나은 방법을 구상하여 앞으로의 미래의 방법과 형태를 제시하는 것으로 보여지지만 조금만 더 들여다 보면 결국 기술이 지원하는 한 얼마나 더 사람의 생각과 사람들의 일하는 방식에 더 까까울 수 있는가로 정의 되는 것으로 바라볼 수 있습니다.

피닉스+이뮤터블 인프라

최근의 인프라 환경을 이야기 하면서 피닉스 패턴과 이뮤터블 인프라가 화자되는 경우가 종종 발생합니다. 클라우드 환경이 대두되고 여기에 맞는 운영 방식이 요구되어 이런 방식을 추천하는 것일 수도 있지만 조금 바꿔 생각해보면 앞서 ‘창의적’ 특성을 인프라에게도 부여한다면 마치 레고블럭처럼 필요에 따라 쉽게 합치고, 생성하고, 개선하고, 바꾸고, 때로는 모두 분해하거나 없애도 괜찮은 인프라가 시대가 원하는 모습일 수도 있고, 기술이 그만큼 뒷받침해주는 상황이 도래했다는 것으로 해석하는 것도 가능하지 않을까요? 클라우드 환경이기 때문이 아니라 이제는 인프라가 현재의 프라이빗 데이터센터건 퍼블릭 클라우드 환경이건 IT가 곧 비즈니스의 주 요소로 참여하여 새로운 시대적 흐름에 적응하기 위한 동작이나 툴이 필요하다는 것을 해석 될 수도 있습니다. 얼마전 HashiCorp의 커뮤니티 이벤트인 [HashiTalk: 대한민국]에서 beNX의 DevOps 아티스트 송주영님이 그토록 강하게 부르짖은 것은 IaC(Infrastructure as Code)는 더이상 검토해야할 사항이 아닌 필수라는 것이였습니다.

[HashiTalk: Korea] DevOps Art Project — by Juyoung Song at beNX

단순히 UI나 일반적인 CLI 커맨드를 통한 인프라 운영 방식은 잦은 변경과 요구사항을 만족시킬 수 없으며 이는 결국 변화를 적극적으로 수용 할 수 없는 결과를 초래합니다. 이미 세계적으로 인프라 프로비저닝을 위한 IaC 도구의 표준과도 같은 Terraform과, 이 외에도 Ansible, Chef등을 적극 활용하여 언제든 새로움을 융합 가능한 상태를 준비하는 적극적인 자세가 필요합니다. Terraform을 기업용으로 제공하는 HashiCorp에서는 이같은 IaC를 인프라의 자산화라 표현합니다. 이전의 단순히 문서나 스크립트, 특히 사람에 대한 의존도가 높은 인프라 작업과 관리의 수준을 표준화하고 코드 형태로 보관하여 최종적으로는 일관된 인프라 프로비저닝 수준을 갖추는 상태를 추구합니다.

자동화를 넘어 오케스트레이션

그리 멀지 않은 과거에 우리는 자동화를 IT 인프라 환경의 주요 목표 중 하나로 삼았습니다. 레드햇에서는 디지털 트렌스포메이션을 위한 다섯가지 요소로 IT 최적화, 빠른 통합, 하이브리트 클라우드 인프라, 클라우드 네이티브 애플리케이션, IT 자동화와 관리를 뽑는습니다.

https://www.redhat.com/ko/topics/digital-transformation/what-is-digital-transformation

그중 IT 자동화는 확장성을 위한 것으로 시시각각 변하여 요구되는 인프라의 동적인 변화와 관리로 필요에 따라 늘어나고 줄어드는 요소입니다. 가장 최신의 애플리케이션 서비스를 위한 런타임 환경은 컨테이너, 그리고 이런 컨테이너를 오케스트레이션 하는 것으로는 대표적으로 쿠버네티스 환경을 이야기해 볼 수 있습니다. 오케스트레이션은 자동화를 넘어 단순히 어떤 상태를 만드는 행위에 그치지 않고 실행되는 환경의 변화에 따라 동적으로 조정되며, 기존의 자동화된 환경을 조합하는 다양한 프로세스를 의미합니다. 이 대상은 인프라 뿐만아니라 네트워크나 애플리케이션 배포의 영역, 그리고 보안관리까지 확장되어 이미 각각을 제공하는 툴들이 존재하고, 발빠른 기업들은 단순히 기존 인프라의 클라우드 이전 전략을 넘어 순간순간마다 적절히 조정되고 관리되는 영역으로 발전하였습니다. 앞서 HashiCorp의 Terraform이 인프라 프로비저닝을 위한 도구로 소개되었지만 네트워그, 배포, 보안의 오케스트레이션을 위한 Consul, Nomad, Vault의 각각의 사용 사례를 참고해 보는 것도 앞으로의 프라이빗과 퍼블릭 환경에 요구되는 동적인 요구에 따른 생성, 업데이트, 삭제의 전체적인 프로세스를 설계하는데 참고가 될만 합니다.

DevOps를 말할때 종종 당연스레 언급되는 문화 중 하나가 “실수의 인정”입니다. 하지만 그 실수가 우리 조직의 존폐의 기로에 놓이게 한다면? 수많은 고객의 데이터가 유출되는 것도 실수로 여길 수 있을까요? 누구도 실 운영중인 서비스에서의 ‘실수’를 원하지 않을 겁니다. 그래서 DevOps의 일반적인 프로세스엔 언제나 개발계, 스테이지, CI/CD/CT가 언급된다. 이는 그 실수라는 행위를 미리 경험적으로 겪어보고 실제로는 발생하지 않도록 하는 것에 목표를 두고 실제 운영환경에서 발생했다 하더라고 이미 숙련된 작업자기 쉽게 그 상황을 극복하게 하는 데에 있습니다. 아마존에서도 이야기하는 “Fail fast, Fail often” 실상 Agile의 전략인 ‘실행하고(do), 빨리 실패해보고(fail fast), 그리고 무엇을 어떻게 개선해야 할지 알게 되고(learn), 다시 시도해보는(redo)’행위 중 하나의 과정입니다. 해보지 않고는 그 결과를 알 수 없는 상황에서 단순히 예측을 넘어, 자동화와 오케스트레이션이 뒷받침해준다면 언제든 우리는 쉽게 Do(실행) 할 수 있는 자신감을 갖을 수 있습니다.

우리의 의지가 아닌 상황의 변화로 거의 반강제적인, 하지만 필연적인 디지털 혁신의 파도에 올라탔습니다. 신흥 강자와 갑자기 커진 언택트 비즈니스가 비단 순간의 현상이라고만 볼 수 없는 것은 이미 우리가 이런 미래가 올 것으로 어느정도 예상 했기 때문입니다. 다만 준비가 되어있지 않았을 뿐, 사람들의 삶이 변했 듯 비즈니스와 이를 뒷받침하는 ‘인프라’라는 환경이 새로운 요구와 시장에 맞춰 변할 수 밖에 없는 상황에서 새로움을 받아들이고 재해석하여 발현된 그 융합의 결과 중 누가 다시금 현 시대의 ‘표준’ 기술이라 칭함을 받을지 심히 기대됩니다.

--

--