이전

리뷰 (2)

한줄평
평점 분포
  • 리뷰 총점10 50%
  • 리뷰 총점8 50%
  • 리뷰 총점6 0%
  • 리뷰 총점4 0%
  • 리뷰 총점2 0%
연령대별 평균 점수
  • 10대 0.0
  • 20대 0.0
  • 30대 0.0
  • 40대 0.0
  • 50대 9.0

포토/동영상 (1)

리뷰 총점 종이책
[도서] 모던 API 아키텍처 설계 전략
"[도서] 모던 API 아키텍처 설계 전략" 내용보기
아마존의 제프 베조스는 2002년 아마존 내부 개발자들에게  훗날 베조스 API 선언(Bezos API Mandate)로 불리는 강력한 지침을 전달합니다. 모든 팀은 데이터를 API를 통해 외부에 노출하고, API를 통해서만 다른 팀과 소통해야 한다는 것, 이를 어길 시 해고한다는 무시무시한 내용의 엔지니어링 지시를 통해 훗날의 AWS를 탄생시키는 기초를 만들게 됩니다. 그러나  API의 설계, 구현,
"[도서] 모던 API 아키텍처 설계 전략" 내용보기
아마존의 제프 베조스는 2002년 아마존 내부 개발자들에게  훗날 베조스 API 선언(Bezos API Mandate)로 불리는 강력한 지침을 전달합니다. 모든 팀은 데이터를 API를 통해 외부에 노출하고, API를 통해서만 다른 팀과 소통해야 한다는 것, 이를 어길 시 해고한다는 무시무시한 내용의 엔지니어링 지시를 통해 훗날의 AWS를 탄생시키는 기초를 만들게 됩니다. 그러나  API의 설계, 구현, 운영이 중요하다는 사실은 이해하지만 현실에서는 시간이 지나면서 엉망이 되어가는 경우가 대부분(?)이란 사실 역시 확인할 수 있습니다. 그래서 리팩토링/리아키텍처링에 엄청난 노력을 허비하게 됩니다. 😑)
이미 시중에는 API 설계, 구현에 대한 책이 여럿이 있지만 아키텍처 관점에서 전반적인 개요와 관련 주제를 아우르는 경우는 드물고 오히려 단편적인 경우에 치우치는 많이 있었습니다. 책의 제목인 "모던 API 아키텍처 설계 전략"은 이 책의 성격을 잘 나타낸다고 생각합니다. 처음에 모던 API만 볼드체로 되어 있어, API 구현에 대한 책이라고 잠시 오해했지만 -_-; 책의 주된 내용은 아키텍처 관점에서의 API 개발과 배포에 초점이 맞추어져 있습니다. (즉, 나무보다는 숲을 보라는 ...) 따라서, 책에는 API 아키텍처에 포함되는 주된 컴포넌트와 각 컴포넌트에 적용되는 다양한 기술에 대해서도 설명도 포함되어 있습니다. 이 책은 아키텍처 이론을 알고 있다면 책의 내용을 이해하기가 더 쉬워지겠지만 (그렇지 않다면 다양한 기술을 다루다 보니 전체적인 맥락의 이해하는데 다소 난관이 있을수도 있습니다.), 이 책을 통해  개발자와 아키텍트는 관심 있는 부분을 살펴보고 좀 더 알고 싶은 기술에 대해서는 레퍼런스를 찾아보는 열정을 어느 정도 필요로 하고 이는 현재의 트랜드를 알고 더 성장하기 위한 성장통과 비슷한 것이 되지 않을까 합니다. 다시 이야기하면, 기존에 아키텍처 관련 내용을 알고 있는 독자라면 좋겠지만 그렇지 않다면 책을 읽기 위해 이 책에 말하는 다양한 주제에 대해 살펴보는 노력이 필요할 수도 있습니다. 그렇다고 꼭 아키텍처 이론을 모른다고 이 책을 읽지 못할 이유도 없습니다. 다만 더 알면 좋을 뿐.. 그래도 책에는 레퍼런스를 위한 많은 링크가 제시되어 많은 도움을 줍니다.^^:


추가로, 책의 챕터 별로 나오는 가이드 라인과 사례 연구는 책에서 제시하는 개념을 이해하는데 상당히 도움이 됩니다. 그냥 내용 위주로 읽는다고 해당 부분을 건너뛰지 말고 천천히 생각하며 읽어보면 책의 내용을 이해하는데 도움이 됩니다. 더불어 API 설계에 관심이 있다면 "OpenAPI와 스웨거를 활용한 실전 API 설계(책만, 2024)"도 함께 읽어보면 좋을 듯 하네요..
r****a 2026.01.21. 신고 공감 2 댓글 0
리뷰 총점 종이책
세계가 만나는 접점을 기준으로 바라보기
"세계가 만나는 접점을 기준으로 바라보기" 내용보기
관점은 세계를 만들고, 세계와 세계가 만나는 곳에는 경계가 생긴다. 정보는 그 경계를 통해 이동하고, 많은 동작은 바로 그 접점에서 일어난다. 그 세계가 우리가 만든 세계였던 때도 있고, 전혀 알지 못했던 세계를 만나게 되는 때도 있었다. 개발자들은 이렇게 살아 움직이는 경계를 API라고 부른다. 이번에 읽은 책, 책만 출판사에서 나온 <모던 API 아키텍처 설계 전략>을 읽은 후
"세계가 만나는 접점을 기준으로 바라보기" 내용보기

