Event

Red Hat Forum Seoul 2017 Recap

  • 22 janvier 2018
여행사 Destinasia, 이렇게 디지털 혁신을 이뤘다

여기 데스티나시아(Destinasia)라는 여행사가 있다. 세계 곳곳의 여행상품을 예약할 수 있는 오프라인 지점들을 가지고 있으며, 인터넷을 통해서도 항공권, 호텔, 렌터카 등을 예약할 수 있는 다양한 서비스를 제공한다.

그런데 이 회사 서비스에는 문제점이 하나 있다. 고객들은 항공기 예약이 끝난 후 호텔을 예약하고, 호텔 예약이 끝난 후 렌터카 예약을 할 수 있었다. 고객은 하나의 웹사이트에서 진행하지만 백엔드에는 각각 항공기, 호텔, 렌터카 예약 시스템이 별도로 존재하기 때문이었다.

이런 문제를 해결하기 위해 경영진은 레드햇에 조언을 구했다. 레드햇과 함께 ‘오픈 이노베이션 랩(Open Innovation Labs)’을 구성해 해결책을 찾아나섰다. 보통 이런 프로젝트를 진행하면 수개월 이상이 걸려 새로운 시스템을 만들게 마련이다.

그런데 데스티나시아는 ‘오픈 이노베이션 랩’을 설립하고 2주만에 실제 작동하는 프로토타입을 만들었다. 항공기, 호텔, 렌터카를 동시에 예약할 수 있는 모바일 애플리케이션을 개발한 것이다.

이같은 일이 가능했던 것은 ‘컨테이너’ 기술 덕분이다. 컨테이너는 가상화 기술의 일종으로, 하나의 OS 위에서 여러 개의 애플리케이션을 실행하는 기술이다. 기존의 가상머신 기술과 달리 하이퍼바이저나 게스트OS 없이 호스트OS 위에서 직접 구동되는 것이 특징이다. 여러개의 컨테이너가 하나의 호스트 머신에서 돌아갈 수 있도록 각 컨테이너는 자신만의 격리된 유저 공간을 가지고 있다.

데스티나시아는 레드햇 오픈시프트 컨테이너 플랫폼(Red Hat OpenShift Container Platform)을 사용해 각 여행 시스템을 컨테이너에 담았다. 그리고 레드햇 제이보스 인테그레이션 플랫폼으로 통합했다. 덕분에 고객들은 한 번에 3개의 시스템에 나눠져 있는 예약 기능을 한 번에 이용할 수 있게 됐다. 항공권, 호텔, 렌터카는 각각의 시스템에 있고, 다른 언어로 작성된 애플리케이션이지만 동일한 프로토콜과 데이터 포맷을 사용해 통신할 수 있게 됐다. 비유하자면 전세계인이 모두 하나의 언어로 이야기할 수 있게 된 것이다.

항공권, 호텔, 렌터카 예약을 동시에 할 수 있는 환경이 구현되자 데스티나시아는 또 새로운 요구를 해왔다.

데스티나시아 경영진이 해온 또 다른 요구는 호텔에 장기투숙하는 고객의 항공권을 할인해주는 프로그램을 만들어달라는 것이었다. 이런 프로모션은 계절에 따라 수요에 따라 그때그때 달라져야 한다. 할인 프로그램이 없어도 고객이 넘친다면 굳이 그런 프로그램을 돌릴 필요가 없기 때문이다.

데스티나시아 IT팀은 경영진의 요구에 따라 일일이 코딩을 하는 것은 비효율적이라고 생각했다. 계절마다 바뀌는 할인프로그램 때문에 계절마나 애플리케이션을 코드를 바꿀 수는 없기 때문이다. 이 문제 해결을 위해 비즈니스 룰 관리 시스템을 애플리케이션 아키텍처의 일부로 통합했다. 현업 담당자가 직접 비즈니스 룰을 작성할 수 있도록 기능을 외부화했다.

이같은 변화는 IT인프라에 확장성과 유연성을 가져왔다.

데스티나시아는 과거 중국 춘절에 쏟아지는 여행객  때문에 갑자기 서버 50대를 늘려야 했던 적이 있다. 서버가 급하게 필요했지만, 실제 구축하는데까지 6주가 소요됐다.

그러나 분산형 컨테이너 아키텍처로 변경하면서 데스티나시아는 데이터와 룰, 비즈니스 로직을 모두 분리할 수 있게 됐다. AWS(Amazon Web Service), 마이크로소프트 애저, 구글 클라우드 플랫폼과 같은 퍼블릭 클라우드에 데이터와 애플리케이션, 비즈니스 룰을 분산해서 배치할 수도 있다.

