반응형
Notice
Recent Posts
Recent Comments
관리 메뉴

개키우는개발자 : )

Containerless 본문

반응형

1. 컨테이너리스란?

  • 의미: "컨테이너리스"라는 용어는 단어 그대로 "컨테이너가 없는"이라는 뜻을 가지고 있습니다. 그렇다면 여기서 말하는 컨테이너가 무엇을 뜻할까요? 이 개념은 서버리스(Serverless) 아키텍처와 유사합니다​.
  • 서버리스와의 유사성: 서버리스 아키텍처는 개발자가 서버의 설치나 관리에 신경 쓰지 않고 애플리케이션 개발과 배포에 집중할 수 있게 하는 방식입니다. 이와 비슷하게, 컨테이너리스는 웹 애플리케이션의 컨테이너를 따로 관리하지 않아도 되도록 돕습니다​.

2. 컨테이너란 무엇인가?

  • 컨테이너의 역할: 전통적인 웹 애플리케이션에서 컨테이너는 웹 컴포넌트를 관리하고 동작시키는 역할을 합니다. 예를 들어, 서블릿 컨테이너는 자바 웹 애플리케이션에서 **서블릿(Servlet)**을 관리하고, 클라이언트로부터 들어온 요청을 처리할 서블릿을 지정해주는 역할을 합니다​.
  • 서블릿 컨테이너: 가장 유명한 서블릿 컨테이너는 Tomcat으로, 이 컨테이너는 여러 서블릿을 관리하고 요청을 처리하는 컴포넌트들을 제공합니다​.

3. 스프링과 컨테이너

  • 스프링 컨테이너: 스프링은 IoC 컨테이너를 통해 애플리케이션의 컴포넌트를 관리합니다. 스프링 컨테이너는 서블릿 컨테이너와 별개로, 애플리케이션의 로직을 처리하는 **빈(Bean)**을 관리하는 역할을 합니다. 즉, 스프링 애플리케이션의 비즈니스 로직을 처리하는 데 사용됩니다​.

4. 컨테이너리스의 의미

  • 완전히 컨테이너가 없는 것이 아니다: 컨테이너리스는 컨테이너가 아예 없는 것이 아니라, 서블릿 컨테이너의 설치나 관리 부담을 없애는 것을 의미합니다. 스프링 부트는 Tomcat과 같은 서블릿 컨테이너를 내부적으로 포함하고 있어, 따로 설정이나 관리가 필요 없습니다​.
  • 독립 실행형 애플리케이션: 스프링 부트는 이러한 서블릿 컨테이너를 자동으로 관리하며, 개발자는 이를 신경 쓰지 않고 바로 개발을 시작할 수 있습니다. 이를 **독립 실행형 애플리케이션(standalone application)**이라고 부르며, 개발자는 스프링 부트의 메인 메소드를 통해 애플리케이션을 시작할 수 있습니다​.

5. 결론

  • 컨테이너리스 개발 방식: 스프링 부트는 컨테이너를 따로 설정하지 않아도 자동으로 서블릿 컨테이너를 실행시키고 관리해줍니다. 이를 통해 개발자는 복잡한 설정이나 관리 작업 없이 빠르게 애플리케이션을 개발할 수 있습니다. 이는 전통적인 서블릿 기반의 애플리케이션과 비교했을 때, 개발 생산성을 크게 향상시키는 중요한 특징입니다​.
반응형
Comments