관점은 세계를 만들고, 세계와 세계가 만나는 곳에는 경계가 생긴다. 정보는 그 경계를 통해 이동하고, 많은 동작은 바로 그 접점에서 일어난다. 그 세계가 우리가 만든 세계였던 때도 있고, 전혀 알지 못했던 세계를 만나게 되는 때도 있었다. 개발자들은 이렇게 살아 움직이는 경계를 API라고 부른다. 이번에 읽은 책, 책만 출판사에서 나온 <모던 API 아키텍처 설계 전략>을 읽은 후 처음 머리에 떠오른 생각이다.


책의 원제는 Mastering API architecture인데, 제목처럼 API를 중심에 두고, 개발자(생산자/소비자)의 관점, 인프라 엔지니어의 관점, 운영의 관점, 보안의 관점, 아키텍처의 관점으로 나눠서 이야기를 풀고 있다. 자신의 주된 역할을 중점적으로 읽되, 다른 역할의 이야기를 훑어가면서 다른 입장도 이해할 수 있는 계기가 되어 좋았다.


API는 결국 우리가 만들려는 세계(시스템/서비스)의 추상화가 표현된 방식이라 생각한다. 그래서 오히려 다양한 API 설계 방식을 통해 어떤 식으로 바라본 세계인지, 어떤 것이 자주 변하고 어떤 것이 덜 바뀌는지에 따라 생각의 흐름이 달라졌음을 역으로 생각하게 되었다. 예를 들어 리소스를 중심으로 바라보는 관점이 REST를 낳고, 같은 언어(스키마)로 생각을 나눠야 한다는 관점에서 gRPC가 등장했다.


이런 API는 역시 계속 변화할 수밖에 없는데, 이런 변화를 만드는 것이 기술뿐만 아니라 비즈니스 요구사항과 규제 등도 있다는 점을 저자가 이야기하는 게 좋았다.


책 내용은 괜찮은데, 부분 부분 글 표현이 좀 더 매끄러웠으면 좋았겠다는 아쉬움은 있었다.

예를 들어 p.57에서 "기존의 레거시 시스템 상위에 그래프QL을 적용해 복잡도를 제거할 수 있는 퍼사드로 사용하는 것도 가능하지만, 잘 설계된 API 상위에 그래프QL을 적용한다는 것은 퍼사드를 쉽게 구현하고 유지할 수 있음을 의미한다. 그래프QL은 보완적인 기술로 생각하여 API를 설계하고 구현할 때 함께 고려해야 한다. 또한 전체 API 생태계를 구현하는 완전한 방법으로 바라봐도 무방하다."라는 문단이 있다. 내가 이해한 바로는, 이 문단은 기존의 레거시 시스템 위에 그래프QL을 적용하는 퍼사드 구조로 복잡도를 감출 수 있는데, 잘 설계된 API라면 그 위에 그래프QL을 적용하여 퍼사드를 구현하고 유지하는 것이 쉬운 경우가 많다는 점, 그리고  API를 설계하고 구현할 때 그래프QL을 보완적인 기술로 생각할 수도 있지만, 전체 API 생태계를 구현하기 위한 완전한 관점으로 볼 수 있다는 점으로 이해했다. 다만 한 번에 이렇게 이해되지 않아서 조금 고민의 시간을 가졌다.


배포(deployment)와 릴리즈(release)를 따로 구분하자는 소트웍스의 주장을 자세히 설명해 준 섹션에서 CI/CD에 대해 또 다른 관점을 얻었다. 배포와 릴리즈의 관점에 따라 배포 및 기능 릴리즈의 프로세스와 구조, 방식에 차이가 날 수밖에 없겠다. 두 개념을 나눠서 프로세스를 설계하는 것이 맞겠다는 깨달음을 얻었다.


결국 API 아키텍처는 단순한 엔드포인트를 나누는 문제가 아니라 구축하는 시스템이 외부 세계와 어떤 방식으로 관계를 맺을 것인지를 설계하는 일이다. 이 책은 그 관계를 개발, 운영, 인프라, 보안, 비즈니스 변화의 관점에서 훑어보는 그런 책이다.



YES마니아 : 로얄 n**********r 2026.05.28. 신고 공감 0 댓글 0