그러나 AI나 서버리스처럼 최근 지나치게 과장된 다른 인기 기술과 마찬가지로 컨테이너가 잘못 적용된 사례를 쉽게 목격할 수 있다. 다른 기술이 훨씬 편리하고 비용 효율적인데도 기업은 흔히 컨테이너를 선택하고 만다.
사실 적합하지 않은 기술을 선택하는 것은 수백만 달러를 내버리는 것이나 마찬가지일 만큼 잘못된 결정이다. 사실 이력서에 추가할 과대평가된 기술 전문가 점수를 좇는 것이나 다름 없다.
최근 부각된 컨테이너의 중요한 단점은 일명 ‘애플리케이션 현대화’ 프로젝트에서 컨테이너 개발이 과대 적용된다는 점, 그리고 기존 애플리케이션이 지나치게 컨테이너로 마이그레이션된다는 점이다. 컨테이너가 작동하지 않아서 문제라는 것이 아니다. 다른 기술과 비교할 때 효율성이 크게 떨어질 수 있다는 점이 문제다.
대다수 기업은 워크로드의 이동성이라는 장점을 선택한다. 목표로 하는 호스트 플랫폼에서 절대로 옮길 수 없을 것 같은 워크로드를 말한다. 또한 가장 중요한 것은 컨테이너가 제공하는 장점을 진정으로 활용하기 위해서는 대다수 인스턴스 내 애플리케이션을 완전히 재설계해야 한다는 것이다. 흔히들 이 점을 놓치곤 한다.
최근의 새로운 개발에서도 같은 문제가 발견된다. 거대 기업은 컨테이너 기반 개발과 배포를 활용한 애플리케이션을 설계할 때, 기존 방식보다 4배 더 많은 예산을 쓴다. 컨테이너 기반 애플리케이션은 스토리지나 연산 등 더 클라우드에 기반한 자원을 사용하기 때문에 운영할 때도 더 많은 비용이 든다. 보안과 거버넌스도 마찬가지다.
컨테이너를 평가할 때 필요한 핵심 기준 예시를 몇 가지 살펴 보자.
- 가치를 다시 비즈니스로 가져오는 것에 초점을 맞추자. 개발자와 엔지니어도 기업 운영에 신경을 써야 하지만 사실은 그렇지 않다. 과대평가된 기술에 반응하지는 말자.
- 이동성 같은 장점을 과장하지 말자. 실제로 쓸 일이 없을지도 모른다. 이동성을 달성하기 위해 2배, 4배의 비용이 든다면 과연 애플리케이션을 옮기자고 결정할까?
- 운영 비용을 이해하자. 컨테이너는 장기적으로 볼 때 운영에 더 많은 비용이 든다. 아예 컨테이너를 사용하지 말자는 것이 아니라, 오랜 기간 동안 컨테이너를 유지할 때 드는 실제 비용을 이해해야 한다는 뜻이다.
- 설계 면에서의 베스트 프랙티스를 참고하자. 컨테이너에서 효율을 높이려면 애플리케이션이 완전히 재설계되어야 할 때가 있다. 무언가를 컨테이너에 넣는다고 바로 효율성이 생기는 것은 아니다.
사실 컨테이너를 경계할 필요가 있다는 주장은 모든 기술을 바라볼 때 건전한 회의론이 필요하다는 점에서 의미가 있다. 컨테이너를 예로 들었지만 다른 기술도 얼마든지 똑 같은 예시가 될 수 있다. 기업에 돌아오는 진짜 가치와 이점을 잘 이해한다면 올바른 판단을 내리는 데 더 많은 도움이 될 것이다.
editor@itworld.co.kr