- 애플리케이션을 독립적이고 수명이 짧은 서비스로 분해해야 한다. 서버리스 시스템은 애플리케이션의 구성요소를 별도의 기능으로 실행한다. 많은 경우, 이는 자연스럽지 않은 동작이다.
- 결로넞긍로 서버리스 애플리케이션 역시 스테이트리스(Stateless)라야 한다. 이는 API 관리와 같은 서비스를 지원하는데, 서버리스 애플리케이션의 성공에 핵심적인 요소이다.
- 보안은 시스템 전체에 적용해야만 한다. 보안은 서버리스 애플리케이션을 설계하고 구축할 때 가장 높은 우선순위를 부여해야 한다.
- 테스트 자동화를 고려하라. 특히 유닛 테스트에 중점을 둔다. 서버리스 애플리케이션이 수명이 짧은 기능과 서비스의 집합체라는 것을 생각하면, 테스트 역시 같은 방식으로 이루어져야 한다. 서버리스 개발 환경을 위한 테스트 서비스를 자동화하고 애플리케이션 전체를 테스트하는 것보다 기능을 독립적으로 테스트하는 것이 더 중요하다는 것을 알아야 한다.
서버리스 시스템에 애플리케이션을 잘 배치하는 비법은 서버리스가 무엇이고 어떻게 해야 온전하게 이점을 누릴 수 있는지를 이해하는 것이다. 사람들은 모든 애플리케이션 아키텍처 경험을 모든 종류의 개발 기술에 적용하는 경향이 있는데, 이런 식으로는 해당 기술을 효율적으로 사용하지도 못하고 기대하는 ROI를 얻지도 못한다. 심한 경우 적자 ROI를 얻기도 하는데, 최근 들어 이런 사례가 증가하고 있다.
아무쪼록 3분을 들여 이 글을 읽은 보람이 있기를 바란다. editor@itworld.co.kr