마이크로서비스 아키텍쳐 구축
마이크로서비스 아키텍쳐 구축
접하게 된 계기
맡은 작은 프로젝트가 종료되고 다른 프로젝트에 합류하기 전 까지 시간이 좀 남게되었다. 이 시간동안 무엇을 하면 좋을까 고민하고 서칭해보다가 Hashicorp Vault
라는 오픈소스를 알게되었다. 마침, 사내에서 작업을 할 때 여기저기 퍼져있는 각종 VM과 DB에 대한 접속정보를 얻는것이 불편하고 신뢰할 수 있는 중앙 저장소가 있으면 좋다고 생각하였다.
이부분에 대해서 조언을 구하고자 평소 클라우드 서비스에 관심이 많은 개발자분에게 물어보았는데, 어떤 책의 PDF에서 검색을 하시더니 “음… 이 책 내용에서 한 번 언급되기만 해서 저도 자세한거는 모르겠네요” 라고 하셨다. 그 순간 그 책 내용이 너무 궁금해져서 질문을 몇개 하였더니 마침 자신이 책을 다 읽었는데 빌려주겠다는 말씀을 하셨고 책을 받아서 약 2주정도 시간을 들여 천천히 읽게 되었다.
책에 관하여
이 책을 읽으면서 든 셍각은 마이크로 서비스를 시작하기 위한 개론서
라는 느낌을 받았다.
마이크로 서비스라는 말을 들으면 머리로는 어느정도 이해가 되지만 시작하자라는 생각을 하면 막막하기만 하다. 어디서부터 분리를 해야할지 분리된 서버는 어떻게 관리를 해야할지 이러한 것들을 효율적으로 운용/관리하기 위해서는 무엇이 필요할지 알아야 할 것들이 너무나도 많다. 하지만 한번에 시작하기에는 너무 많은 작업이고 경험해본 사람이 곁에 없으면 힘든 여정이 될 것이라는 느낌이든다. 이 책은 이러한 고민을 어느정도 없애준다.
어느정도라고 한 이유는 전체적인 내용을 쓱 훝고 지나가기 때문이다. 저자는 독자가 필요한 내용을 캐치하고 그에 관련된 것을 별도로 공부하기 위한 발판으로 삼으라고 책을 집필하였다는 생각이 든다. 실제로 알고있던 내용이 나오면 굉장히 반가워서 무슨 내용이 더 있을까하고 설레였는데 챕터를 다 읽고 나면 “에게? 이게 끝이야?“라는 생각이 든다. 어느정도 기반 지식이 있는 사람보다는 마이크로 서비스에 대해 아예 모르거나 나처럼 부분부분 조금씩 알고 있는 사람이 읽으면 좋다는 생각이 들었다.
책을 다 읽고 난 뒤
처음에는 가벼운 생각으로 한번 훑고 지나가는 책이라고 생각하였다. 그래서 보통 책을 사서 직접 소장하는 편인데도 책을 빌려서 봤다. 다 읽고 난 다음에는 사기에는 애매한데 있으면 좋을 것 같다는 느낌을 받았다. 매 상황마다 현재 우리에게 필요한 것이 무엇인지 고민하는 시간을 줄여줄 수 있을 것 같다는 생각이 들었지만, 자주 볼 것 같다는 생각이 안들었기 때문이다. O’reily의 책이기 때문에 쉽게 접할 수 있다는 점도 있었다.
개인 생각
마이크로 서비스 아키텍쳐는 아직까지는 완벽한 아키텍쳐는 아니라는 생각이 든다. 하지만, 유연하고 확장성있다는 것만은 확실하다. 만약, 서비스가 어느정도 규모가 되어서 마이크로 서비스로 전환할까 라는 생각이 들면 그 때가 전환시기라고 생각한다. 감당하기 더 힘들어지기전에 좀 더 유연한 설계로 옮기는 것이다. 물론, 마이크로 서비스를 한다고 바로 눈에 띄는 효과를 보기에는 어렵다. 바로 효과가 보인다면 그건 아마도 기존에 많은 문제가 꼬여있는 거대한 시스템이지 않았나 싶다. 마이크로 서비스는 즉각적인 효과를 볼 수 있는 마법이 아니고 오랫동안 더 달릴 수 있도록 도와주는 눈에 보이지 않는 서포터 느낌이다. 그리고 해당 책에서 마이크로 서비스에 대한 문구 중 가장 맘에 들었던 문구는 마이크로 서비스는 2주 안에 다시 만들 수 있는 서비스
이다. 너무 크지도 그렇다고 작지도 않지만 한번 갔던 길을 다시 가는것은 더 적은 시간이 들기 때문에 2주
라는 기준이 적당하다고 느꼈다. 물론 실제로 한다면 어름도 없는 이야기일거 같다. 숙련된 개발자라면 가능하겠지만 나는 아직 미성숙하고 배우고 경험해야 할게 많은 풋내기 개발자이기 때문이다.
여담
책을 사기에 애매해서 E-book을 알아보았다. 지금까지 종이책을 좋아해서 무조건 직접 구매해서 책장에 꽂고 그 책들을 보고 흐뭇해 하였는데, 책이 점점 많아질수록 다시 봤던 책을 들여다 보는 일도 많아지고 구매하는 비용도 부담되었기 때문이다. 그리고 입사하고 보니 많은 분들이 E-book을 통해 공부하시는 모습을 보고 생각보다 편해보인다는 느낌을 받았기 때문이다. 처음에는 리디북스나 밀리의 서재같은 곳을 알아보다가 O’reily 구독에 대해 알게 되었다. 일명 곤충책 또는 동물책이라불리는 책들을 대부분 볼 수 있는 구독권은 매력적이였고 심지어 집필중인 책도 볼 수 있었다. 내가 방금 읽은 Building Microservices도 현재 2판을 준비중이여서 중간 내용을 확인할 수 있었다. 그래서 고민없이 결제했다. 아직은 원서로 책을 읽는게 익숙하지 않아서 거부감도 많이들고 잘 할 수 있을지 걱정되지만, 어쩌겠는가 난 이미 결제했는걸. 남은 기간동안에 결제한 비용이 아깝지 않게 조금씩 읽어봐야겠다.