[Spring Boot] 스프링 부트란?

말하는 감자·2022년 4월 8일
0
post-thumbnail

스프링 부트는 무엇일까?

“스프링 부트는 마치 스프링 개발자와 짝 프로그래밍을 하는 것 같은 느낌을 준다.” -조쉬 롱(Josh Long) @starbuxman

스프링 부트는 스프링 포트폴리오를 신속하게, 미리 정의된 방식으로, 이식성 있게, 실제 서비스 환경에 사용할 수 있도록 조립해놓은 것이다.

  • 신속성: 의존관계를 포함해서 애플리케이션의 여러 요소에 기반한 의사결정을 신속히 적용할 수 있게 해주므로 애플리케이션 개발 속도를 높이는 데 도움을 준다.

  • 미리 정의된 방식: 스프링 부트를 어떻게 사용할지 구성을 정해주면, 그 구성에 따른 가정을 통해 미리 정의된 방식으로 기본적인 설정값이 자동으로 지정된다. 이 기본 설정값은 여러 피드백을 거쳐 확립됐으며 커뮤니티에서도 널리 사용되고 있다.

  • 이식성: 사실상 자바의 표준 도구라고 할 수 있는 스프링 프레임워크 기반으로 만들어져 있어서, JDK가 있는 곳이라면 스프링 부트 애플리케이션은 어디에서나 실행될 수 있다. 특정한 인증을 받은 애플리케이션 서버나 특정 벤더 제품을 필요로 하지 않으므로, 스프링 부트를 사용해 애플리케이션을 만들고, 스프링 부트의 도구를 사용해 패키지를 만들면 어디든 배포해서 실행할 수 있다.

  • 실제 서비스 환경에 사용 가능: 스프링 부트는 의심할 바 없는 완성품이다. 아주 작은 부분에만 사용해야 한다는 제약도 물론 없으며 실제로도 정말로 광범위하게 사용되고 있다.

광범위하게 도입되고 검증된 강력한 스프링 부트를 사용하면 시스템을 빠르고 안정적으로 만들 수 있다.

실제 사용 사례

자바로 만들어진 가장 큰 서비스 중 하나인 넷플릭스(Netflix) 블로그 글(http://bit.ly/netflix-spring-boot)에서 그 사례를 찾아 볼 수 있다.

정식 번역X. 감자가 편한대로 해석했다. 밑줄도 감자 맘대로!
참고로 감자는 영어 못함...
😏

2015년에 Netflix OSS components를 결합하기 위해 Netflix 내부 솔루션을 대신해 스프링 부트를 사용하였다.

2018년에는 Netflix 자체도 핵심 자바 프레임워크로 스프링 부트를 사용했다는 점을 알 수 있다.

그렇다면 Netflix는 실리콘벨리의 날고 기는(?) 개발자들이 만들고 많은 투자를 한 내부 솔루션이 아닌 스프링 부트를 선택한 이유가 무엇일까?

2010년대 초 Netflix는 주요 요구 사항은 안정성, 확장성, 효율성과 보안이었는데 2018년에 Spring 제품이 모든 요구 사항을 충족하도록 진화 및 확장되었다.
스프링 부트를 활용하면 비즈니스 민첩성을 유지하면서 기업용으로 구축할 수 있었다.

또, 스프링 부트를 선택한 이유는 Netflix 혼자 결심한 것이 아니라 그동안 협력해온 Pivotal(스프링 부트 개발팀)이다.
Pivotal이 소통 능력과 업무 능력을 보고 Spring 생태계에 발전을 일으키겠다는 확신이 들었다.

📑 참고 자료

profile
나는 말하는 감자다

0개의 댓글