ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • State of Spring 2022
    2023. 3. 6. comments
    반응형

    얼마 전

    youtube를 보면서 시간을 보내다가 토비님의 영상을 보게 되었다.

    State of Spring 2022 내용에 대해 리뷰하는 내용이었는데, 꽤 재미있게 보기도 하였고 Spring 생태계에 대해서 이해할 수 있는 참고 자료이기도 하여 간략하게 리뷰를 해보려고 한다.

    State of series

    우선 State of Spring은 VMware 회사에서 설문조사를 진행하고 정리한 통계 발표 자료이다. 사실 VMware의 자료는 처음 접한 상태였는데 구글링을 해보니 State of Kubernetes, State of observability등 다양한 시리즈가 있었다. 이 글의 첨부된 이미지들은 모두 State of Spring 2022 pdf에 포함된 내용들이다.

    Demographics

    설문조사의 49%가 유럽 그리고 26%가 미국이다. 인도, 아시아, 호주등 다양한 국적이 포함되어 있지만 상당히 많은 부분 미국과 유럽 사람들의 설문 결과가 포함되어 있다는 것을 감안해야 한다.

    (사용하는 사람들에게는) Spring은 여전히 강력한 도구이다.

    Almost half of stakeholders (47%) reported that they will be using more Spring modules in the coming years, an increase of 8 points. For 2022, the top three Spring Projects remain Spring Security, Spring Data, and Spring WebMVC

     

    마이크로서비스를 위한 프레임워크

    The shift to modern architectural styles continues

    어두운 녹색이 2021년 그리고 밝은 녹색 2022년을 의미한다. 작년 대비 크게 변화는 없지만 마이크로서비스에 90% 이상 활용하고 있다. 한편 Serverless의 경우에는 약 5%정도 늘어나게 되었는데 Spring Boot 3 활용을 통해 내년에는 비율이 더 많이 늘어날 것이란 생각이 들었다. 이유는 Spring Native 때문인데 Serverless와 매우 밀접한 관계가 있기 때문이다. 

    API

    OpenAPI and GraphQL are gaining ground

    Spring Native

    Adoption of Spring Native

    Spring Boot3부터 GraalVM을 사용한 Spring Native를 정식 지원한다. Java는 인터프리터 언어라서 실행 환경에서 VM(Virtual Machine을 통해 바이트 코드를 기계어로 번역하고 실행하는 흐름을 갖는다. VM에서는 번역 과정에서 기계어를 cache하는 JIT 컴파일러를 운용한다. 그러다보니 시작 단계에서는 여러모로 실행이 느릴 수 밖에 없는데 Serverless 환경에서 다소 치명적이다. Spring Native는 이러한 단점을 해소하기 위해 아예 실행 가능한 바이너리(최적화된)까지 만들어버린다. 이 방식이 코드 최적화까지 최선인가는 고민을 해봐야겠지만 실행 시간 단축에는 충분히 도움이 될 것으로 보인다. 

    많은 사람들이 압도적으로 Spring native에 대해서 관심이 있었고 2년이내 배포할 계획이 있다고 한다.

    Project loom

    Excitement building for Project Loom

     많은 사람들은 Virtual thread 도입에 긍정적으로 바라보고 있다.  또한 Spring에서도 Virtual thread에 대해 발빠르게 도입하려는 움직임이 있지만 아직 충분하지 않다는 의견이다. 현재로써는 대량의 I/O를 처리하기 위해서는 함수형 프로그래밍에 대한 기본 이해가 필요한 Webflux를 활용해야 하는데(물론 다른 대안도 있지만) 향후 Virtual thread가 안정적으로 확대되고 기술이 성숙해진다면 기존 코드 스타일(blocking I/o)을 유지하면서도 대량의 I/O를 처리할 수 있는 날이 다가올 것으로 생각된다.

     

    Reference

     

    State of Spring 2022

    Download the State of Spring 2022 report to learn what matters most to the Spring community and to get a peek at how Spring continues to evolve.

    tanzu.vmware.com

    반응형

    댓글

Designed by Tistory.