서버리스 컴퓨팅이란 단어를 보면 서버가 없는 컴퓨팅이란 느낌을 받으실 수 있다고 생각합니다. 왜냐하면 단어 자체가 ‘Server(서버) + Less(가 없는)’이라는 의미를 가지고 있으니까요. 하지만, 사실은 서버를 사용합니다. 일반적인 서버의 경우 하루 종일 서버가 켜져 있어야 합니다. 즉, 필요가 없을 때도 계속 서버의 자원이 할당되고 구동되어 있어야 한다는 것이죠. 이에 반해 서버리스 컴퓨팅은 서버가 필요할 때만 해당 처리에 필요한 자원을 할당받는 것입니다. 예를 들어, 편의점에서 24시간 내내 계산대에 사람이 서 있는 것이 기존 서버 사용 방식이라고 보시면 되고, 편의점에 고객이 들어와서 계산할 때만 사람을 호출해서 계산을 하게 하는 것이 서버리스라고 생각하시면 됩니다. 사실 클라우드 업계로 이직하고 이 분야에 대해 배우면서 가장 생소하면서도 재밌다고 생각했던 것이 바로 이 서버리스 컴퓨팅입니다. 이런 서버리스 컴퓨팅 기능을 주요 CSP들에서도 제공하고 있습니다. AWS의 AWS Lambda, Azure의 Azure Functions, Google의 Cloud Functions 등이 이에 해당하죠. |
그럼, 서버리스의 장점은 어떤 것이 있을까요?서버의 관리가 필요하지 않습니다. 필요한 만큼만 서버를 사용하기에 비용을 절감할 수 있습니다. 서버리스 아키텍처는 기본적으로 확장이 용이합니다. 빠른 배포 및 업데이트가 가능합니다. 코드가 엔드 유저에게 가까운 곳에서 실행될 수 있어 지연 시간이 줄어듭니다. |
하지만, 서버리스에 장점만 있는 것이 아닙니다.위에 말씀드린 서버리스의 장점을 보면서 바로 단점을 파악하실 분들도 있으실 것이라 생각합니다. 장점이 있으면 단점이 있는 것이죠. 그럼 어떤 단점들이 있을까요? 테스팅과 디버깅이 어려워질 수 있습니다. 보안에 대한 새로운 고민이 필요합니다. 오래 실행되는 프로세스에는 적합하지 않습니다. 성능 관련 문제가 발생할 수 있습니다. 특정 CSP(클라우드 공급 업체)에 종속될 수 있습니다. |
서버리스의 이런 단점들로 인해 많이 사용하지 않을 것으로 생각되지만, 이런 서버리스 기능의 단점을 보완할 수 있는 툴들이 나오고 있는 점을 비추어 볼 때 앞으로 더 유용한 방식으로 적용되지 않을까 하는 생각이 듭니다.
MSA(마이크로 서비스 아키텍처), Micro SaaS, 서버리스에 대해서 생각하다 보니 뭔가 유사한 점들이 많다는 생각이 들었습니다. 그리고 이런 것들의 핵심에는 빠르게 적용하고 빠르게 고객들의 반응을 보고 빠르게 개선해 나간다는 애자일의 의미가 포함되어 있는 것이 아닌가 하는 생각도 듭니다. |
클라우드나 SaaS와 관련하여 다른 궁금한 점이 있으시면 언제든지 저희에게 문의해 주세요.
저희에게는 클라우드에 대한 다양한 정보와 경험, 그리고 도구가 있습니다.
|