각기 다른 퍼블릭 클라우드에 있는 가상머신과 컨테이너 등을 한 번에 관리할 필요가 있다. 데스티나시아는 이를 위해 레드햇의 클라우드폼즈라는 관리 플랫폼을 도입했다. 가상머신, 컨테이너가 어디에 있는 원할 때 켜고 끌 수 있다.

데스티나시아가 IT시스템을 이와같이 변경한 것은 단순히 IT부서의 효율성이 올라간 것에 그치지 않았다. 데스티나시아는 여행사지만, IT 인프라를 판매하기 시작했다.

데스티나시아의 가장 큰 경쟁사는 AIRCNC다. AIRCNC는 데스티나시아가 확보하지 못한 숙박업소를 고객에게 제공한다. 그들은 숙박 시장에서는 많은 성공을 거뒀다. 그러나 AIRCNC는 렌터카 예약 서비스는 제공하지 않는다. AIRCNC도 언젠가 렌터카 서비스를 할 수는 있겠지만, 너무 많은 투자가 필요하기 때문에 당장 할 수 있는 일은 아니다.

데스티나시아는 Red Hat의 API(Application Programing Interface) 관리 기술을 활용해 AIRCNC에 렌터카 예약 시스템을 API로 제공하기로 했다. 데스티나시아가 확보하지 못한 호텔을 예약한 고객에게도 렌터카 서비스를 판매할 수 있게 된 것이다. 즉 데스티나시아는 AIRCNC에 IT서비스를 판매해서 수익을 거두게 됐다. 최근 경영자들의 최고 관심사로 떠오른 디지털 트랜스포메이션의 한 모습이다.

데스티나시아에는 해결해야할 문제가 또 있다. 포인트 관리가 그것이다. 데스티나시아에는 오픈시프트를 활용해 블록체인을 도입했다. 멤버십 포인트를 ‘데스티나시아 달러’라는 암호화화폐로 제공하는 것이다. 데스티나시아 달러는 송금도 가능하고, 다양한 프로그램으로 교환도 가능하다. 데스티나시아에 대한 고객 로열티는 더욱 강화됐다. 멤버십 포인트를 쌓아봐야 쓸모가 없는 경우가 많은데, 데스티나시아 달러는 비트코인이나 다른 암호화 화폐처럼 거래할 수 있다.

데스티나시아는 이런 디지털 혁신과 디지털 트랜스포메이션으로 여행 업계의 선두주자로 발돋움할 기회를 얻게 됐다.

* 위 내용은 Red Hat Forum Seoul 2017 에서 진행한 데모로 가상의 시나리오를 바탕으로 이루어졌습니다.

출처 : 바이라인네트워크

반복적인 일은 IT에 맡기고, 당신은 혁신과 가치에 집중하라

 아마 IT가 가져다주는 첫 번째 가치가 이런 것일 것이다. 불필요한 반복적인 노동을 자동화 함으로써 기업의 임직원이 비즈니스 본질에 천착할 수 있도록 하는 것 말이다.

이런 자동화의 가치는 IT스스로에게도 통용되는 것이다. IT부서의 업무에도 IT가 제공하는 자동화의 가치가 필요하다. 반복적인 일은 자동화 시키고, IT관리자들이 좀더 혁신적인 서비스에 집중할 수 있도록 할 필요가 있다.

그런데 중이 제 머리 못 깎는다고 했던가. 의외로 IT운용관리는 노동집약적으로 진행되는 경우가 많다. 수정된 애플리케이션 하나 배포하려고 수십 대의 서버에 접속해 일일이 셸 스크립트로 작업하는 경우가 많았다. 비즈니스가 급한 현업 담당자는 애플리케이션 배포를 기다리며 속을 태워야 했다.

물론 이런 문제를 해결하기 위한 도구들이 많이 있다. 퍼핏, 셰프, 솔트스택 등이 대표적이다. 이런 도구들은 자체적인 언어를 통해 시스템을 구성이나 관리, 애플리케이션 배포 등을 자동화 할 수 있는 기능을 제공한다. 그러나 이런 도구들은 배우기 어렵고, 복잡하며, 비싸서 IT관리자들에게 가깝게 다가가지 못했다.

