monolithic vs soa vs microservices

김성지·2022년 7월 23일
0

그냥공부

목록 보기
1/10

MONOLITHIC ARCHITECTURE

장점

  • 개발 간단함

  • deloy도 간단하다
    -- smaller teams and applications 에서 !! --

  • Fewer cross-cutting concerns
    -- security,logging,auditing 등등 single place 에서 관리하니깐--

  • performance 가 좋다( some scenarios )
    -- 모든 비즈니스 로직이 same server에 있으니깐 other servers 와 communicating 할 필요가 없다 no network latency 임 --

단점

  • 새로운 기술을 adopt 하기 힘들다.
    -- 예를 들어 loans 부서가 기술 업그레이드 하려고 하면 다른 부서들도 참여해야됨 --

  • Limited agility
    -- 변화 성능업그레이드 한곳에 다 clubbing 되어있어서 힘들다 --

  • single code base 라서 유지보수가 너무 힘들다.
    -- human being 이라면.. entire code 와 easy task가 힘듬 --

  • 사소한 update 그리고 feature development(기능개발) 가 항상 full deployment 를 수반한다.
    -- 당연하다! --

큰조직에서는 너무 힘들어서 SOA 로 움직였다.

SOA ARCHITECTURE

(soa의 example 이다 )

보면은 UI와 backend dependency 사라진 걸 볼 수 있다.

Enterpise Service Bus가 cross cuttings 를 전부 handle하게 된다.

백엔드 분리 아직도 안되었다.

결국엔 single db에 기대게 된다.

장점

  • 서비스 재사용 가능

  • 유지보수 더 나음

  • higher reliability

  • Paralle development

단점

  • 관리하기 복잡함
  • investment costs 가 높음 (db한개)
  • extra overload

MICROSERVICES ARCHITECTURE

small small services 로 나눈다!!..

너무 복잡한데 spring cloud projects 를 활용하자!

단점보다 장점이 더 크다

장점

개발 테스트 배포 쉬움

애자일력 증가

수평적으로 스케일 할 수 있음?

parallel 개발 가능

단점

복잡함

infrastructure 오버해드 (health체크..)

보안 concerns

문제들을 극복 가능하다..! 그러면 단점보다 장점이 더 커진대요

vs vs

평행적 개발, 애자일리티, 스케일 업 다운, 사용성, 복잡성과 operation 오버헤드, 보안문제 및 퍼포먼스

0개의 댓글

관련 채용 정보