IT만큼 빠르게 변화하는 분야가 없습니다. 엔지니어가 개발 환경을 만들어 제공하면 사용자(주로 개발자)는 그에 맞는 도구를 모두 설치해야 했던 온프레미스(on-premises) 환경은 이제 고전적인 인프라 환경이 됐습니다. 이제는 돈을 넣으면 자판기에서 미리 준비된 상품이 나오듯 이미 구성된 환경을 사용자가 필요에 따라 선택하고 조합해서 사용할 수 있게 제공되는 서비스로서의 인프라 환경(IaaS, Infrastructure as a Service)이 됐습니다.
인프라 환경이 빠르게 갖춰지는 만큼 소프트웨어도 빠르게 개발하고 적용되길 고대했습니다. 그래서 대두된 개발 방법론이 애자일(agile)입니다. 기존 개발 방법론인 폭포수(waterfall) 방법론은 계획 단계에서 설계와 환경을 완전히 구비한 후 예정된 목표를 달성해 나가지만, 애자일은 일정 주기를 정한 다음에 해당 주기에 맞춰 요구 사항을 만족하는 프로토타입을 만들고 이를 개선해 나가며 최종 목표에 점진적으로 접근합니다.
이런 애자일 방법론의 시대에 맞춰 인프라는 또 한 번 변화하고 있습니다. 사용자가 요구하는 인프라를 즉각 제공하는 주요 기능은 유지하면서, 사용자마다 독립적인 환경에서 개발해도 모두 동일한 결과를 얻을 수 있고 개발된 소프트웨어의 성능을 보장하며 인프라의 가용 리소스를 최대한 확보할 수 있는 그런 인프라 환경으로 말입니다.
환영합니다! 지금부터 이런 요구 사항을 만족하는 새로운 컨테이너 인프라 환경을 알아보겠습니다.