본문 바로가기
IT/SPRING BOOT

1.1 변천사

by 2T1 2022. 11. 29.

아키텍처의 변화

최근의 웹 개발은 오픈소스를 조합하여 서비스를 출시하는 경우가 많아지고 있음

 

이미지 출처 -  http://blog.goodus.com/179

 

 

서버/클라이언트 개념이 등장하면서 GUI 개발이 본격화

 

소켓통신을 통해 서버와 클라이언트가 통신하는 방식이 주류를 이뤘고

전자거래와 웹이 인기를 끌면서 데이터는 DB에 저장, 서버 언어들로 데이터를 전달하여 클라이언트에서 데이터를 처리하는 방식으로 처리

 

IDC (Intertnet Data Center)에 물리장비로 직접 설치, 운영하는 방식은 성능은 좋지만 서비스 이용자 수의 변동이 큰 서비스(SNS, 게임 등)는 유지하기 까다로움 → Cloud 서비스를 활용

 

 

https://library.gabia.com/contents/infrahosting/1311/

 

 

 

인프라 변화에 따른 기술의 변화

  메인프레임 서버/클라이언트 클라우드
인터페이스 터미널 웹 브라우저 / GUI 웹 서버 (iis, apache, tomcat) 인스턴스 또는 컨테이너
주언어 코볼, 포트란 델파이, C++, 펄 PHP, JSP, ASP 파이썬
목적 B2B B2C B2C B2C
플랫폼 지원 수준 - 단일 접속
- 순차 배치 처리
클라이언트 설치를 통한 접속 지원 - 웹 서버에 의한 접속 처리
- 별도의 데이터베이스 서버 활용 빈도수가 높아짐
물리 설치 없이 인스턴스 형태로 자유롭게 확장 가능

 

 

 

스프링 프레임워크의 변화

톰캣 서버가 버전업 되면서 성능이 좋아지고 스프링 프레임워크도 2.5 버전 이후로 안정화 되면서 스프링 프레임워크 + 톰캣 조합이 표준처럼 쓰이게 됨.

스프링의 초기 콘셉은 가벼움이었으나 시간과 기능이 늘어나며 점차 무거워 지고 이것을 해결하기 위해 스프링 부트를 만들어냄.

 

 

AutoConfigure를 통해 스프링 MVC 모듈의 DispatcherServlet설정, JDBC DataSource 설정 등 웹 개발에 필요한 인프라성 코드를 제공. 복잡한 XML 설정 없이도 개발을 시작할 수 있음.

또한 임베디드 톰캣으로 main 메서드로 실행 가능.

클라우드 환경에서도 별도의 작업 없이 스프링 부트를 사용하면 시간 단축할 수 있다.

 

 

스프링 외에는?

최근에는 작은 규모로 빠르게 서비스를 런칭하는 경우가 많아졌고 클라우드 사용 빈도가 높아졌음.

별도의 애플리케이션 서버 설치 없이 웹 서버만으로 클라우드 서비스를 이용해 쉽게 확장할 수 있고, 스켈레톤을 제공히여 개발을 좀 더 빠르게 시작하는 것을 선호하게 됨. ( ex. RubyOnRails, Django … )

'IT > SPRING BOOT' 카테고리의 다른 글

1.3 WAR file  (0) 2022.12.02
1.2.2 클래스 로더  (0) 2022.12.01
1.2.1 웹 애플리케이션 컨테이너  (0) 2022.11.30