독서기간_2022년 12월 10일 ~ 2022년 12월 23일
저자_한정헌, 유해식, 최은정, 이주영
Amazon과 Netflix가 빠르게 성장할 수 있었던 이유는 무엇일까?
그것은 민첩한 CI/CD에 있다고 말한다. 마이크로하게 서비스를 개발한 후 배포와 통합을 자동화하여 애자일하게 대응할 수 있다. 개발 생태계가 온 프레미스(On-Premise)에서 클라우드로 변화하고 있다. 이 책에선 기존 모놀리식 아키텍쳐에서 MSA로 구조를 변화시키는 이유와 MSA가 어떻게 구성되어 있고 개발하는가를 설계 단계부터 CI/CD까지 전체 파이프라인에 걸쳐 설명한다. DDD를 적용한 MSA 서비스를 배포 라인까지 직접 구축하는 예제 코드도 제공한다.
CQRS 패턴을 적용해 읽기 전용인지 쓰기도 가능한지 서비스를 분리하고 각각 알맞는 언어와 프레임워크, 데이터베이스를 선택한다. MSA에서 도메인을 아주 조심스럽게 다뤄야 한다. DDD를 적용하지 않으면 MSA를 구축하는 의미가 없어지기 때문이다. 온갖 곳에서 쿼리를 남발하는 순간 유지보수가 힘든 스파게티 코드가 되고 말아버린다. MSA는 DDD를 더욱 쉽게 적용할 수 있는 환경이다. 모든 테이블이 연관 되어 있는 모놀리식 아키텍처와는 달리 마이크로 서비스는 폴리그랏하게 개발할 수 있다. join을 복잡하게 사용해 데이터를 조회하던 과거와 달리 API만으로 데이터를 요청할 수 있으니 서비스의 관심사가 작아지고 도메인만의 고유성이 유지된다.
어쩌면 클라우드도 한 순간일지 모른다. 앞으로도 생태계는 계속 진화할 것이고 뒤쳐지지 않으려면 지속적인 관심과 기민한 태도를 가져야 한다. 그에 따라서 개발자에게 필요로 하는 역량도 달라진다. 이전엔 대규모 서버와 데이터베이스를 모두 관리할 수 있는 능력을 요구했다. 복잡한 쿼리문을 남발하고 '혼자만 알아 볼 수 있는 코드'를 짜도 상관이 없었다. 서비스가 마이크로 단위로 분해된 현재엔 개발 방법도 팀 구조도, 문화도 달라졌다. 개별 지식을 아는 것에 앞서 변화 흐름을 이해하기 위해 노력해야 한다. 왜 그 변화가 필요하게 됐는지 또 어떤 방향으로 나아가는지를 읽을 수 있는 개발자가 되자.
'독서 > 개발' 카테고리의 다른 글
[서평/23-7] 함께 자라기 - 애자일로 가는 길 (0) | 2023.01.14 |
---|---|
[서평/23-6] Do it! HTML + CSS +자바스크립트 웹 표준의 정석 (0) | 2023.01.11 |
혼자 공부하는 컴퓨터 구조 + 운영체제 - 운영체제 편 (0) | 2022.12.31 |
혼자 공부하는 컴퓨터구조 + 운영체제 - 컴퓨터구조 편 (0) | 2022.12.26 |
후니의 쉽게 쓴 CISCO 네트워킹 vol.2 (0) | 2022.12.22 |