이 가운데 최근 뜨겁게 떠오르는 오픈소스소프트웨어(OSS) 기반의 자동화 도구가 있다. 앤서블(Ansibl)이 주인공이다. 애플리케이션, 시스템, 가상머신, 클라우드, 네트워크 장비 등의 구성관리를 자동화하는 역할을 한다.

앤서블은 마이클 데한(Michael DeHaan)이라는 개발자가 만들어 소스코드를 공개한 오픈소스 소프트웨어다. 깃허브의 인기척도인 ‘스타(일종의 즐겨찾기)’를 2만1000개 받았고, 한 달에 앤서블을 다운로드 하는 사람도 40만 명에 달한다. 앤서블이 급속도로 인기를 끌자 오픈소스 업계의 큰 손인 레드햇이 지난 2015년 인수했다.

앤서블은 모듈 하나하나가 기능인 것이 특징이다. 현재 950개의 모듈이 있는데, 950개의 기능이 있다는 것을 의미한다. 기능이 많아진다는 것은 앤서블이 프레임워크 언어가 되고 있다는 것을 의미하며, 역할이 무궁무진해진다는 것을 내포한다.

앤서블은 ‘플레이북’이라는 이라는 곳에 실행할 구성을 선언해 놓으면, 필요할 때마다 자동으로 실행시킬 수 있는 것이 특징이다. 웹서버는 어떻게 구성하고, DB 서버는 어떻게 구성할 지 선언해 놓으면 관리자들은 필요할 때마다 그대로 프로비저닝할 수 있다. 애플리케이션 패치를 잘못해서 다시 롤백 하고자 할 때도 앤서블을 이용하면 쉽게 원하는 시점으로 되돌릴 수 있다.

각 운영체제, 하이퍼바이저, 클라우드 프로바이더, 로드밸런스, 네트워크 장비 등 플랫폼에 구애 받지 않는다는 점도 특징이다. 다른 외부 서비스와의 연동도 가능하다. 예를 들러 함께 일하는 팀원들과 슬랭에 방이 있다면, 앤서블의 활동을 슬랙방에 자동으로 공유할 수 있다.

한국레드햇 김용기 부장은 앤서블의 특징으로 “단순함, 파워풀, 에이전트 불필요”를 꼽았다. 장 부장은 “앤서블은 플레이북에 한 번 선언하면 지속적으로 작업을 실행할 수 있고, 프로비저닝과 구성관리를 한번에 할 수 있으며, 중앙서버에서 명령 실행하는 것을 SSH로 밀어주기 때문에 에이전트도 필요 없다”면서 “배우기 쉽고 복잡하지 않은 것이 앤서블의 가장 큰 장점”이라고 말했다.

 

                                                                                 

레드햇은 오픈소스인 앤서블에 기능과 서비스를 덧붙여 ‘엔서블 타워’라는 엔터프라이즈용 소프트웨어를 만들었다. 대규모 시스템을 운영하는 엔터프라이즈급에서도 안전하게 오픈소스를 사용할 수 있도록 제공하는 것이다.

앤서블 타워는 가장 큰 특징은 그래픽 기반의 사용자환경(GUI)를 제공하며, REST API를 지원한다는 점이다. 직원별로 권한을 달리 부여해 초보 이용자가 대규모 시스템에 영향을 주는 플레이북을 작성하지 못하게 할 수도 있다.

미국의 의류 및 악세사리 소매 기업인 제이크루는 앤서블 타워의 셀프서비스 기능을 활용해서 IT관리자 6명이 5시간 동안 하던 일을 5분으로 단축했다고 한다. 새로운 옷이나 신발을 출시할 때 기존보다 훨씬 빠르게 진행할 수 있다. 제이크루는 기존에 새로운 서비스를 2주마다 출시했는데, 앤서블 타워 도입 이후 이틀만으로 줄었다고 전했다.

스타벅스도 지난 해 네트워크 자동화 솔루션을 모두 앤서블로 바꾸겠다는 계획을 발표한 바 있다.

김 부장은 “자동화는 사람의 실수를 줄이고, 승인 등에 드는 시간을 감소시킨다”면서 “자동화를 통해 앱 배포 시간이 빨라질수록 기업은 고객과 빨리 만날 수 있고, 이는 수익으로 이어진다”고 말했다.

그는 “셸 스크립트 복사해서 붙여넣기하며 시간을 낭비했던 일들은 이제 자동화 솔루션에 맡기고 엔지니어는 표준화 등 좀더 생산적인 일에 시간을 쏟아야한다”고 덧붙였다.

