엔지니어링


아담한 AWS re:invent 2022 참관기

한국신용데이터
2022-12-23
조회수 67


한국신용데이터에서 마켓플레이스(커머스) 서버개발을 맡고 있는 아담입니다.


저는 시간이 지날수록 개발자와 DevOps 엔지니어의 경계가 희미해져 가는 것을 느낍니다.

저 또한 한국신용데이터에서 서버 개발자로 일하면서 좋은 서버 개발자가 되기 위해서는 클라우드에 대한 이해가 꼭 필요하다고 생각했고

이번에 AWS MSP 파트너인 메가존과 회사의 지원으로 AWS re:invent 에 참가해

클라우드 서비스에 대한 이해를 더 높일 기회를 얻게 되었습니다.


AWS re:invent 에서는 1주일간 2천개가 넘는 강연 세선이 진행되었고,

서버 개발자인 저는 주로 Modern & Serverless Architecture 주제를 주의깊게 보았습니다.


https://www.youtube.com/watch?v=SbL3a9YOW7s

그 중 첫번째로 추천드리고 싶은 세션은 위 영상입니다.


이 세션에서는 고전적인 동기식 요청-응답 모델을 시작으로


위와 같이 다양한 비동기 이벤트 모델을 제시하며 각각 모델의 장단점과 사례를 제시합니다.


이 과정에서 SQS와 Lambda 등 AWS의 다양한 솔루션을 EventBridge 를 통해 연결할 것을 제시합니다.

결국 하나의 WAS에서 복잡하고 무거운 비즈니스 로직을 처리하던 구조에서 벗어나 개발 편의성과 컴포넌트간 디커플링(+성능) 이라는 이점을 얻는 것이 서버 개발자가 AWS 를 통해 얻을 수 있는 장점의 하나입니다.


Get Adam’s stories in your inbox

Join Medium for free to get updates from this writer.


Subscribe

하지만 이 중 한국에서 주로 사용하는 스프링 프레임워크를 Lambda 로 실행하는 데는 다양한 어려움이 따른다는 점은 경험해 보신 분이라면 모두 알고 있습니다.

미국의 카드 및 은행사인 Capital One 도 이런 문제에 당면하고, 아래 세션에서 이에 관한 다양한 경험을 공유합니다.


https://www.youtube.com/watch?v=NZVNAEK6shc

이 중 가장 주의깊게 본 것은 SnapStart 를 이용해 스프링 부트의 긴 컨텍스트 로드 시간을 단축하는 부분입니다.

SnapStart 는 컨텍스트 로딩이 완료된 직후의 스냅샷을 찍고, 람다 트리거시 스냅샷을 복원해서 바로 실행하는 기술입니다.

이를 통해 1000ms 이내의 빠른 Cold Start time 을 가져갈 수 있었습니다.
(물론 이것도 경우에 따라 충분히 빠르지 못할 수 있습니다.)

하지만 스프링에서 이 기능을 이용할 때 주의할 점도 있습니다.

대표적으로 Cold start 마다 DB 커넥션을 재구성하는 것과, Random 을 생성할 때 snap-safe 를 확인하는 것입니다.

또한 이 세션에서는 이외에도 람다를 이용한 서비스 구성에서 해야할 것과 하지 말아야할 것 등을 제시합니다.

물론 위에서 제시한 아키텍쳐와 솔루션은 모든 문제를 해결하기 위한 Silver bullet이 될 수는 없고,

각자 회사가 당면한 사업과 기술적 요구사항에 맞추어 다양한 비용을 계산한 후 도입해야 할 것입니다.


이번 컨퍼런스는 기술적인 경험도 물론 좋았지만, 다른 개발자들과의 교류가 가장 큰 경험이였습니다.

컨퍼런스홀과 로비에서 우연한 기회로 해외의 개발자들과 소통하고,평소에 알지 못했던 다양한 타사 사례를 접하면서

앞으로 어떻게 자사 서비스를 어떻게 고도화하고 발전시켜 나갈지 고민하는 계기가 되었습니다.

여러분도 아래 이벤트 유튜브 링크를 통해 이런 경험을 간접적으로 느껴 보시기 바랍니다.

https://www.youtube.com/watch?v=RfvL_423a-I&list=PL2yQDdvlhXf_hIzmfHCdbcXj2hS52oP9r








0 0

월간 인기글