본문 바로가기

책을 보다

[리뷰] 애플리케이션 플러스 <클라우드 네이티브 애플리케이션 디자인 패턴>

클라우드 환경에서 애플리케이션이 갖추어야 할 일곱 가지

보통 디자인 패턴 하면 애플리케이션에서 다양한 요구사항에 대응하는 모습을 떠올립니다. 하지만, 이 책에서 말하는 디자인 패턴은 그 대상이 조금 다릅니다.

 

애플리케이션 기능을 위한 디자인 패턴이 아니라 클라우드 환경에서 운영을 위한 개발 패턴을 얘기합니다. 예를 들어, 익히 알고 있는 디자인 패턴이 집안에 방과 거실, 부엌을 배치하고 동선을 짜고 편의성과 뷰를 위한 고민이었다면, 이 책에서 말하는 디자인 패턴은 아파트 단지에서 동의 배치, 주차 공간과 동선, 세대 간 통신 같은 인프라와 커뮤니케이션 방식을 통해 단지 입주민들이 원활하게 잘 지낼 수 있는 방법을 고민합니다.

 

클라우드에서 움직일 애플리케이션이 필요로 하는 것들이 들어 있습니다. 애플리케이션 자체를 만드는, 코드를 위한 디자인 패턴은 없습니다.

 

일곱 가지 패턴을 알려줍니다.

클라우드 환경으로 인해 기존에 없었던 비즈니스 기능별로 독립하여 만들어진 애플리케이션이 만들어지기 시작했습니다. 이런 애플리케이션들은 다른 서비스와 어떤 식으로든 연결해야 합니다. 그리고 클라우드 환경이 제공하는 다양한 장점들을 사용하기 위해서는 느슨하게 연결할 수 밖에 없습니다.

굳이 클라우드 환경이 아니더라도 많은 애플리케이션은 다른 애플리케이션이나 서비스와 어떤 식으로든 연결하여 움직입니다. 다만, 지금까지는 많은 부분을 서버 인프라에서 지원했기 때문에 그 정도만으로도 웬만한 환경에서는 크게 신경 쓰지 않아도 되었던 부분입니다.

클라우드 네이티브 애플리케이션은 이러한 서버 인프라에 맡겨졌던 기능 가운데 몇 가지를 수면 위로 끌어올렸습니다. 애플리케이션과 같이 고민해야 하는 상황이 된 것입니다. 빠른 대응, 경제성, 확장성이라는 클라우드 가진 장점으로 인해 서버, 애플리케이션에서 클라우드, 애플리케이션, 패턴으로 애플리케이션 환경이 바뀌었습니다.

이 책에서는 그런 패턴들 가운데 일곱 가지를 살펴봅니다.

통신, 연결, 구성, 데이터, 이벤트, 스트림 처리, API 관리 및 사용

 

구성도 패턴을 이루고 있습니다.

많은 그림을 사용합니다. 패턴과 아키텍처가 가진 특성으로 인해 설명이 길어지거나 다른 부분과 혼동을 일으킬 수 있습니다. 다양한 이미지를 사용하여 설명한 패턴의 이해를 돕고 있습니다. 이미지를 통해 설명을 보완하고, 이미지를 설명하며 패턴을 알려줍니다.

  • 어떻게 동작할까요
  • 어떻게 사용할 수 있나요
  • 고려해야 할 사항들
  • 관련 패턴들

이렇게 반복하는 패턴에 익숙해지면 책에서 설명하는 패턴에 조금 더 쉽게 다가갈 수 있습니다.

 

 

 

각 섹션 마지막에 정리를 하고 있습니다. 주제별로 다양한 패턴과 기술을 설명하고 있기에 섹션이 끝나갈 쯤이면 뭐가 이렇게 많은지 정신없을 수 있습니다. 그럴 즈음에 앞서 풀어놓았던 패턴이나 기술을 표를 이용하여 깔끔하게 정리해 줍니다.

사용하면 좋은 경우와 사용해서는 안 되는 경우, 사용할 때 얻을 수 있는 이점을 한눈에 볼 수 있습니다. 그리고 각 장을 마무리하며 그 장에서 했던 얘기를 정리합니다.

 

 

 

마이크로서비스나 클라우드 네이티브 애플리케이션이 아니라도 알아둘 가치가 충분한 내용들입니다.

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

반응형