출처 : 바이라인네트워크

"디지털 다위니즘"에 대처하기 위한 개발자의 여섯 계단

디지털 다위니즘(Digital Darwinism)이라는 말이 있다. 진화하면서 환경에 적응한 생물만 살아남는다는 진화론(다위니즘)을 기업 경영에 차용한 말로, 4차 산업혁명 시대에는 일반 기업들도 디지털 기업으로 진화해야 생존할 수 있다는 의미다.

디지털 다위니즘에 대처하기 위해서는 모든 비즈니스에 반드시 기술이 필요하다. 현재 전세계 비즈니스를 이끌고 있는 글로벌 기업들은 디지털 기술을 가장 잘 활용하고 있는 회사라고 봐도 무방할 정도다. GE가 스스로 소프트웨어 기업이라고 천명하고,  스타벅스가 디지털기업이라고 이야기하는 것이 대표적인 사례다.

디지털 다위니즘을 실현하는 직군은 개발자다. 개발자의 역량이 기업의 핵심역량이 된 것이다. 디지털 다위니즘이 가속화 될 수록 개발자들은 더 많은 업무 책임을 지게 된다.  모바일이 발달하면서, 이전에는 석 달에 한 번 업그레이드 하던 애플리케이션을 이제는 모바일 전용으로 매달 내놓아야 하는 세상이다.

한국레드햇 오세영 부장은 레드햇 포럼에서 ‘디지털 다위니즘’에 대처하기 위해 필요한 개발자와 IT부서의 진화를 6단계로 설명했다.

오 부장은 “델타 항공, CNN뉴스, 코카콜라 등 수십년간 경쟁해서 살아남은 이유는 변화하는 IT 기술과 고객 트렌드를 순응하고 변화에 따른 (도태 위험을) 극복해가지고 지금 같은 회사가 된 것”이라며 “소프트웨어가 세상을 잡아 먹고 있다고 하는데, 개발하는 사람이 (여기에) 어떻게 영향을 끼칠 수 있을지를 살펴봐야 한다”고 말했다.

                                                                            

첫 단계는 ‘데브옵스’다. 데브옵스는 소프트웨어 개발(dev)과 운영(ops)의 합성어로 개발자와 운영자 간 소통, 협업 및 통합을 강조하는 개발 환경과 문화를 말한다. 조직이 가진 체계, 의사소통 스킬, 조직원의 일하는 방식과 프로세스가 가장 중요하다.

데브옵스를 하기 위해선 조직이 어떻게 일하고 소통하는지를 먼저 분석해야 한다. 아마존, 페이스북, 레드햇 같은 기업들이 데브옵스를 한다고 해서 무조건 벤치마킹을 한다면 그것은 잘못된 단추를 끼우는 것이라고 오 부장은 설명했다.

오 부장은 “레거시 시스템은 회사가 일하는 방식을 그대로 따다가 만들어 놓은 것이기 때문에 그걸 먼저 잘 살펴야 한다”면서 “데브옵스라고 해서 갑자기 사원이 바로 대표한테 결제를 받는 방식이 받아들여지겠는가? 그건 안되는 일”이라고 말했다.

그렇다면 데브옵스 단계에서 개발자가 할 일은 무엇일까? 각 조직에 있는 모든 이들이 모여 토의하고 각 조직에 맞는 커뮤니케이션 방법과 프로세스, 이를 도울 수 있는 도구(Tool)이 무엇이지 고민해야 한다. 흔히 말하는 ‘슈퍼개발자’는 커뮤니케이션을 잘 해야 한다는 것이 오 부장의 주장이다. 그는 “예전처럼 단순한 애플리케이션을 만들 때는 개발자가 혼자서도 일을 잘 할 수 있었다”면서 “그러나 클라우드, 머신러닝, 딥러닝처럼 복잡한 기술이 나오면서 여러 사람이 모여서 일을 하는 경우가 많아지는 만큼 커뮤니케이션 능력은 선택이 아니라 필수”라고 말했다.

두번째 단계는 ‘셀프서비스, 주문형, 유연한 인프라(slef- service, on-demanded, elastic infrastructure)’다. 흔히들 셀프서비스라고 할 때 가장 먼저 떠올리는 것이 아마존웹서비스(AWS)나 레드햇의 PaaS 클라우드다. 아이디 로그인 후 몇 번의 클릭만으로 원하는 일을 혼자 곧바로 할 수 있는 환경이 구축됐다. 과거에는 개발 그룹이 작업에 앞서 가상서버를 만들고 사내에 있는 프로세스를 그 위에 얹은 후 자원을 받고 이메일로 접속 정보를 받아야 하는 등 절차가 복잡했다. 그마저도 결제하는 이가 장기 부재일 경우엔 업무 지연이 상당했다. 그런데 지금은 요청 없이 나 혼자 어떤 일이든 가능하다. 이런 게 셀프 서비스라는 설명이다.

