Skip to content

Latest commit

 

History

History
47 lines (31 loc) · 2.02 KB

ServerArch.md

File metadata and controls

47 lines (31 loc) · 2.02 KB

서버 아키텍쳐

2주차 보고 다시정리하자

웹 서비스 아키텍쳐

서버리스 아키텍쳐

BaaS(Backend as a Service), FaaS(FUntion as a Service)

  • 서버로직을 별도로 써드 파티 업체가 구현한 것을 쓰거나, 코드는 작성하지 않지만 그 실행은 외부업체를 통해하는

  • 장점

    • 서버가 정말 필요한 경우에만 사용하여 비용을 절감할 수 있다.
    • 코드 외적인 내용을 처리할 필요가 없어서 운영 비용을 절감할 수 있다. 스케일을 키우는데 걱정할 필요가 없다.
    • 불필요한 작업(서버 구성, 서버 관리)을 줄일 수 있다.
  • 단점

    • 제공되는 환경 내에서만 일을 처리할 수 있기 때문에 튜닝이나 외부 라이브러리 등 접근 측면에서 제한이 있을 수 있다.

모노리틱 아키텍쳐

여러서버를 한대의 서버처럼 사용

  • 장점
    • 서버를 구성하는데 간단
    • 기술 스택이 통일되어 있기 때문에 개발하기도 쉽다
    • 하나의 어플리케이션만 배포하면 된다
      • 관리하기 쉬워짐

마이크로서비스 아키텍처

  • 장점

    • 제품이 하나의 기술, 버전에 묶여있지 않아도 된다.
    • 도메인별 어플리케이션들이 느슨하게 연결되어있기 때문에 추후 아키텍쳐 변화에 유연하게 대처할 수 있다.
    • 여러 사람들이 큰 규모의 제품을 개발할때 각 서비스간의 스펙만 맞추고 개발을 진행하면 되기때문에 편하다.
    • 전체 배포를 하지 않아도 되기 때문에 배포하기가 더 쉬워진다.
    • 페이스북 등 대형 서비스들도 하루에 수십, 수백번 배포가 가능한 이유다
  • 단점

    • 복잡도가 올라간다.
    • 규칙 없이 막 사용했다간 사람보다 더 많은 기술 스택이 쌓일 수 있다.
    • 서비스들간 연동 테스트하기가 힘들다
    • 테스트, 배포, 모니터링 자동화가 잘 되어있어야만 가능하다.