'도커 이전과 도커 이후' 세상이 확연히 달라진 이유
2021.11.18.
ⓒITWorld / Scott McCarty | InfoWorld
2013년 도커는 화제의 ‘바로 그’ 회사였다. 컨테이너가 주류로 부상하는 데에 결정적 역할을 하면서 신문 1면을 장식했고, 많은 분야에서 PaaS를 밀어내고 당대 최고의 인기 기술로 자리잡았다(헤로쿠(Heroku)를 기억하는 사람이 지금도 있을까?). 그리고 이제 도커는 유료 요금제 방식의 도커 데스크톱(Docker Desktop) 모델로 다시 언론의 주목을 받고 있다. 이번 발표에 대한 격렬한 반응을 보면, 도커로 인해 현재 널리 사용되는 주류 모델인 컨테이너의 인기가 얼마나 높아질 수 있었는지 다시금 상기하게 된다.
도커는 컨테이너를 발명한 곳이 아니라, 오픈소스 도구와 재사용 가능한 이미지로 컨테이너 기술의 접근성을 높인 회사다. 도커를 사용하면 개발자는 소프트웨어를 한 번만 만들어서 로컬 또는 프로덕션 서버에서 실행할 수 있다.
도커 명령줄 도구가 몇 년 동안 사용된 화려한 웹 인터페이스를 밀어냈다는 사실은 개발자가 진정으로 원하는 것이 무엇인지를 잘 보여주는 사례일 것이다. 그러나 도커가 미친 영향을 제대로 이해하기 위해서는 도커 컨테이너 기술이 등장하기 직전의 상황을 되짚어보는 것이 중요하다.
그 다음 혁신에 대한 갈증
2009년은 가상화에서 얻는 가치가 널리 인식되고, 구현도 폭넓게 이루어진 시기다. 대다수 조직이 이미 가상화의 혜택을 얻었거나 그런 수준에 이르기 위한 로드맵을 두고 있었다. 가상화 이야기를 질리도록 들은 사람들은 IT와 소프트웨어 개발의 다음 혁신에 목말라 있었다. 그때 등장한 것이 헤로쿠다. 일반적인 PaaS와 헤로쿠는 큰 인기를 얻었다. 마치 PaaS가 세상을 정복할 듯한 분위기였다.
당시 헤로쿠는 대단했다. 헤로쿠 포털에서 앱을 개발하고 바로 서비스로 제공한다? 그걸 마다할 이유가 있을까? 헤로쿠에서 앱을 개발하지 않을 이유는 전혀 없는 것만 같았다.
그런데 시간이 지나고 보니, 헤로쿠 같은 PaaS 플랫폼을 사용하지 않을 만한 이유가 몇 가지 있었다. 예를 들어 헤로쿠에서 구축된 애플리케이션은 이식이 불가능해서 헤로쿠 안에서만 사용할 수 있었다. 개발자가 협업을 원할 경우, 원격으로 PaaS 플랫폼에서 작업해야 했다. 넷플릭스와 달리 개발자는 주로 로컬 개발을 선호하는 편이다. 개인 로컬 박스에서 작업하기를 원하는 개발자는 스스로, 수동으로 환경을 구축해야 했다.
또한 헤로쿠 모델은 기본적으로 제공되는 수준에서 사용할 때는 매우 강력했지만 그 기반이 복잡했기 때문에, 간단한 웹 앱 이상의 복잡한 것을 만들거나 보안 또는 성능상의 이유로 인프라를 맞춤 구성하려면 현실적으로 어려운 엔지니어링 문제로 발전했다.
문제가 드러나기 전까지는 모든 것이 좋았다. 그러나 IT에서 흔히 볼 수 있듯, 헤로쿠가 쓰일 만한 곳도 분명 있지만, 그렇다고 헤로쿠가 모든 작업을 위한 만능 툴을 아니라는 사실을 인지하기도 전에 많은 사람이 헤로쿠에 ‘올인’했다.
도커가 보여준 차이
반면, 컨테이너는 PaaS의 문제 대부분을 해결했고, 도커를 통해 개발자와 IT 관리자, 비즈니스 관리자는 그 사실을 볼 수 있었다. 실제로 도커가 처음 등장할 당시애도 그 가치는 너무나 명확했다. 헤로쿠에서 하기 어려웠던 모든 일이 도커에서는 쉬웠고, 헤로쿠에서 쉬웠던 모든 일은 도커에서도 쉬웠다. 도커를 사용하면 사전에 만들어진 서비스를 쉽고 빠르게 실행할 수 있었고, 로컬에서도 손쉽게 개발이 가능했으며 필요하면 서비스를 맞춤 구성할 수 있었다.
도커가 유달리 화려했던 것도 아니다. 사실 도커는 1970년대 유닉스에서 인기를 얻은 UX를 재활용했다. 도커는 리눅스 터미널에서 실행되는 명령일 뿐이었고, 대부분의 PaaS 플랫폼이 자랑했던 멋진 그래픽 인터페이스와는 완전히 달랐다. 그러나 도커 명령줄 인터페이스(CLI)는 아주 명쾌했다. 필자는 도커 CLI가 CLI 개발에 현대적 UX 감각을 더하면 세상을 바꿀 수 있다는 것을 모두에게 보여주었다고 생각한다.
도커, 그리고 전반적인 컨테이너는 클라우드 네이티브 애플리케이션 개발을 위한 기반 기술을 제공했다. 그때도 잘 작동했고, 지금의 새롭고 계속되는 고객의 개선 요구를 퇴행(버그, 보안 문제 등) 없이 충족할 때 필요한 데브옵스와 CI/CD(지속적 통합/지속적 배포) 모델 내의 고도로 분산된 아키텍처에서도 여전히 잘 작동한다.
(후략)
[원문 기사 : https://www.itworld.co.kr/news/215339 ]
※ 본 내용은 한국아이디지(주) (https://www.idg.co.kr/)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒ 2020 International Data Group. 무단전재 및 재배포 금지.
번호 | 제목 | 조회수 | 작성 |
---|---|---|---|
공지 | [Open UP 활용가이드] 공개SW 활용 및 개발, 창업, 교육 "Open UP을 활용하세요" | 316105 | 2020-10-27 |
공지 | [Open UP 소개] 공개SW 개발·공유·활용 원스톱 지원 Open UP이 함께합니다 | 305707 | 2020-10-27 |
9691 | 조달청 "우수 상용SW 공공 진입 지원" | 4121 | 2021-11-22 |
9690 | KETI, 제5회 모비우스 국제 개발자 대회 시상 | 3679 | 2021-11-22 |
9689 | 삼성전자, 오픈소스 통해 소프트웨어 강화 나서…‘3P’ 전략 | 4183 | 2021-11-22 |
9688 | 삼성·LG·카카오의 오픈소스 전략은?···2021년 공개SW 페스티벌 30일 열려 | 3998 | 2021-11-22 |
9687 | 깃허브 "코드 자동화와 재사용, 개발 생산성 증가" | 4548 | 2021-11-22 |
9686 | 타입스크립트 4.5 정식 출시··· “프로미스 개선 外” | 3729 | 2021-11-22 |
9685 | '도커 이전과 도커 이후' 세상이 확연히 달라진 이유 | 4820 | 2021-11-18 |
9684 | 삼성전자, 소프트웨어 개발자 콘퍼런스 실시…온라인 개최 | 4194 | 2021-11-18 |
9683 | “개발 생산성, 팬데믹 이전 수준으로 회복” 깃허브 2021 옥토버스 현황 보고서 | 4539 | 2021-11-18 |
9682 | '디노 1.16’ 출시··· JSX 변환 및 웹어셈블리 지원 개선 | 4084 | 2021-11-18 |
0개 댓글