오 부장은 개발자들이 이런 환경 변화에 보다 적극적으로 임해야 한다고 주문한다. 조직계통이 바뀌고 의사 소통 구조가 바뀌면서 개발자의 역량이 커진 만큼, 개발자가 인프라 환경 변화에 책임을 지지 않으려고 회피하지 말아야 한다는 것이다.

셋째는 자동화(automation)다.  그 시작은 표준화다. 표준화된 것을 자동화로 바꾸기 위해 적절한 툴을 사용하는 것이 중요하다. 오 부장은 “(자동화에)가장 큰 영향을 준 것이 컨테이너 패키징 기술”이라며 “도커(Docker)라는 패키징 기술이 선보였고, 클라우드 환경과 확장성이 있는 리눅스 기반의 새로운 컨테이너 기술이 나오면서 자동화를 쉽게 만들어줬다”고 설명했다.

자동화는 특히  최근 업무 환경이 복잡하고 규모가 커지면서 더더욱 중요해진 부분이다. 기업에서 이용하는 서버가 수천, 수만 대로 많아지고 그 위치도 어떤 것은 AWS같은 클라우드에, 또다른건 데이터센터 등 복잡하다. 이런 과정에서 복잡한 것을 간소화시키고 휴먼에러를 최소화 시키기 위한 것이 자동화라는 것이다.

네번째는 CI&CD(Continuous integration and continuous deployment)다. CI는 신규 기능 개발이나 소스 커밋을 하는 사이에 자동화된 테스트가 진행되는 것을 말한다. 원하는 환경에 배포되기 전까지, CI는 하루 수백번, 수천번도 일어날 수있다. CD는 스테이징 환경 혹은 운영환경까지 소스 커밋된 결과를 배포하는 것이다. 스테이징 환경CI와 CD를 통해 개발 과정과 배포 단계 사이의 일을 테스트하고 모니터링할 수 있다.

CI와 CD를 통해가장 중요한 것은 운영단계에 나가지 말아야 할 것을 사전에 디텍팅하는 기능이다. 기능 테스트는 기본이고 성능이나 보안에서 걸리는 것이 있으면 파이프라인을 통해 그 중간에서 딱 정지가 되게 만들어야 한다. 이것이 잠재적인 해커의 위협을 미리 막는 것이 된다.

다섯번째는 어드밴스드 디플로이먼트 테크닉스(Advanced Deployment Techniques)다. 빠르면서도 안전해야 한다는 얘기다. 오 부장은 하트블리드의 예를 들었다. 2014년에 발견된 버그임에도 불구하고 아직까지 수많은 기업이 엔터프라이즈 환경에서 이에 대한 패치를 해놓지 않았다는 것이다. 이유는 간단하다. 해당 기업들이 아직 해킹 사계가 없거나, 혹은 사내 보안팀이 하트블리드를 모르기 때문이다. 소 잃고 외양간을 고치지 않기 위해서는 CI&CD 기반의 빠르고 안전한 기술 도입이 필요하다고 오 부장은 강조했다.

마지막으로 마이크로서비스다. 개발만 빨리 하는게 중요한 것이 아니라 최종적으로는 운영까지 얼마나 시간을 단축할 수 있느냐 하는 것이 중요하다. 빠른 속도를 위해서는 카나리아(canary)라는 배포 방식을 살펴볼 필요가 있다. 카나리아 배포방식은 수십년전 광부들이 탄광에서 일산화탄소 확인을 위해 카나리아라는 새를 이용한 것에서 유래됐다. 소프트웨어를 개발해서 프로덕션 단계에서 일부에 배포한 다음, 오류가 있다면 재빨리 알아내 심각한 장애를 막겠다는 콘셉트다.

오 부장은 “소프트웨어 배포에 있어 기간 단축이 그 비즈니스를 성장시킬 수 있는지에 대해서 개발자든 운영자든 최선에 대해 고민을 해야 한다”고 말했다. 소프트웨어 배포 단축에 가장 적절한 기간이라는 것은 없어졌다는 취지다.

출처 : 바이라인네트워크