Published on

1월 4주 있었던 일 정리

Authors
  • avatar
    Name
    이건창
    Twitter

Introduction

규칙을 이해하기 위한 공부

이번주는 이것 저것 공부를 시작하기 위한 첫 번째 고민을 하기 시작했다. 책 이름과 주제는 다음과 같다.

요즘 규칙의 중요성을 체감하며 업무는 여러 개의 규칙으로 진행되는 것을 경험하고 있다. 그래서 규칙을 만들고, 규칙을 지키는 것이 중요하다고 생각하며 책을 읽었다. 규칙을 이해하기 전에 왜 지켜야하는지 살펴본다면 규칙의 장점을 최대한으로 높일 수 있다고 생각해서 장점을 고려했다.

헥사고날 아키텍처

나는 이때까지 레이어드 아키텍처만 사용해서 헥사고날 아키텍처에 회의감이 있었다. 성능이 올라가는가, 테스트가 정말 어려워지는가, 동시 작업에 차이가 없는가 이런 질문을 한다면 정말 답할 수 있을까?라는 생각이 들었다.

레이어드 아키텍처와 비교한 헥사고날의 장점은 다음과 같다.

  • 테스트가 쉬워진다.
  • 유스케이스를 표출한다.
  • 동시 작업이 쉽다.

헥사고날 아키텍처를 적용하기 전에 팀에서 토이 프로젝트를 진행하기로 했는데, 어떤 장점에 집중할지 팀 레벨에서 대화를 나눠볼 필요가 있었다. 다음주에 어떻게 진행할지 결정한 후 이야기를 이어나가보겠다.

마이크로서비스

팀 프로젝트에 마이크로 서비스로 구성된 프로젝트가 있다. 프로젝트에 적응하기 위해 테스트 코드를 추가하며 느낀 장점과 단점은 다음과 같다.

  • 느낀 장점
    • 서비스마다 신경써야 할 관심사가 줄어들어서 서비스 단위로 흐름을 이해하기 쉽다.
    • 확장성은 엄청 뛰어나다.
  • 느낀 단점
    • 기능마다 의존되는 영역이 외부 인프라(서비스)가 많아서 기능 단위로 흐름을 이해하기 어렵다.
    • 공통 작업인 경우와 아닌 경우로 개념을 분리하기 어려운게 많다.
    • 공통 작업이 아닌 경우 환경 구성 설정에 신경써야 한다.

책에서 마이크로서비스로 구축 하는 방식이 변경된 이유를 다음과 같이 설명했다.

  • 복잡성이 증가했다.
  • 고객은 더 빠른 출시를 원한다.
  • 성능 및 확장성
  • 고객은 애플리케이션을 항상 사용할 수 있길 기대한다.

책은 유연성, 회복성, 확장성을 위해 마이크로 서비스를 채택해야 한다고 설명했다. 위와 같은 장점으로 마이크로서비스에 가까워지는게 어떨까 생각든다.